CS2 trade up calculator: how to work out odds and floats by hand

A CS2 trade up calculator does two sums you can check yourself: each result's odds by collection and its output float. The rules, with three worked trade-ups.

A CS2 trade up calculator does two pieces of arithmetic: the chance of each possible result, and the float each result would come out with. Both can be done by hand from a list of your inputs and their float ranges, which is also the quickest way to check that a calculator uses the current rules. Valve has never published either formula, so what follows is the method community testing arrived at after the October 2025 update.

How a CS2 trade up calculator works

The rules come first. A standard contract takes ten skins of one grade and returns one skin of the next grade, from a collection of one of the inputs. Since October 22, 2025, five Covert skins can instead become a knife or gloves, and five StatTrak Coverts a StatTrak knife. Since May 22, 2026, Souvenir skins can go in too; Valve removes their Souvenir attributes and the result is a normal item. StatTrak and normal skins can't be mixed, and knives, gloves, Contraband skins and skins already at the top of their collection can't be used. Our trade-up contract guide covers the rules in full.

For every input, a calculator needs its collection, its grade, its float and its finish's float range. For every collection, it needs the skins one grade up and their ranges. Valve's item file, items_game.txt, holds all of it: each collection's skins sorted into grades, and a minimum and maximum float for each finish. A finish with no range of its own, such as Crimson Web, uses the file's default of 0.06 to 0.80.

Step 1: outcome odds per collection

Community testers, including a Steam Community guide by Daka and a breakdown video by the YouTuber slyk, agree on the current rule:

  1. Every input carries an equal share: 10% in a ten-skin contract, 20% in a five-skin one.
  2. A collection's chance is the total share of the inputs from it.
  3. That chance is split evenly between the collection's skins at the next grade.

Worked example 1. Seven Restricted skins from The Kilowatt Collection, such as M4A4 | Etch Lord or MP7 | Just Smile, plus three Restricted skins from the Train 2025 Collection, such as MAC-10 | Derailment or Zeus x27 | Charged Up.

Possible resultCollectionChance nowOlder rule
M4A1-S Black LotusKilowatt23.3%25.9%
Zeus x27 OlympusKilowatt23.3%25.9%
USP-S JawbreakerKilowatt23.3%25.9%
M4A4 HellishTrain 202515%11.1%
MP9 Latte RushTrain 202515%11.1%

Kilowatt holds 70% of the inputs and has three Classifieds, so each gets a third of 70%. Train 2025 holds 30% and has two.

The five possible results of example 1, from Kilowatt and Train 2025
The five possible results of example 1, from Kilowatt and Train 2025

The last column is the rule an old CS:GO trade up calculator may still use. There, each input added one ticket for every possible result in its collection: 7 × 3 tickets for Kilowatt and 3 × 2 for Train 2025, 27 in all. slyk's video shows the gap with five CZ75-Auto | Yellow Jacket from the Falchion Collection and five MAC-10 | Hot Snakes from the Havoc Collection: the old rule gave all three Coverts 33%, while the current one gives the AK-47 | X-Ray 50% and the two Falchion Coverts 25% each. If your calculator's numbers match the old column, it predates the change.

Step 2: the output float formula

The float method changed at the same time. Testers found that each input is first placed within its own finish's range:

  1. Position of each input = (float − minimum) ÷ (maximum − minimum).
  2. Average the positions over all inputs, ten or five.
  3. Result float = output minimum + average × (output maximum − output minimum), worked out separately for every possible result.

Then read the wear: Factory New below 0.07, Minimal Wear to 0.15, Field-Tested to 0.38, Well-Worn to 0.45, Battle-Scarred above. Valve's Workshop guide rounds the middle two to 0.37 and 0.44, which our float guide explains along with float caps.

Worked example 2. Five Galil AR | Connexion from The Fracture Collection, range 0.00 to 0.80, each at 0.064, so each sits at position 0.08. Five Nova | Rising Sun from the Fever Collection, range 0.00 to 1.00, each at 0.068, position 0.068. The average position is 0.074, and each collection has a 50% chance shared by its three Classifieds.

Possible resultRangeResult floatWear
M4A4 Tooth Fairy0.00–0.730.0540Factory New
Glock-18 Vogue0.00–0.750.0555Factory New
XM1014 Entombed0.00–0.500.0370Factory New
AK-47 Searing Rage0.00–1.000.0740Minimal Wear
Glock-18 Shinobu0.00–1.000.0740Minimal Wear
UMP-45 K.O. Factory0.00–1.000.0740Minimal Wear

The older formula, still shown on the Counter-Strike Wiki, averaged the raw floats instead. Here that gives 0.066, and all three Fever results would have come out Factory New. A capped input counts for more than its float suggests, so check every input's range, not just its number.

The same inputs give Factory New from capped Fracture results and Minimal Wear from full-range Fever results
The same inputs give Factory New from capped Fracture results and Minimal Wear from full-range Fever results

Knife and glove trade-ups

The five-Covert contract follows the same two steps, with 20% per input. The pool is the case's rare special item, which Valve's English text names for single-knife cases: the Kilowatt Case promises "an Exceedingly Rare Kukri Knife", the Falchion Case a Falchion Knife.

Worked example 3. Three AWP | Chrome Cannon from Kilowatt and two AWP | Hyper Beast from The Falchion Collection, all with full 0.00 to 1.00 ranges and all at 0.10. That makes 60% for a Kukri Knife, 40% for a Falchion Knife, and an average position of 0.10.

If the finish isRangeResult floatWear
Fade0.00–0.080.008Factory New
Case Hardened0.00–1.000.100Minimal Wear
Crimson Web0.06–0.800.134Minimal Wear

Valve hasn't said how the finish is picked within a pool, so treat any calculator's per-finish chances as an assumption. StatTrak contracts can only return knives, and Coverts from collections without a knife or glove pool, such as map collections, can't be used. Our article on the October 2025 knife trade-ups covers the update itself.

Possible results of example 3: the finish decides the range, and the range decides the wear
Possible results of example 3: the finish decides the range, and the range decides the wear

Checks before you sign

  • Take float ranges from items_game.txt, not from a listing title or a guess from the wears a skin comes in.
  • Work out every result's float, not only the one you want.
  • Count inputs per collection again after any swap, because each one moves the odds by a tenth or a fifth.
  • Keep StatTrak and normal skins apart, and remember that a Souvenir input loses its Souvenir status.

Sources

More in Trading

All Trading articles