How to Detect CS2 Price and Sale-Volume Spikes
Updated
API reference: POST /v1/archive/csfloat
POST /v1/archive/csfloatreturns the daily completed-sale price and count needed to detect CS2 price moves that coincide with unusual sale volume.
Current ask_volume counts active listings and cannot confirm that trades occurred. A sale-confirmed detector needs the archive's volume field.
CSFloat data for spike detection
The archive returns one UTC daily row with date, price, and volume. price is the arithmetic average of completed-sale prices that day; volume is the number of completed sales. Data begins in 2022 and updates once or twice per day.
Supported Doppler and Gamma Doppler phases can have separate archive series under variants. This prevents a phase-specific spike from being diluted into the base item. Case Hardened tiers are not collected as CSFloat archive variants.
A grounded detection method
Sort returned days by date and calculate each price change from the previous returned sale day. Compare that move with a rolling baseline of prior moves, and compare the current completed-sale count with a rolling volume baseline. Emit a spike only when both the price and volume conditions pass.
Robust baselines such as a rolling median and median absolute deviation reduce sensitivity to one earlier extreme day. Publish the lookback length, absolute price-change floor, and volume multiple with each result; the API provides the series, not universal anomaly thresholds.
Keep the calendar gap between observations. For an illiquid item, the previous returned row may be several days earlier, so that change is not a one-day return.
Applicable endpoint
| Endpoint | Returns | Plans |
|---|---|---|
POST /v1/archive/csfloat |
Daily average completed-sale price and count since 2022 | Scale, Enterprise |
Detection caveats
- Missing archive dates should remain missing. Filling a sale price or volume with zero creates a false spike.
- A daily average can move because the sold float, stickers, or paint seed mix changed. The endpoint does not describe each individual sold asset.
- The newest day may still be incomplete because the archive updates once or twice daily. Delay evaluation or mark provisional rows.
- Sparse items may not have enough prior returned observations for the chosen rolling window.
Use CSFloat sale history to inspect the underlying daily aggregates before choosing thresholds.