CS2
CASE ROIexpected return calculator

How EV is computed

Every CS2 weapon case has a fixed pool of skins sorted into five rarity tiers. Valve publishes the per-tier drop probability — those numbers, multiplied by live skin prices, give the expected value of one unboxed item.

1. Valve drop odds

TierProbability
Mil-Spec79.92%
Restricted15.98%
Classified3.20%
Covert0.64%
Rare Special (knife / glove)0.26%

2. Per-skin expected price

For each skin s with available wears W:

price_normal(s)    = mean over w in W of bestPrice(s, w)
price_stattrak(s)  = bestPrice("StatTrak™ " + s) if listed, else 1.4 × normal
price_expected(s)  = 0.9 × price_normal(s) + 0.1 × price_stattrak(s)

bestPrice is the lowest live ask across Steam Market, CSFloat, and Skinport.

3. Case EV

EV_tier(t)  = mean over s in tier_t of price_expected(s)
EV_gross    = Σ over tiers t of P(t) × EV_tier(t)
EV_net      = EV_gross − caseUnitPrice − keyUnitPrice
EV_pct      = EV_net / (caseUnitPrice + keyUnitPrice)

Two ways we show ROI

The same expected value can be quoted two ways, and we show both:

They're the same number shifted by 100% (net = unboxing − 100%). Unboxing ROI is the headline figure on cards; net is shown alongside. Anything under 100% unboxing ROI (i.e. negative net) loses money — which is almost every container.

5. Lottery score

Most cases have a deeply negative mean dominated by rare knife / glove drops. A high σ/μ means the case is essentially a lottery ticket: most opens lose almost everything and a few wins carry the EV. A low score means a more consistent — though usually still negative — outcome.

Caveats

Data sources

Prices are cached server-side for 30 minutes. Click "Refresh prices" on any page to invalidate and re-pull.