CS2 Stat Optimizer

Find the optimal stat distribution for your CS2 build.

Input your available CS2 stat points and per-stat priorities to compute the optimal distribution of Strength, Agility, Intelligence and Vitality using a diminishing-returns model and greedy marginal-gain allocation.

How does the optimizer decide where to put points?

It uses greedy marginal-gain allocation. Each point goes to whichever stat would gain the most effectiveness right now. Because each stat follows a diminishing-returns curve, this greedy method is provably optimal for concave functions.

Spend stat points where they actually pay off

Most build calculators just total your stats. This CS2 Stat Optimizer instead answers the harder question: given a fixed pool of points, where should each one go? It models each stat with a diminishing-returns curve and allocates points one at a time to whichever stat gives the biggest gain at that moment.

How it works

Each stat’s effectiveness is modeled as weight × sqrt(points). The square root captures diminishing returns: the value of adding a point shrinks as a stat grows, so over-investing in a single stat wastes potential. The optimizer computes the marginal gain of the next point for every stat:

marginal(weight, current) = weight × (sqrt(current + 1) − sqrt(current))

It then assigns each point to the stat with the highest marginal gain and repeats until the pool is empty. Because the per-stat curve is concave, this greedy rule produces the globally optimal distribution — there is no allocation that scores higher.

Tips and example

If you set all four weights equal and have 100 points, the optimizer spreads them roughly evenly, since equal weights with the same curve are balanced by equal allocation. Raise one weight and watch points migrate toward it — but never all of them, because diminishing returns still reward some spread. Use the weights to encode your role: tanks lean on Vitality and Strength, casters on Intelligence, skirmishers on Agility.