К базе знаний

Как рассчитывается результат контракта CS2: float и износ

Обновлено 14 октября 2026 · TradeUP

У результата контракта есть две отдельные части: какой предмет выпадет и какой float будет у этого предмета. Возможные предметы и их вероятности зависят от допустимого состава. Для каждого исхода сервис отдельно рассчитывает float и износ.

Как выбирается выходной предмет

В модели обычного оружейного контракта вес коллекции равен доле её входов, а внутри коллекции этот вес делится между допустимыми исходами следующей редкости. Условный пример: семь входов из A и три из B; в A два исхода, в B три. Каждый исход A получает 7 / 10 / 2 = 35%, каждый исход B — 3 / 10 / 3 = 10%. Сумма — 100%.

Этот пример не переносится автоматически на контракты Covert с ножами и перчатками: набор допустимых исходов проверяется отдельно. Float не выбирает случайный предмет; он используется для расчёта износа каждого возможного исхода по модели.

Что такое float и диапазон скина

Float — числовое значение износа. У каждого покрытия есть собственные минимальная и максимальная границы. Например, диапазоны 0–1 и 0–0,20 различаются: один и тот же float 0,10 занимает в них разные позиции. Границы покрытия не следует путать с границами категории износа.

Одинаковый float 0,10: позиция 10% в диапазоне 0–1 и 50% в диапазоне 0–0,20.
Одинаковый float не означает одинаковый вклад в нормализованное среднее.

Какую формулу использует TradeUP

В TradeUP применяется нормализованная модель float. В проекте её статус — гипотеза: эта статья объясняет расчёт сервиса, а не выдаёт его за официальную спецификацию Valve. Точная формула не подтверждена найденной справкой Steam; совпадение с результатами игры требует независимой проверки.

1. Нормализуем каждый вход

uᵢ = (fᵢ − minᵢ) / (maxᵢ − minᵢ)

Из float входного предмета вычитаем минимум его покрытия и делим на ширину диапазона. Используем исходные границы покрытия, а не диапазон выбранного износа и не обрезанное окно поиска.

2. Усредняем нормализованные значения

ū = (u₁ + … + uₙ) / N

Складываем значения всех входов и делим на число предметов N. Каждый экземпляр участвует отдельно: пять одинаковых предметов дают пять слагаемых. Это не среднее обычных float.

3. Переносим среднее в диапазон исхода

f_out = min_out + ū × (max_out − min_out)

Для каждого возможного выходного покрытия берём его минимум и прибавляем среднее, умноженное на ширину его диапазона. Поэтому один состав может дать разные float у разных исходов.

Пример: одинаковые float, разные диапазоны

Это условный числовой пример, не готовый допустимый рецепт. Возьмём десять входов: пять с float 0,10 и диапазоном 0–1, ещё пять с float 0,10 и диапазоном 0–0,20. У первых нормализованное значение 0,10, у вторых — 0,50.

Среднее: (5 × 0,10 + 5 × 0,50) / 10 = 0,30. Для исхода с диапазоном 0,06–0,80 расчёт даёт 0,06 + 0,30 × (0,80 − 0,06) = 0,282. Для другого исхода с диапазоном 0–0,50 получаем 0,150.

Если ошибочно усреднить обычные float, получится 0,10, а для первого исхода — 0,134 вместо 0,282. Разница меняет расчётный износ и цену. Поэтому сравнивать входы только по их float недостаточно.

Три шага модели: нормализация, среднее 0,30 и float исхода 0,282.
Расчёт условного примера по модели TradeUP; это не готовый рецепт.

Как float переводится в износ

FloatИзнос
[0; 0.07)Factory New
[0.07; 0.15)Minimal Wear
[0.15; 0.38)Field-Tested
[0.38; 0.45)Well-Worn
[0.45; 1]Battle-Scarred

Сервис использует интервалы с включённой нижней и исключённой верхней границей; последний включает 1. Например, ровно 0,15 относится к Field-Tested, а не Minimal Wear. У конкретного покрытия доступны только категории, пересекающие его собственный диапазон.

Почему нельзя взять максимум каждого входа

В рецепте максимум отдельного входа может быть рассчитан при минимальных float остальных предметов. Если одновременно поставить все входы на их индивидуальные максимумы, среднее может выйти за допустимое окно рецепта. Проверяйте весь состав вместе.

Обычная сумма float тоже не заменяет нормализованный расчёт при разных диапазонах покрытий. Показанный предел суммы — вспомогательное необходимое ограничение модели, а не достаточное условие нужного износа для любого набора предметов.

Что проверить перед контрактом

Введите точные float конкретных предметов, проверьте покрытия, коллекции и допустимость состава. Не округляйте значения у границы износа и оставляйте запас: отображение числа в интерфейсе не равно точности игры. Сравните все исходы, а не только самый дорогой.

Цена не участвует в формуле float, но влияет на стоимость и ROI. Комиссия влияет на чистую выручку. Сохранённые цены могут устареть, а наличие входов по ним не гарантируется. Перед покупкой проверьте площадку и пересчитайте состав.

Источники и ограничения

Правила допустимости следует сверять со справкой Steam и актуальными обновлениями CS2. Формулы и интервалы выше описывают текущую модель TradeUP. Числовой пример проверен той же функцией расчёта, которую использует сервис; это проверка согласованности модели, не эксперимент в игре.

Steam Support: CS2 — Trade Up Contracts

Почему высокий ROI не гарантирует прибыль в контракте CS2

КалькуляторНайти контракты