136,3 млн опыта = 0 баллов: как Xmin меняет оценку в IT-тендере

Про другой наш тендерный опыт я уже рассказывал в статье «Работающий WebGL и 27 контрактов на 168 млн: как мы дважды получили ноль в IT-тендерах». Там мы разбирались с формальностями и тем, как комиссия читает заявку.
В этот раз самое интересное начинается в математике: документы на месте, опыт подтвержден, цена хорошая — а дальше расчет местами больше похож на игру. Потому что ваши баллы зависят не только от вашей заявки, но и от того, кто еще пришел в конкурс.
В одном из конкурсов мы как раз столкнулись с таким эффектом. Наши 136 млн рублей подтвержденного опыта при одном составе участников дали 0 баллов. При другой нижней границе той же формулы этот же опыт оценивался бы уже совсем иначе. Контракты при этом никуда не исчезают, а компания не становится ни сильнее, ни слабее.
Причиной оказался параметр Xmin — минимальное значение конкретного показателя среди всех участников, которое используется при расчете баллов.
Меня зовут Алексей Постригайло, я управляющий партнер IT-компании Энсайн. В этой статье разберу на реальном проигранном конкурсе, как работает такая относительная оценка и какой дополнительный сценарий мы после этого стали закладывать в расчеты перед подачей заявки. Победу это, конечно, не гарантирует, но позволяет заранее увидеть то, чего обычный расчет «цена + опыт» просто не показывает.
Как считались баллы участников
Цена в конкурсе имела вес 30%, квалификация — 70%. Внутри квалификации заказчик оценивал три показателя: количество исполненных контрактов, их общую стоимость и количество специалистов с IT-квалификацией.
Для каждого показателя была установлена верхняя граница:
Показатель | Предельное значение |
|---|---|
Количество исполненных контрактов | 20 |
Общая стоимость исполненных контрактов | 150 млн руб. |
Количество специалистов с IT-квалификацией | 5 |
Логика предельных значений на первый взгляд довольно простая: если участник достигает установленной границы или превышает ее, он получает по этому показателю максимальные 100 баллов. Все, что выше предела, дополнительного преимущества уже не дает.
Но если показатель участника не достигает предельного значения, баллы считаются уже не просто пропорционально тому, насколько он приблизился к максимуму. Здесь появляется второй ориентир — минимальное значение среди всех участников конкурса, Xmin.
Для расчета использовалась формула:
БXi = (Xi − Xmin) × 100 / (Xпред.max − Xmin)
где:
Xi — фактическое значение конкретного участника по показателю;
Xmin — минимальное значение этого показателя среди всех участников;
Xпред.max — предельное максимальное значение, установленное заказчиком.
И вот здесь начинается самое важное.
Верхняя точка шкалы известна заранее — ее устанавливает заказчик. А нижняя заранее неизвестна, потому что она появляется только после того, как становятся понятны показатели всех участников.
В этом и заключается особенность относительной оценки. Одного знания своих контрактов, их стоимости или количества специалистов недостаточно, чтобы заранее сказать, сколько именно баллов они принесут. Нужно знать еще и нижнюю границу шкалы — а она зависит уже от других участников конкурса.
Поэтому здесь одновременно работают две разные логики. Сверху заказчик жестко ограничивает результат предельным значением: выше 100 баллов получить нельзя. Снизу положение участника определяется относительно минимального результата среди всех заявок.
Именно сочетание фиксированного максимума и плавающего Xmin и оказалось самым интересным в нашем конкурсе.
Дальше покажу, что произошло, когда в эту формулу подставили реальные показатели нашей заявки и заявки победителя.
Что произошло, когда мы подставили реальные цифры
В конкурсе участвовало несколько компаний, но для разбора возьмем две заявки — нашу и участника, который в итоге победил. На первый взгляд его преимущество было в квалификации, а наше — в цене, на что мы и делали ставку при предварительном просчете баллов, которые можем получить.
Участник | Цена | Контракты | Стоимость контрактов | Специалисты |
|---|---|---|---|---|
Энсайн | 12,4 млн руб. | 20 | 136,3 млн руб. | 6 |
Участник №2 | 20,4 млн руб. | 23 | 243,7 млн руб. | 18 |
Участник № 2 подтверждал больше контрактов, почти в 2 раза большую их стоимость и 18 специалистов против наших 6. Напомню, что все это относилось к квалификации, а она давала 70% итоговой оценки.
Если бы квалификация оценивалась просто по абсолютным значениям, преимущество конкурента выглядело бы очень серьезным. Но сначала в расчет вступили установленные заказчиком пределы.
По количеству исполненных контрактов максимум составлял 20. У нас было ровно 20, у Участника № 2 — 23, поэтому оба получили по этому показателю 100 баллов. Три дополнительных контракта уже ничего не меняли.
По специалистам работала та же логика. Верхняя граница была установлена на уровне 5 человек. У нас подтверждалось 6 специалистов, у победителя — 18, но в оценке оба результата также превращались в максимальные 100 баллов.
Получается, что две довольно заметные разницы — 20 контрактов против 23 и 6 специалистов против 18 — после применения предельных значений исчезли. В обоих случаях мы с победителем оказались на максимуме.
Оставалась общая стоимость исполненных контрактов. Здесь у нас было 136,3 млн рублей, у Участника № 2 — 243,7 млн. Но и его преимущество целиком в расчет не попадало: заказчик установил верхнюю границу в 150 млн рублей, поэтому все, что было выше этой суммы, уже не увеличивало балл. Для Участника № 2 этот показатель давал максимальные 100 баллов.
А вот наши 136,3 млн рублей до верхней границы не дотягивали, поэтому здесь начинала работать формула с Xmin.

Минимальная стоимость исполненных контрактов среди всех участников конкурса оказалась как раз у нас:
Xi = 136,3 млн руб.
Xmin = 136,3 млн руб.
Xпред.max = 150 млн руб.
Подставляем значения:
(136,3 − 136,3) × 100 / (150 − 136,3) = 0
Так 136,3 млн рублей подтвержденного опыта дали нам 0 баллов. Именно на этом показателе и образовался весь разрыв между нами и победителем по квалификации: по двум остальным показателям у обоих было по 100 баллов.
Контракты были, их стоимость была подтверждена и участвовала в оценке. Ноль появился не потому, что этот опыт не приняли, а потому, что наш показатель одновременно оказался минимальным среди участников. В числителе формулы Xi − Xmin получилось ровно 0.
Показатель | Энсайн | Участник №2 |
Количество контрактов | 100 | 100 |
Общая стоимость контрактов | 0 | 100 |
IT-специалисты | 100 | 100 |
Три показателя внутри квалификации учитывались одинаково, поэтому сначала рассчитывалось их среднее значение, а затем применялся общий вес квалификации 70%. Наш результат составил:
(100 + 0 + 100) / 3 × 70% = 46,67 балла.
Оставшиеся 30% приходились на цену. Здесь интриги не было: мы предложили выполнить контракт за 12,4 млн рублей — это была самая низкая цена среди участников — и получили максимальные 30 баллов. Участник № 2 предложил 20,4 млн рублей и получил за цену 18,2 балла.
Итоговый результат:
Участник | Цена | Квалификация | Общий балл |
|---|---|---|---|
Энсайн | 30 | 46,67 | 76,67 |
Участник №2 | 18,2 | 70 | 88,2 |
Конкурс мы проиграли, и сам этот результат не вызывает вопросов: по заданной формуле победитель действительно набрал больше баллов.
Но после разбора у нас появился другой вопрос. Наши 136,3 млн рублей оказались равны Xmin и поэтому дали 0. А что произойдет с тем же самым опытом, если нижняя точка шкалы изменится?
Именно это мы решили посчитать следующим шагом.
Что будет, если нижняя точка шкалы изменится
Здесь важно сделать одно уточнение. Когда мы говорим об участнике, который получает 0 баллов, это не означает, что у него обязательно 0 контрактов, 0 рублей исполненных работ или вообще нет специалистов.
Ноль возникает из самой формулы. Если показатель участника оказался минимальным среди всех заявок, то его Xi становится равным Xmin. А значит:
Xi − Xmin = 0
Поэтому участник с минимальным значением по конкретному показателю получает за него 0 баллов независимо от того, какое абсолютное значение стоит за этим минимумом. У него может быть 11 исполненных контрактов, определенная сумма выполненных работ или несколько специалистов — если это самый низкий показатель в конкурсе, для относительной шкалы он становится нижней точкой.
В нашем реальном конкурсе именно так произошло с Энсайн по стоимости исполненных контрактов. Наши 136,3 млн рублей были минимальным значением среди участников, поэтому формула дала нам 0 баллов.
После конкурса мы решили проверить другой сценарий: что произойдет, если в закупке появится участник, у которого общая стоимость исполненных контрактов ниже наших 136,3 млн рублей. Тогда именно его показатель станет новым Xmin по этому показателю, а исходные данные нашей заявки останутся прежними.
Нашу заявку и заявку победителя оставляем без изменений. Чтобы проверить именно влияние Xmin на квалификацию, ценовую часть тоже не меняем: считаем, что новый участник не предлагает цену ниже наших 12,4 млн рублей.
По нашему расчету переломная точка находится примерно на уровне 122,9 млн рублей: при таком Xmin результаты практически сравниваются, а если минимальное значение опускается ниже, Энсайн выходит вперед. Для наглядности дальше возьмем круглое значение 120 млн рублей.
Подставляем новые значения в ту же формулу:
(136,3-120) × 100 / (150-120) = 54,3
И те же самые 136,3 млн рублей подтвержденного опыта, которые в реальном расчете дали нам 0 баллов, теперь дают 54,3 балла.
Ни одного нового контракта у нас не появилось, сумма исполненных контрактов не выросла, специалистов больше не стало. У Участника № 2 тоже ничего не изменилось. Другой стала только нижняя точка шкалы, относительно которой формула оценивает наши 136,3 млн рублей.
В этом сценарии квалификационная часть выглядела бы так:
Показатель | Энсайн | Участник №2 |
Количество контрактов | 100 | 100 |
Общая стоимость контрактов | 54,3 | 100 |
IT-специалисты | 100 | 100 |
С учетом веса квалификации в 70% наш результат меняется с 46,67 до 59,3 балла:
(100 + 54,3 + 100) / 3 × 70% = 59,3
Участник №2 по-прежнему получает максимальные 70 баллов за квалификацию. Баллы за цену тоже оставляем такими же, как в реальном конкурсе: 30 у нас и 18,2 у победителя.
Получается уже другая итоговая картина:
Участник | Цена | Квалификация | Итог |
Энсайн | 30 | 59,3 | 89,3 |
Участник №2 | 18,2 | 70 | 88,2 |
В реальном конкурсе с фактическим составом участников мы набрали 76,67 балла и проиграли. В этом изолированном расчете наша заявка остается той же, но изменение Xmin поднимает итог до 89,3 балла — и первое место уже было бы у нас.
Именно здесь для нас окончательно проявилась особенность относительной оценки. Квалификация компании не изменилась ни на единицу, но ее ценность в баллах изменилась вместе с составом участников.
Мы не добавили ни одного контракта, не увеличили стоимость выполненных работ и не усилили команду. У победителя тоже ничего не изменилось. В модели поменялась только нижняя точка шкалы — и этого оказалось достаточно, чтобы поменять первое место.
Это не история о том, что конкурс должен был закончиться иначе. Он закончился так, как закончился, и участник с меньшим показателем в этом расчете нужен нам только для проверки поведения формулы. Но именно такой стресс-тест показал то, чего не было видно при обычном сравнении своей заявки с сильным конкурентом.
После этого мы стали иначе читать формулы
До этого конкурса при предварительной оценке мы в основном смотрели на собственную цену, подтвержденный опыт, команду и показатели тех компаний, которых считали основными конкурентами. После разбора формулы стало понятно, что для относительной оценки этого мало.
Теперь, если в документации есть Xmin, мы прогоняем расчет на нескольких сценариях и смотрим, что произойдет, если минимальное значение окажется близко к нашему, уйдет к нулю или, наоборот, подтянется вверх. Отдельно проверяем показатели, которые уже достигают предельного максимума и поэтому перестают давать участникам дополнительное преимущество.
Такой расчет не позволяет заранее узнать состав конкурса и тем более не гарантирует победу. Он нужен для другого — чтобы понять диапазон возможной оценки собственной заявки и увидеть, насколько сильно результат зависит от данных, которые мы вообще не контролируем.
В нашем случае до конкурса мы смотрели на 136,3 млн рублей прежде всего как на характеристику собственного опыта. После конкурса стало понятно, что для относительной формулы этого недостаточно: важно не только сколько у тебя, но и относительно какого минимума это будут считать.
В относительной системе квалификация компании остается той же, но ее ценность в баллах зависит от состава участников.
Именно эту зависимость теперь мы проверяем отдельно еще до подачи заявки.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.