What Are Float Values?
Every CS2 skin has a float value between 0 and 1 that determines its wear condition. Lower floats mean better condition. The standard wear brackets are:
- Factory New: 0.00 – 0.07
- Minimal Wear: 0.07 – 0.15
- Field-Tested: 0.15 – 0.38
- Well-Worn: 0.38 – 0.45
- Battle-Scarred: 0.45 – 1.00
Each skin also has its own minimum and maximum float range defined by the game. For example, a skin with range 0.00–0.50 can never be Battle-Scarred, while a skin with range 0.06–1.00 can never be Factory New. This per-skin float range is critical in trade ups — it affects both how your inputs are valued by the formula and what wear conditions the output can actually reach.
Step 1 — Normalizing Input Floats
The trade up contract does not simply average the raw float values of your 10 inputs. Instead, each input's float is first normalized relative to that skin's own float range:
This normalization converts every input into a value between 0 and 1 that represents how far through its own possible range the skin sits — regardless of its absolute float number.
Here's a concrete example that shows why this matters:
-
Skin A — float
0.10, range0.00–1.00→ normalized =0.10 -
Skin B — float
0.10, range0.00–0.50→ normalized =0.20
Both skins have the exact same absolute float (0.10), but Skin B contributes twice as much to the normalized average because it's already 20% through its range, while Skin A is only 10% through its much wider range. This means skins with wider float ranges are inherently better inputs at the same absolute float value — a full-range skin (0–1) at float 0.10 is twice as "efficient" as a half-range skin (0–0.5) at that same float.
Step 2 — Computing the Average Normalized Float
After normalizing each of the 10 input skins, the contract computes the average normalized float:
This single number (between 0 and 1) represents the overall quality of your inputs. A lower average normalized float means your inputs collectively sit closer to the bottom of their respective ranges — and that translates directly into a better output.
Because this is a simple average, every single input matters equally. One bad input (a skin sitting near the top of its range) will pull the average up. This is why locking 9 low-float skins and letting the algorithm optimize just 1 remaining slot is still effective — but also why a single high-normalized input can meaningfully hurt the output.
Step 3 — Mapping to the Output Float
The average normalized float is then mapped onto the output skin's float range using linear interpolation:
If the average normalized float is 0.15 and the output skin's range is 0.00–0.60, the output float will be:
But if the output skin's range is 0.06–0.80:
Same inputs, same normalized average, but different output wear conditions depending on the output skin's range. This is why the output skin's float range is just as important as your input quality. An output skin with a narrow range starting near 0 is much easier to push into Factory New territory.
Why Float Range Strategy Beats Raw Float Hunting
Many traders focus solely on buying the lowest-float inputs they can find. But the normalization step means a skin's float range matters just as much as its float value. Consider two inputs both priced at $1.00:
-
Full-range skin (0.00–1.00) at float 0.15 → normalized
0.15 -
Narrow-range skin (0.00–0.40) at float 0.10 → normalized
0.25
The narrow-range skin has a lower absolute float, but it contributes a higher normalized value. The full-range skin at 0.15 is actually the better trade up input despite having a worse wear condition.
Our calculator shows you the exact output float for any combination of inputs, and the simulator automatically optimizes for this — selecting inputs that minimize the normalized average, not just the raw float.
Practical Float Optimization Tips
Use these strategies to get the best possible output wear from your trade up contracts:
- Prefer wide-range inputs — At the same absolute float, a skin with range 0–1 contributes half the normalized value of a skin with range 0–0.5. Wider ranges give you more room.
- Check the output skin's range — There's no point optimizing inputs for Factory New output if the output skin's minimum float is above 0.07. Know what's achievable before you invest.
- Watch for wear bracket boundaries — A small change in averaged input can flip the output from Field-Tested to Minimal Wear. Use the calculator's float editor to find the exact threshold.
- A single bad input hurts — Because all 10 inputs are weighted equally in the average, one skin sitting at 90% of its range will drag the whole contract down. It's better to have 10 decent inputs than 9 great ones and 1 bad one.