CS2 Skin Liquidity: How Long Until It Actually Sells
A working method for judging skin liquidity: sales volume, listing count, bid-ask spread and price age. How to tell a liquid item from dead stock before you buy, and how trade hold and fees change the real time to sell.
An inventory valuation is a number that feels good to look at. A sale is an event that either happens or does not. Liquidity sits between the two: the ability of an item to turn into money within a reasonable time and without giving up price. It never shows up on a price list, but it is what decides whether your profit is real or drawn on paper.
This article is not another take on how "popular things sell better". It is a method: which four numbers to look at, what each of them means, where to find it, and how to assemble them into an honest answer to "how many days until this thing sells, and how much lands in my pocket".
A working definition: liquidity is not about price
An item's liquidity answers three questions at once, not one:
- Is there a buyer at all — how many real trades go through the item per day, per week, per month.
- How deep the demand is — one buyer or a dozen, and what happens if you bring five copies to market instead of one.
- What speed costs — the discount you have to give up to sell today rather than next month.
A liquid item: dozens of trades a day, the best bid close to the median of completed sales, the listing gone in hours. Dead stock: one trade a week, a bid a third below the median, and a time to sell of "whenever".
Why "expensive" does not mean "liquid"
This is the single biggest mix-up in the head of most inventory holders. Price and liquidity are independent axes, and they routinely point in opposite directions.
An expensive item has fewer potential buyers by definition: the circle of people ready to put down four figures for a knife is orders of magnitude smaller than the circle buying a common AK for twenty dollars. The higher the tag, the thinner the layer of demand. At the very top of the market — rare patterns, Katowice crafts, exotic knives — the buyers may literally be a handful of people worldwide, and they are not sitting there with an open wallet around the clock.
Add a technical limit: Steam caps a listing at roughly $1800 and a wallet balance at roughly $2000. Anything above that physically cannot trade on the deepest market there is — it moves to third-party venues and direct deals, where demand is many times shallower.
The reverse holds too. A cheap item can be extremely liquid: cases, common guns in common conditions and popular stickers move in bulk. Five dollars you get within the hour is more real money than five hundred you will "get" someday.
An expensive item is a price somebody put on it. A liquid item is a price somebody pays for it. The two match far less often than you would think.
The method: four signals and a table
A liquidity read is assembled from four independent signals. None of them answers the question alone — all four lie, but they lie in different directions, and together they give a fairly accurate picture.
1. Sales volume over 24 hours and over a week
The base signal: how many copies of the item actually changed hands. The key word is actually. The number of active listings and the number of units sold are different quantities: the first shows how many people want to sell, the second how many people bought. A thousand listings against three sales a week is not a bustling market, it is a queue of people trying to get out.
Daily volume is noisy: weekends, majors, updates, unlocks coming off hold. So you look at two windows at once — 24 hours and 7 days (30 is better). The gap between them is informative in itself: if the weekly volume is decent and the daily one is zero, the item trades in bursts, and your listing may land in a lull.
2. Number of active listings (queue depth)
Volume tells you how much the market eats per day. The listing count tells you how many people are standing in the queue ahead of you. The ratio of those two numbers is a rough time to sell: if an item has 60 listings and 10 units clear per day, your listing at the average price sells around day six. Want it faster — move to the front of the queue, which means cutting the price.
That is exactly how SteamAnalyst computes it: their "time to sell" is the number of listings on the reference marketplace divided by the units that marketplace clears per day (on 30-day data). The method is crude but honest, and it is easy to reproduce by hand on any venue.
3. The gap between the best buy and sell price (bid-ask spread)
The most underrated signal. The best bid is what somebody will take the item for right now, no waiting. The best ask is what it is currently offered at. The distance between them is literally the price of your urgency, expressed as a percentage.
- On a liquid item the spread is tight: dozens of people work it, and any crack closes within minutes.
- On a thin item nothing bounds the spread, and losing a third of the price is routine.
- On dead stock there may be no bid at all. Then the item's "price" exists only in the form of your own listing — which is to say, your own wishful thinking.
The same SteamAnalyst uses the spread as a penalty multiplier: a wide gap can lower a liquidity score but never raises it. The logic is right: a tight spread on zero volume means nothing, while a wide spread on heavy volume is already a warning sign.
4. Price age
A price collected three days ago is not a price, it is a memory. On thin items a quote can go stale for weeks simply because no trades happened. So every number needs a timestamp, and a buy/sell pair is only as alive as the older of its two prices.
The practical consequence: if an item shows a beautiful spread but one of the prices was last updated the day before yesterday, you are not looking at an opportunity — you are looking at the trail of one somebody already took.
| Signal | What it means | Where to look |
|---|---|---|
| Sales in 24 hours | Whether there is a market right now; how many copies it eats per day | The liquidity column in our table (the "time to sell" badge); Steam volume on the item card |
| Sales over 7 and 30 days | Durability of demand, corrected for weekend noise and unlocks | Completed-sales stats (7/30/90-day windows) on the item card |
| Active listing count | The length of the queue ahead of you; combined with volume, gives time to sell | The marketplace listing page: the listing counter for that exact condition |
| Bid-ask spread | The fee for being in a hurry; how much you lose by selling today | Steam: best buy order against the lowest listing. Third-party: instant sell against the P2P price |
| Price age | A live quote, or the trail of an opportunity that closed long ago | The price freshness column in the table (based on the older of the pair) |
| Median spread across venues | How well defined the item's "fair" price is at all | Steam / Buff163 / CSFloat median comparison on the item card |
Where our numbers come from
Straight talk about sources, because a method without sources is just an opinion.
Our liquidity is built on Skinport completed-sales statistics: median and volume over 24-hour, 7, 30 and 90-day windows across roughly 25,800 items. Those are sales, not listings. The second layer is Steam daily volume — it covers only the liquid top of the catalogue (on the order of a thousand items per collection cycle), but it is the deepest market for most positions.
The caveat we are obliged to state: one marketplace's volume is one marketplace's volume, not the whole market. An item that crawls on Skinport may move briskly on Buff. So our liquidity badges are a ranking and an order of magnitude, not a promise of a specific sale date.
For comparison: Pricempire describes its Liquidity Score as a composite of market depth, listing count, the gap between buy and sell prices, and Steam volume, and for expensive items that do not fit under the Steam cap it leans on Buff163 data. The set of inputs is the same; their pages are closed to automated reading, so the details of the scale are restated from the published methodology rather than from a data pull.
The scale: sales per day to time to sell
Our table converts sales volume into a "time to sell" badge on this ladder:
| Sales per day | Badge | What it means in practice |
|---|---|---|
| 20 and up | under an hour | Mass-market item, tight pricing, you can exit at any moment |
| 4–20 | 1–6 hours | Normal liquidity, the urgency discount is minimal |
| 1–4 | 6–24 hours | Workable, but a large position has to be broken up |
| Under 1 a day, but at least 1 a week | 1–7 days | Thin: an urgent sale only happens at a discount |
| Under 1 a week | over 7 days | Dead stock, the price is close to notional |
| No sales data | no sales | There is no market, only somebody's listings |
The order of magnitude lines up with SteamAnalyst's public grading, where demand tiers are set by trades per day: above 380 is high demand, from 40 is active, from 8 is moderate, from 1 is "slow", below 1 is "rarely traded". Their scale is stretched wider than ours because it counts across dozens of marketplaces at once; the principle is identical.
The most important correction to every scale: volume is counted per item name, not per your specific copy. A popular skin can see a hundred trades a day in Field-Tested and three in Factory New. And if you hold a Doppler, remember that every phase gets dumped into the same stats under one name: price spreads between phases run up to 3x, and a "median by name" for such an item is a fiction, useful only as a very rough bearing.
The dead-stock trap: a beautiful price that sits for months
The fattest percentages in any arbitrage table sit on items nobody buys. That is not a coincidence, it is mechanics.
On a liquid item a price gap between marketplaces closes in minutes: bots, snipers and simply dozens of attentive people work it. A gap that survived a week survived for one single reason — nobody trades at that price. A big percentage that lived long enough to reach your screen is not a prize, it is a question: "why has nobody taken this yet?" Nine times out of ten the answer is in the volume column.
That is exactly why we flag dead stock separately: a pair whose item has no sales data over 24 hours or over the week is marked as "paper profit". The margin is there; there is nobody to sell to.
What the trap looks like from the inside. You see an item with a 40% gap, you buy it, you list it at the price your profit was calculated from — and you wait. A month later you cut to the median. A month after that you find out the median on this item is built on four trades in a quarter. You end up exiting into the bid at a loss, and the capital frozen for two months earned nothing in the meantime.
A word on the opportunity cost of money. Even a zero loss is a loss if the money stood still. A liquid position turning over every two days at a modest margin beats one "fat" deal that did not move for two months. Inventory holders should know two numbers about themselves: what they could realistically raise in a week, and what in a month. The difference between the two is the size of your dead stock.
🔧Value your inventoryfree, no sign-upAnother form of the trap is your own size. Liquidity is not a property of the item: it is a property of the item and your size together. Five copies of a popular skin get swallowed without a flinch. Fifty push the price down, because you have become a visible share of the daily turnover. A working rule of thumb: never dump more than a third of the item's daily volume at once, or you are moving the price against yourself.
Trade hold and fees: the real timeline and the real bottom line
Even a perfectly liquid item does not turn into money instantly, and does not sell for the number you see.
Hold adds a week to the timeline
An item bought on the Steam Market or received in a trade goes under a seven-day trade hold (168 hours). For all that time it sits in your inventory: it cannot be traded and it cannot be relisted. For a seller that means adding a week to every timeline estimate — not "about a week", exactly a week.
In 2026 Valve reworked the logic: the hold now expires exactly 168 hours after the item was received, with a separate timer on every copy, instead of the old shared daily unlock window. For the market this turned out to be a good thing — the salvo unlocks are gone, the ones that used to dump thousands of items onto the listings at the same moment and push the price down. For you it means the exit date and hour can now be planned precisely.
The main thing a hold does is add risk. A week of frozen capital on a volatile market means the price your profit was calculated from may be different by the time you sell. The thinner the item, the more it hurts: on a liquid item a dip is worked off by turnover, on dead stock it turns into another month of waiting. A full breakdown of the mechanics is in the piece on trade hold.
Fees eat the bottom line
The other half of reality is marketplace rates. The current orders of magnitude:
- Steam Community Market — 15% (5% Steam + 10% game fee). The seller receives roughly 87% of what the buyer paid. And crucially: that money stays in the Steam wallet and cannot be cashed out to fiat.
- Third-party marketplaces are noticeably cheaper: CSFloat and DMarket around 2%, Buff163 about 2.5%, Skinport roughly 8–12% depending on the amount. On most of them the buyer pays nothing.
Hence the practical conclusion that breaks most "profitable" calculations: compare net, not prices. A 10% gap between venues against a 12% seller fee is not profit, it is a loss in nice wrapping. The full rate table is in the breakdown of marketplace fees, and the logic for computing net profit on a pair is in the piece on arbitrage.
How it all adds up
Stack the three deductions and you get the real result of the trade:
- The urgency discount (bid-ask spread): from a few percent on a liquid item to a third of the price on a thin one.
- The selling venue's fee: from 2% to 15%.
- Time: a week of hold plus the actual time to sell, computed from volume and the listing queue.
Comparing the first two items is the strategy decision. If the discount for an instant exit is smaller than the fee difference between venues, sell fast. If it is larger, it pays to be patient and put up a listing. On a low-fee venue, haste easily costs you several fees over, and that is the most common way to hand back your profit without noticing.
- Find the sales volume over 24 hours and 7 days for the exact name and condition. Zero trades — no need to look further.
- Measure the queue: divide the number of active listings by the daily volume. That gives your time to sell at the average price.
- Measure the spread: best bid against lowest ask. That is your urgency discount, as a percentage.
- Check price freshness: a quote older than a day on a thin item is not to be trusted.
- Subtract the selling venue's fee and add 7 days of hold to the timeline. What is left is the real result of the trade.
Common mistakes
- Counting listings as sales. A thousand listings is a thousand people who want out. That is a sign of excess supply, not demand.
- Building the math off the lowest listing. The lowest ask is almost always an outlier: somebody's mistake, a bad float, or a listing about to be taken. The base has to be the median of completed sales.
- Reading volume by name and forgetting condition and variant. Factory New, Field-Tested and StatTrak are three separate markets, and Dopplers additionally carry every phase under one name.
- Confusing the item's liquidity with your position's liquidity. One copy and fifty copies sell very differently, even when it is the same skin.
- Ignoring the hold when computing returns. A 10% trade over a week and the same trade over two months are fundamentally different investments.
- Treating Steam money as money. Steam is a deep market, but the proceeds are locked in the wallet. It does not work as a cash register; it is a venue for rotating into other items.
- Trusting a single marketplace. Thin on Skinport does not mean thin everywhere. Check volume on at least two sources before you stick the dead-stock label on an item.
- Valuing an inventory as the sum of its valuations. An inventory stuffed with thin positions is worth noticeably less than the total it displays — you will not exit at that number.
A separate class of mistakes involves hidden value. A good float or a rare pattern raises the price, but does not always raise the liquidity: the circle of buyers willing to overpay for a low float or a rare seed is narrower still. Checking what exactly you are holding is free.
🔧Check float & patternfree, no sign-upA simple everyday rule: volume first, price second. If the volume is there, the price is negotiable. If there is no volume, the price is irrelevant — you are not selling the item, you are storing it.
Liquidity is the one signal that turns an inventory valuation into money. Any aggregator will show you the price; volume, queue, spread and quote age you have to check yourself. But once you do, the "profit" in the table stops being a promise and becomes a calculation. Where exactly to sell what you have worked out is covered in the piece on choosing a marketplace.