Оценка заказа

Шкала выгодности 0–100: не «да или нет», а «насколько»

Вердикт отвечает, брать заказ или нет. Круговой датчик показывает, насколько он хорош — и позволяет из двух зелёных выбрать тот, что выгоднее.

Пришло два заказа, оба зелёные — «стоит ехать». Оба окупаются, оба выше вашей планки. Но взять успеете только один. Который? По цвету они одинаковые, а по деньгам — нет. Вот тут «да/нет» перестаёт помогать: нужно не решение, а мера.

Вердикт — это ответ на вопрос «ехать?». Число на шкале — ответ на вопрос «а насколько выгодно?». Первое спасает от убытков, второе помогает выбирать лучшее из хорошего.

Что видит человек

На экране «Оценка» вокруг заказа рисуется кольцо-датчик, а в центре — число от 0 до 100. Чем выше балл, тем жирнее заказ. И цвет кольца всегда совпадает с числом — они не спорят друг с другом:

5–33красная зона
34–66жёлтая зона
67–96зелёная зона

Не стоит — балл в нижней полосе.   На грани — в средней.   Стоит ехать — в верхней.

Так вы никогда не увидите красное кольцо с числом 80 или зелёное с числом 20 — цвет и цифра говорят одно и то же, просто с разной точностью.

Вердикт делит заказы на «брать» и «не брать». Балл ранжирует те, что внутри одной корзины.

Что за этим стоит

Балл не берётся отдельным расчётом «на глазок» — он строится поверх уже готового вердикта. Сначала приложение решает, в какую полосу попадает заказ: красную, жёлтую или зелёную. А потом определяет место внутри полосы — у нижнего края, у верхнего или посередине.

Положение внутри полосы задаётся плавно, без ступенек. За плавность отвечает функция tanh — она мягко сжимает разброс так, чтобы очень выгодный и запредельно выгодный заказ не улетали к разным краям шкалы, а различие оставалось читаемым. Ключ здесь — маржинальная ставка заказа: сколько он приносит на каждый вложенный час относительно вашей целевой ставки.

  • Заказ ровно на целевой ставке даёт балл примерно в середине своей полосы — крепкая норма, ни хуже, ни лучше ожидаемого.
  • Выше цели — балл ползёт к верхнему краю полосы.
  • Ниже цели — к нижнему.

Масштаб чувствительности привязан к вашей цели: он равен 0,6 от целевой ставки. Проще говоря, шкала настроена под ваши деньги, а не под абстрактные рубли — одно и то же превышение у разных людей отклонит стрелку по-разному.

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

Почему это важно

Самая дорогая ошибка выездника — не взять убыточный заказ (от него защищает цвет), а взять хороший вместо отличного. Разница между двумя зелёными заказами — это не «повезло/не повезло», это ваш заработок за смену, сложенный из десятков мелких «который из двух».

Число превращает расплывчатое «оба вроде норм» в честное «этот на 84, а этот на 71 — беру первый». Секундное решение, но за месяц из таких секунд складывается ощутимая разница в кошельке. Цвет бережёт от минуса. Число вытягивает к максимуму.

Как устроена шкала

  • Балл считает profitability_score() в profitability_service.py — переводит вердикт в число 0–100 для кругового датчика на экране «Оценка».
  • Число всегда согласовано с цветом: skip → 5–33, edge → 34–66, go → 67–96 — цифра и цвет не противоречат.
  • Позиция внутри полосы задаётся плавно через tanh по маржинальной ставке заказа относительно вашей цели.
  • Масштаб чувствительности — 0,6 × целевая ставка; ровно на целевой ставке балл ≈ середина полосы.
  • Если целевая ставка ещё неизвестна, балл опирается на знак маржинальной ставки — плюс или минус.

Проверь любой заказ за секунду

Установи приложение и посмотри честный вердикт по своему следующему адресу — стоит ехать или нет.

Скачать для Android Android 8+ · установка из файла · бесплатно