Где есть бензин сегодня: как Бензонавт считает наличие топлива на АЗС
Знакомая история: карта показывает, что на заправке есть бензин, вы едете — а там пусто. Или наоборот: проезжаете мимо АЗС с пометкой «нет топлива», а из неё одна за другой выезжают заправленные машины.
Причина в том, что любая одна отметка — это мнение. Человек мог ошибиться, посмотреть на одну колонку, отметить не ту заправку или просто опоздать: полчаса назад бензина не было, а сейчас приехал бензовоз.
Мы изменили сам способ расчёта наличия топлива. Если коротко: Бензонавт больше не верит тому, кто высказался последним. Он взвешивает всех.
Как считается статус
Внутри карты работает байесовское голосование. Звучит сложно, а на деле это способ честно сложить противоречивые свидетельства. Четыре правила:
Каждый сигнал — это голос с весом. Отметки водителей, отметка «я прямо на месте», а с недавних пор ещё и обезличенные данные о реальных заправках на АЗС. Голоса не соперничают, а складываются: три независимых слабых свидетельства «топливо есть» в сумме надёжнее одного сильного.
Вес источника мы не выдумываем. Каждую ночь идёт автокалибровка: система проверяет, насколько сигналы каждого источника совпали с тем, что показали все остальные. Кто систематически прав — весит больше, кто ошибается — меньше. Веса двигаются сами, но только внутри заданного коридора, чтобы один сбойный день не перекосил карту.
Свежесть важнее давности — но не отменяет её. У каждого сигнала есть период полураспада: за несколько часов его вес падает вдвое, потом ещё вдвое. Утренняя отметка не исчезает мгновенно, она просто весит меньше свежей. И само по себе время не превращает «есть» в «нет» — при молчании мы честно снижаем уверенность, а не переписываем статус.
Статус не мигает. У переключения есть гистерезис: чтобы перевернуть уже установленный статус, новому свидетельству нужно набрать заметно больше, чем нужно для его удержания. Порог входа выше порога выхода — поэтому одна случайная отметка больше не переворачивает карту.
Что это дало
Число АЗС с актуальным статусом выросло с 14 462 до 18 624: почти четыре тысячи заправок, которые раньше висели серыми, получили честный статус.
Но главное — другое. Доля АЗС, помеченных как «нет топлива», упала с 51% до 34%. Раньше каждая вторая заправка на карте была помечена пустой, и значительная часть этих «пустых» АЗС в тот самый момент спокойно продавала топливо: одна свежая отметка «нет» перевешивала десяток отметок «есть». Теперь этого не происходит.
Мы показываем уверенность, а не притворяемся всезнающими
Рядом со статусом на карточке АЗС есть кольцо уверенности. Это не украшение: это ровно та величина, которую посчитала модель. Если сигналы противоречивы или свежих данных мало — кольцо будет неполным. И это честно.
Мы принципиально не «дорисовываем» уверенность там, где её нет. Ложное «есть бензин» злит водителя, потерявшего время. Ложное «нет бензина» — отправляет его в объезд мимо работающей заправки. Обе ошибки дорогие, и обе мы стараемся не делать.
Очереди считаются отдельно
Про очередь может знать только живой водитель — никакие данные, кроме человеческих глаз, не расскажут, что хвост растянулся на сорок машин. Поэтому очередь у нас теперь отдельный сигнал, а не одна из разновидностей статуса.
Если водитель отметил очередь, эта информация считается актуальной несколько часов — пока следующий водитель не скажет, что ситуация изменилась. И она больше не теряется за отметками о наличии топлива: карточка АЗС показывает и сколько топлива, и какая очередь.
Мелочь, которая раздражала
Теперь карточка пишет «Есть бензин», только если бензин действительно есть среди доступных марок. Если на заправке остался один дизель — так и будет написано: «Есть топливо». Мелочь, но именно из таких мелочей складывается доверие к карте.
Мы работаем над этим каждый день
Бензонавт меняется постоянно — и в основном по вашим замечаниям. Кто-то пишет, что статус не сходится с реальностью; кто-то — что очередь не видно; кто-то замечает неточность в марках топлива. Каждое такое сообщение мы разбираем и правим, часто в тот же день.
Задача у нас простая и честная: чтобы водитель, открывший карту, доехал до заправки и заправился — без лишнего круга, без пустой колонки и без сюрпризов.
Бензонавт — живая карта наличия бензина на АЗС. Отмечайте, где есть топливо и какие очереди: чем больше водителей отмечается, тем точнее карта для всех.