CS2 Expected Value Arbitrage

Topics: MathArbitrageTradingGamingCounter-Strike
Published on: February 18, 2026
Reading time: 10 minutes, 1974 words

Many new games from big publishers have lootboxes and ingame items, where players pay real money to customize their ingame appearance. Some games are playable for free, and the only revenue stream is from selling such items. After all, it is a highly profitable business. Valve, the company behind the famous Counter-Strike franchise, is said to have earned $980,000,000 USD 1 in the year 2023, just from people opening lootboxes. When the items are sold on the community market, Valve takes an additional 15% cut from any sale of an item.

Is this just gambling for regular gamers, and the house always wins? Or can we make money from those lootboxes? As the gambling in Counter-Strike follows clear rules, we use this to do an analysis of Counter-Strike 2 lootboxes and our chances to make money.

On a side note, the YouTuber Coffeezilla made a thorough analysis on third-party gambling sites and their rather questionable practices.

AK-47 Case Hardened, called "Blue Gem"
AK-47 Case Hardened, called "Blue Gem", valued between $100,000 and $1,000,000 USD due to its rarity.

Table of Contents

Counter Strike Cases

The main component of CS2’s item economy is the opening of weapon cases. It is very simple. You need a weapon case and a weapon case key. The cases sometimes get “dropped” for free while playing the game, or can be bought on the community market (there are more than 40 as of today, with prices ranging from $0.20 to $60+ USD). The case keys must be bought directly from Valve. And they cost the same for all cases. They were also being exchanged on the community market in the past, but this was shut down, reportedly due to money laundering taking place.

Counter Strike 2’s roulette: Opening a Weapon Case.

Each case has specific skins we can “unbox”. There are more and less common skins in each case, which is determined by their rarity. Further, each skin will have a quality assigned to it, the wear condition. The qualities range from battle-scarred, well-worn to factory new, which determine how many scratches there are and how shiny it looks. Further, there is a less than 1% chance of receiving a rare special item, gloves or knives, which, if they have the right look, are the most valuable items. And, each skin can come in a StatTrak™ variant, which tracks how many opponents one defeated with this gun.

Note: there are many nuances, other case types etc. left out for simplicity.

Expected Value Analysis

Single Case Opening

Using probability and statistics, we can calculate the expected average worth of our “drop” when we open any case. With this we can try to answer two questions. First, can we expect to profit, when we spend money on a case and key and open the case? And, as the case markets have varying depth, and we might need to open many cases to get outlier events like drawing a knife: how many cases do we need to open, to be certain of our profit?

To model the expected value, let us define the random variable XX as the value of our unboxed skin. Let SS be the random variable for the skin (i.e. one specific skin, quality and wear), and v(s)v(s) the value given skin ss. Then, the expected value of XX is calculated as

E[X]=sP(S=s)v(s)\mathbb{E}[X] = \sum_{s} P(S = s) v(s)

To calculate this, we just need plug in the prices and probabilities for all possible outcomes. You can find such an evaluation in the section Concrete Example. This lets us (theoretically) easily answer the question: should we buy case and key and open it? If the expected value is more than what we pay for key and case, we should open it. Otherwise, we should not.

Also, note that both the price for skins and for opening a case are assumed to be constant in this analysis. In the real world, selling many items, or buying many cases will alter the price, so to have a better model, one would need to also model these price behaviours.

Opening Many Cases

The distribution is very heavy-tailed. On average, you need to open 385 cases to draw one knife. When you draw one, it is disproportionately worth it. So, we will have to open more than one case to be close to the average. But how many exactly?

Let us first define Yn:=i=1nXiY_n \def \sum_{i=1}^n X_i as the random variable describing the value of nn opened cases. Since the XiX_i have finite mean and variance, follow the same distribution and are independent (that is at least our assumption, but we do not know Valves implementation), we can use the central limit theorem, which tells us that YnY_n approximates the normal distribution N(nμ,nσ2)\mathcal{N}(n\mu, n\sigma^2) for large nn. Equally we can write

Z=YnnμσnN(0,1)Z = \frac{Y_n - n\mu}{\sigma \sqrt{n}} \sim \mathcal{N}(0,1)

So, our question is, with a confidence of 1α1-\alpha, how many cases do we need to open to be at most β\beta percent below the expected value. E.g., if we want to be 95% sure, that we make 90% of the expected value per case, how many cases will we need to open. This leads us to the following transformation

Ynnμ(1β)Ynnμσnnμβσ\begin{align*} Y_n &\geq n\mu(1-\beta)\\[0.2em] \frac{Y_n - n \mu}{\sigma \sqrt{n}} &\geq \frac{-\sqrt{n}\mu\beta}{\sigma} \end{align*}

Where the left-hand side is the standard normal distribution, therefore, requiring our confidence of 1α1 -\alpha and using the symmetry of the normal distribution, we get

P(Znμβσ)1α1Φ(nμβσ)1αnμβσzα\begin{align*} P(Z \geq \frac{-\sqrt{n}\mu\beta}{\sigma}) & \geq 1-\alpha \\ 1- \Phi(\frac{-\sqrt{n}\mu\beta}{\sigma}) &\geq 1-\alpha \\ \frac{\sqrt{n}\mu\beta}{\sigma} &\geq z_\alpha \end{align*}

Where Φ\Phi is the CDF of the standard normal, and zαz_\alpha is defined as Φ1(1α)\Phi^{-1}(1-\alpha). Solving for nn we get

n(zασμβ)2n \geq (\frac{z_\alpha \sigma}{\mu\beta})^2

One interesting fact to see straight away, without concrete values for σ\sigma and μ\mu (we can look up zαz_\alpha), is that, if we limit β\beta to zero, i.e. we would like to be as close to the expected value as possible, nn blows up to infinity. In other words, if we want certainty, we would need to open infinitely many cases. A good reminder that we are dealing with probabilities. Armed with our formulas, we can now tackle the concrete example.

Concrete Example

The Probabilities

Valve does not disclose the exact probabilities officially. So our main sources are estimates done by community and third-party services. There was one regulatory compliance disclosure mandated by China, when Valve expanded to the Chinese market in 2017, which is the only primary source data. For this analysis, I am using data2 published by case.oki.gg, a case opening simulator. See Probability Tables in the addendum for the numbers used.

The Prices

A non-trivial problem we need to solve is to determine the price of a skin. There are different markets with varying prices, changing order-book depths depending on the rarity, and other potential pitfalls. To keep it “simple” and have as much data available as possible, we use a very common lootbox: the Recoil Case3. It contains 17 different skins, which is 170 possible wear and StatTrak™ variants, and additional 24 rare Special Items, with 120 possible variants (only wear condition, no StatTrak™ for these).

I used a python script to scrape the price data for all possible outcomes from the public steam API. You can find the dataset below. For rare gloves, there were no steam listings. Those prices are taken from third-party prices. Note that these are usually quite a bit below the steam market price.

The Recoil Case

The Recoil Case

Evaluation

Plugging in the crawled data we get

E[X]1.878Var[X]674.933σ25.979\begin{align*} \mathbb{E}[X] &\approx 1.878\dots\\ \text{Var}[X] &\approx 674.933\dots\\ \sigma &\approx 25.979\dots \end{align*}

Calculating the price of opening a case as a quick sanity check: the case is being traded at $0.30 USD, and a key costs $2.50 USD, so it’s in the correct ballpark. Therefore we spend $2.80 per case, and on average earn $1.878 USD back. Clearly not profitable.

If we require 95 % certainty, i.e. α=5%\alpha = 5\%, and want to be at most β=50%\beta = 50\% below the mean on average, then

n(zασμβ)2=(1.64525.9791.8780.5)22071\begin{align*} n &\geq (\frac{z_\alpha \sigma}{\mu\beta})^2\\ &= (\frac{1.645 \cdot 25.979 }{1.878 \cdot 0.5})^2 \\ &\approx 2071 \end{align*}

We need to spend roughly $ 5,000 USD on opening 2,000 cases, and in the worst case can only guarantee $0.90 USD on average per item draw. So it seems like one needs to spend a big sum, to have some statistical guarantees. At the same time, the more cases we need to buy and the more items we sell, the bigger the effect is going to be on the prices.

Selling the Items

The most limiting factor is selling the items. They can either be sold on the community market, which has usually the best prices, but Valve takes a 15% cut. And the funds cannot be withdrawn from the Steam Wallet. Otherwise one can use third-party providers. They usually take a smaller cut, often between 2% and 12%, but, there the prices are significantly lower than on the official market. Sometimes up to 40% below Steam Market prices. So even if we find a profitable opportunity, where the amount of cases needed are realistic, we need to make in the range of 25% with the arbitrage, to be able to realize any profit.

Conclusion

As outlined, it is already difficult to get a good estimate of the EV for even common skins, with constant price assumptions. Modeling older cases with fewer items in circulation, or using more accurate models to accommodate market fragmentation and the effects of selling in large amounts, makes it even harder. And the most limiting factor for turning a profit is selling the items, as platforms either take a big cut or one needs to sell the items at a discount.

Third-party market operators have a clear advantage in both domains: they have comprehensive market data and liquidity, and can sell with zero fees on their own exchanges. A hypothesis worth testing is that they do open cases themselves for profit, generating income beyond just sales fees, if there is any actual profitable opportunities. Given that most people dabble with skins for fun, it would not be surprising if such market inefficiencies exist, but the tested example of the Recoil Case result suggests otherwise.

Despite these limitations, this is a fun and accessible exercise in probability and expected value analysis. It connects directly to how real market makers and traders leverage data and mathematics for profitable trading. And it serves as a warning: without a rigorous quantitative approach, the house probably wins. As they say, there is no such thing as a free lunch.

Addendum

Probability Data

The dataset: recoil-case-dataset.csv

Rarity Probabilities

RarityProbability
Mil-Spec79.92%
Restricted15.98%
Classified3.20%
Covert0.64%
knife / Gloves0.26%

Wear Probabilities

It should be noted that some skins do not come in all the wear conditions, so this is a simplification.

WearProbability
Battle-Scarred16%
Well-Worn24%
Field-Tested33%
Minimal Wear24%
Factory New3%

Footnotes

  1. According to this post by csgocasetracker.com, a third-party service that tracks how many lootboxes were opened.

  2. Case odds published by case.oki.gg, https://case.oki.gg/case-odds

  3. Recoil case on csgoskins.gg, https://csgoskins.gg/containers/recoil-case