Личная норма вместо среднего по больнице
Восемь адресов — для одного обычный день, для другого перегруз. Приложение строит вашу личную норму по каждой метрике и сравнивает день с вами, а не с абстрактным средним человеком.
Любой «средний показатель по всем» врёт про конкретного человека. Кто-то легко делает десять адресов за день и не замечает, а для кого-то и пять — потолок. Сравнивать обоих с одной общей планкой — значит одному постоянно говорить «мало», а другому «перегруз», и оба будут правы, что не верят приложению.
Поэтому Визиторкрут не меряет вас средним по больнице. Он строит вашу личную норму по каждой метрике — и уже от неё считает, насколько сегодняшний день выбивается.
Что делает
Приложение смотрит на ваши последние смены и по каждому показателю (километры, адреса, длина дня и так далее) строит две величины: центр — где обычно проходит ваш день — и разброс — насколько дни гуляют вокруг этого центра. Дальше любой новый день сравнивается именно с этими двумя числами: далеко ли он ушёл от вашего привычного и в какую сторону.
Что за этим стоит
Медиана, а не среднее
Центр нормы приложение берёт как медиану — значение, которое делит ваши дни ровно пополам, — а не как обычное среднее. Разброс считается через MAD, медианное отклонение: насколько типично день отходит от медианы.
Почему так, а не привычным средним? Потому что среднее чувствительно к выбросам. Один день, застрявший в глухой пробке, раздувает среднее — и «норма» уползает вверх, маскируя реальные отклонения всех остальных дней. Медиане один аномальный день безразличен: она смотрит на середину, а не на сумму. Для честной личной нормы это решающее свойство.
Личная норма смешивается с общей
Пока смен мало, доверять только вашим данным рано — статистики не хватает. Поэтому личная норма смешивается с популяционной (общей по всем пользователям). И чем больше у вас накопленной истории, тем сильнее перевес в сторону вашей личной нормы, а общая отступает.
Норма строится по окну в 28 дней. Личной норме приложение начинает доверять с 7 смен и переходит на неё полностью к 28 сменам. До этого работает мягкая смесь — так новичок не получает диких оценок на пустой истории.
Отклонение переводится в балл 0–100
Насколько день отклонился от нормы, приложение выражает робастным z-score — на сколько «разбросов» день ушёл от центра. Чтобы MAD говорил на привычном языке статистики, его домножают на 1,4826 — тогда он примерно равен обычной «сигме».
Дальше z-score переводится в индекс 0–100 через функцию tanh — плавную кривую, которая мягко упирается в края и не даёт баллу улететь в бесконечность на большом выбросе. Настройка INDEX_GAIN = 45 задаёт рабочий диапазон 5–95: одно отклонение в сигму даёт примерно 71 балл, два — около 84. Есть и защита от нулевого разброса: если у метрики все дни одинаковы, деление на разброс не сломает расчёт.
Приложение подстраивается под ваш ритм, а не заставляет вас соответствовать чужому.
Почему это важно
Без личной нормы любой индекс — это разговор про среднего человека, которого не существует. Он либо льстит, либо пугает без повода, и в обоих случаях его перестают слушать. Личная норма делает оценку честной: «на 40% больше твоей нормы» — это про вас, а не про статистику.
И именно на этой норме держатся все три индекса приложения. Медиана с MAD, аккуратное смешивание с общей нормой на старте и плавный перевод в баллы — всё ради того, чтобы приложение говорило про вашу реальную работу, а не про абстрактную усреднённую.
Как строится личная норма
- Центр нормы — медиана, разброс — MAD (медианное отклонение); устойчивы к выбросам, в отличие от среднего и стандартного отклонения.
- Личная норма смешивается с популяционной; чем больше истории — тем сильнее перевес в пользу личной.
- Окно нормы — 28 дней; доверие личной норме — с 7 смен, полное — с 28.
- Робастный z-score → индекс 0–100 через tanh; MAD×1,4826 ≈ обычная сигма.
- INDEX_GAIN = 45 задаёт диапазон 5–95: одна сигма ≈ 71 балл, две ≈ 84; есть защита от нулевого разброса.
- Реализовано в baseline_service.py: build_baseline, robust_z, to_index, effective_baseline, POPULATION.
Проверь любой заказ за секунду
Установи приложение и посмотри честный вердикт по своему следующему адресу — стоит ехать или нет.
Скачать для Android Android 8+ · установка из файла · бесплатно