К содержимому
КейсыСеть доставки суши и пиццы · Доставка еды, HoReCa · 5 октября 2026

Геоаналитика для службы доставки суши: пересобрали зоны и нашли, где на самом деле теряется время

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

Лучшая точка
84% → 92%
спроса у самой быстрой точки, по расчету
Сильно не та точка
9,9% → 1,9%
спроса, где проигрыш больше 3 минут
Срок
6 дней
от выгрузки до карты и презентации
Платные API
~2 150 ₽
за весь проект, остальное в бесплатных лимитах
Проверки
2 независимые
критический аудит и слепая пересборка

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

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

Зачем вообще возить быстрее

Прежде чем рисовать карту, стоит ответить на скучный вопрос: а сколько стоят лишние минуты? «Клиенты недовольны» не аргумент для бюджета.

Я посчитала по истории заказов сети, как время доставки связано с тем, вернется ли клиент. Клиенты, которым заказ привезли до 40 минут, в течение двух месяцев заказывают снова в 52% случаев. Те, кто ждал 90-120 минут, в 43%. Важно, что разница сохраняется и внутри каждой точки: долгие заказы проигрывают быстрым от 3 до 9 процентных пунктов возвращаемости.

Доля клиентов, заказавших снова в течение 60 дней: 52% после доставки до 40 минут, 48% после 40-60, 45% после 60-90 и 43% после 90-120 минут

Это связь, а не доказанная причина: долгие доставки чаще случаются в пик и в дальних районах. Но сигнал достаточно сильный, чтобы перевести его в деньги. И денег тут два слоя.

Первый слой: выручка, которая не вернулась. Клиент, который больше не заказал, не принесет следующий заказ.

Второй слой: цена замены. Чтобы оборот не падал, ушедшего клиента нужно заменить новым, а новый стоит денег на рекламу. Я беру 500 ₽ за привлеченного клиента как осторожный ориентир: на рынке доставки еды дешевле привлечь сложно.

Расчет на условной сети (цифры круглые и не принадлежат заказчику): 1 000 долгих заказов в месяц, средний чек 1 500 ₽, привлечение 500 ₽.

СценарийРазница в возвращаемостиНе вернулись за месяцВыручка следующего заказаЗамена новымиВместе за год
Осторожный3 п. п.30 клиентов45 000 ₽ в месяц15 000 ₽ в месяцоколо 0,7 млн ₽
Наиболее вероятный6 п. п.60 клиентов90 000 ₽ в месяц30 000 ₽ в месяцоколо 1,4 млн ₽
Грустный9 п. п.90 клиентов135 000 ₽ в месяц45 000 ₽ в месяцоколо 2,2 млн ₽

И это нижняя граница. Выручку я посчитала только по одному следующему заказу, хотя ушедший клиент не принесет и все последующие. А замена не один к одному: новые клиенты в среднем лояльны меньше, в этой сети почти две трети клиентов за полгода заказали всего один раз. То есть привлеченный взамен клиент сам с хорошей вероятностью уйдет, и платить за привлечение придется снова.

Это не доказанный убыток, а ориентир масштаба. Но ради такой суммы уже стоит разобраться, где именно теряются минуты, а не перекрашивать карту наугад.

Если коротко

  • Я разрезала город на 2 226 кварталов по улицам, железной дороге и реке и посчитала время от каждой точки до каждого дома в пробках.
  • По старой карте 83,9% исторического спроса было назначено точке, которая по матрице типичных пробок самая быстрая или уступает лучшей не больше минуты. В рассчитанной карте 92,2%. Основной расчет сделан для пятницы, 19:00, устойчивость проверена на восьми слотах недели.
  • На заказах сентября это дает около +0,6 процентного пункта к доле доставок за час по сети. У заказов, которые сменили точку, дорога короче примерно на 2 минуты.
  • Главный резерв не в карте: кухня в пик, ожидание курьера, пакеты. Под это я собрала 11 рычагов по порядку эффекта.

Почему это кейс про аналитику, а не про автоматизацию

Обычно я собираю автоматизации: ботов, агентов, интеграции. Но любую автоматизацию я начинаю с вопроса «что на самом деле болит», и честный ответ почти всегда лежит в данных. Здесь это видно особенно хорошо: сеть пришла за картой, а данные показали, что карта только часть ответа. Если бы мы сразу что-то внедряли, автоматизировали бы не то.

Бизнес-аналитика моя вторая стезя, в сентябре 2026 я закончила профессиональный сертификат Google Business Intelligence: модели данных, пайплайны, дашборды и отчеты для тех, кто принимает решения.

Что было не так с исходными зонами

Зоны рисовали руками в Конструкторе Яндекс.Карт, кольцами 40, 60 и 90 минут вокруг каждой точки. Так часто начинают сети, и пока точек мало, это работает. Потом проявляются три проблемы:

  1. Часть домов возит не самая быстрая точка. Граница проведена по прямой, а курьер едет по дорогам. У 9,9% исторического спроса назначенная точка проигрывала лучшей больше трех минут в пробках.
  2. Нагрузка неравномерная. Одни точки захлебываются в пик, другие недогружены.
  3. Новая точка не вписана. Ей нужно отдать кусок города и набрать свой объем, не обрушив соседей.

Почему не хватило стандартных инструментов

Логичный вопрос: зачем отдельное исследование, если у сети есть iiko и бесплатные сервисы Яндекса.

  • iiko умеет рисовать зоны, задавать время доставки по зонам и строить отчеты: среднее время в пути, опоздания по курьерам. Но это средние по точке и курьеру. Он не скажет, какой дом выгоднее отдать соседней точке, не знает пробок, мостов и переездов, а этапы «готов» и «отправлен» в нем такие, какими их отметил администратор. Плюс выяснилось, что время обещания в iiko не совпадало с кольцами на карте сайта, поэтому «опоздания» в отчетах считались от другой цифры.
  • Геоаналитика Яндекс Карт показывает трафик, поисковые запросы, конкурентов и демографию по районам. Это хорошо для вопроса «где в городе есть спрос», но она не знает ваших заказов, вашей кухни и ваших курьеров.
  • Конструктор Яндекс.Карт просто инструмент рисования. Где провести линию, он не подскажет.

Поэтому основа здесь собственные данные сети за год, а внешние сервисы только проверка и дополнительный слой.

Как я собирала карту

Четыре шага сборки карты: кварталы вместо кругов, время в пробках, нагрузка отдельно, ручная сборка шести версий

  1. Кварталы вместо кругов. Город разрезан по данным OpenStreetMap: улицы, железная дорога, вода. Квартал минимальная единица, граница зоны его не режет. Через пути и реку кварталы считаются соседями, только если рядом есть мост, тоннель или переезд. Так зона не «перепрыгивает» туда, куда нельзя проехать.
  2. Время по дорогам в пробках, из двух источников. Дорожный граф, откалиброванный на фактических поездках курьеров, и Mapbox с типичными пробками в восьми слотах недели. Источники сходятся с корреляцией 0,94.
  3. Без ловушки перегруженной точки. В первой версии алгоритм видел, что одна точка медленная, и отбирал у нее даже соседние дома. Но медленная она из-за кухни, а не из-за географии. Поэтому для назначения все точки считались одинаково быстрыми, а нагрузку я ограничила отдельным правилом: точка не получает больше, чем может приготовить, а если правила спорят, платим дорогой не больше 2-3 минут и только на стыке зон.
  4. Ручная сборка и шесть версий. Расчетная карта это черновик. Я перенесла ее в Конструктор, выверила внешний контур по развязкам и путям и прошла шесть версий внутренних границ. Каждую проверяла одинаково: щели и перекрытия, дома вне зон, нагрузка по точкам, объем новой точки, сверка с Mapbox, проверка на исторических заказах.

Анимированная схема без подложки и подписей: исходная карта зон на шесть точек сменяется рассчитанной на семь, доля спроса у самой быстрой точки 84% и 92%

Исходная карта и рассчитанный вариант

Исходная картаРассчитанный вариант
Границы по прямой, кольца вокруг точкиГраницы по кварталам, улицам, железной дороге и реке
Время на глаз и по опытуВремя по дорогам в пробках, в восьми слотах недели
83,9% спроса назначено самой быстрой или почти самой быстрой точке92,2%
У 9,9% спроса проигрыш больше 3 минут1,9%
Новой точки на карте нетНовая точка набирает свой объем, соседи разгружены

Это расчет на исторических заказах, а не результат после запуска. Как карта сработает в жизни, покажет контроль через 2-4 недели работы (о нем ниже).

Где на самом деле теряется время

Это та часть, ради которой, по-моему, стоило делать проект.

Если проверить новую карту на реальных заказах сентября, доля доставок за час по сети растет примерно на 0,6 процентного пункта. Оптимистичная оценка +1,3 держится на допущении, что новая точка без истории сразу заработает на заданном уровне. Для заказов, которые сменили точку, разница ощутимая, но их около пятой части.

Тогда я разложила время заказа на этапы:

  • Кухня в пик. У части точек время до готовности растет вместе с потоком почти вдвое.

  • Ожидание курьера. Готовый заказ стоит на полке. У одной точки готовый рейс ждал выезда заметно дольше, чем у остальных, и это держалось по месяцам.

  • Пакеты. Курьер везет два-три заказа за раз. В рейсах сети второй заказ доезжает в среднем примерно на 14 минут позже первого, третий на 28. Это сравнение позиций в рейсе, а не чистый эффект пакета, но порядок величины понятен. Второй заказ в рейсе доезжает примерно на 14 минут позже первого, третий на 28

  • Кольцо «40 минут». Меньше половины заказов в нем реально доезжают за 40. Обещание расходится с тем, что точка физически может.

Четыре места, где теряется время: кухня в пик, ожидание курьера, пакеты по несколько заказов и кольцо «40 минут», которое не выполняется. Карта один из 11 рычагов

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

Как я проверяла выводы и где ограничения

Отметкам по этапам нельзя верить на слово. После первой презентации представитель сети рассказала, что отметки «готов» и «отправлен» администраторы ставят с задержкой. Я проверила. На одной точке с августа стоят мониторы, где курьеры отмечаются сами. После их появления кухня в данных стала короче на 6-8 минут, дорога длиннее примерно на столько же, а полное время осталось примерно на прежнем уровне. То есть новый способ фиксации перераспределил минуты между этапами, но общее время заказа не изменил.

Одна точка до и после мониторов: кухня по отметкам 27 и 19 минут, дорога 21 и 28, полное время 61 и 63 минуты

Вывод: полное время от подтверждения до вручения надежное, а сравнивать точки по этапам можно только с поправкой. Выводы про кухню я переписала с ней.

Спорный район. Сеть сомневалась, отдавать ли район за развязкой с вечными пробками одной из точек: «туда доедешь, а обратно курьер застрянет». Я посчитала маршруты в пробках в обе стороны для 40 домов в трех временных слотах. Оборот курьера туда и обратно у этой точки 23 минуты против 32 у соседней, быстрее для всех 40 домов, включая вечер пятницы. Район оставили, с контрольной проверкой через две недели после запуска.

Новая точка без истории. Ее время и мощность в расчетах допущение, и это подписано везде, где она участвует.

Аномальный август. Во второй половине августа в городе были перебои с топливом, дорога по сети выросла на 8 минут. Эти дни я исключила из «обычного месяца».

Самовывоз против агрегаторов. Тут ошиблась я. Заказы без адреса я сначала посчитала самовывозом, вышло подозрительно много. Сеть поправила: туда же попадают заказы агрегаторов. Разделила, и доля самовывоза совпала с тем, что сеть знает по опыту.

Две независимые проверки. Я не люблю, когда исполнитель сам себе ставит пятерку, поэтому дала материалы двум независимым агентам. Первый работал критиком и нашел три серьезные вещи: проверка на июне и июле шла на тех же месяцах, на которых училась модель; одна метрика считала долю прогнозов, а не долю доставок; «потолок любой карты» на деле был идеализированной оценкой. Все три я приняла, пересчитала и снизила заявленный эффект. Второй агент собрал карту с нуля, не видя моего решения. Его карта совпала с моей на 83,5% домов, но по пробкам вышла хуже (86,5% спроса у самой быстрой точки против 92%), и одну из точек он оставил без нужного объема. Его идею аккуратнее запечатывать швы между зонами я взяла.

Сколько стоили данные и как я не переплатила

Нужны два внешних сервиса: геокодер (превратить адрес в точку на карте) и время в пути с пробками. Оба легко съедают бюджет, сравнимый со стоимостью самой работы. Платные API заказчик оплачивал отдельно, поэтому я с первого дня искала самый дешевый вариант, который не врет. Цены ниже на момент расчета, сентябрь 2026.

Геокодер. Геокодер Яндекса по стандартной лицензии стоит 195 000 ₽ в год и разрешает хранить результаты только до 30 дней, хранение на весь срок дает расширенная лицензия за 226 200 ₽. У 2ГИС, по моему прочтению их правил API, хранить ответы вне их карты нельзя. Бесплатный OpenStreetMap промахивался мимо домов. Основным стал DaData за 0,20 ₽ за адрес: он прошел по всем 11 тысячам домов и заодно сработал сортировщиком. Где он уверен в доме, координата принимается, где нет, дом уходит дальше по цепочке (OpenStreetMap, демо-лимит 2ГИС, Google в бесплатном лимите). Итог: около 2 150 ₽ за весь проект, координаты у 99,4% заказов.

Время с пробками. Месячная лицензия матрицы Яндекса 20 800 ₽, Google по тарифам на дату расчета $190-260 за полную матрицу. Выбирать по документации я не стала и устроила пилот: 452 реальные одиночные поездки курьеров, разные точки, часы, мосты и переезды.

  • 2ГИС выбыл: построил маршрут только для 49% пар.
  • Google и Mapbox оказались неразличимы: средняя ошибка 4,98 минуты у обоих.
  • У Mapbox 100 тысяч запросов в месяц бесплатно.

Полную матрицу я считала через Mapbox, Google оставила контролем. Вместо $200 с лишним матрица обошлась в 0, ценой пары часов работы на обход лимитов скорости. И отдельно я проверяла лицензии: можно ли хранить ответы сервиса у себя. Отчет на данных, которые нельзя хранить, потом не пересчитать.

Сколько стоили данные: геокодер DaData около 2 150 ₽ вместо 195 000 ₽ в год у Яндекса, матрица времени в Mapbox 0 ₽ вместо 20 800 ₽ в месяц у Яндекса и 190-260 долларов у Google

Что сеть получила

  • KML для Конструктора Яндекс.Карт.
  • Документ с обоснованием каждой границы: какие кварталы куда перешли и почему.
  • Презентацию с выводами и 11 рычагами по порядку эффекта.
  • Интерактивные карты «старая против новой» и карты колец.
  • Отдельную презентацию по клиентской базе: новые, ушедшие, возвращаемость после быстрых и долгих заказов.

Персональные данные клиентов в аналитику не попадали: при загрузке телефоны заменялись HMAC-кодом с локальным секретным ключом. Исходные выгрузки хранились отдельно с ограниченным доступом и не передавались внешним сервисам.

Контроль после запуска

Все, что выше, это расчет на истории. Фактический эффект покажет сравнение 2-4 недель после запуска с таким же периодом до него, отдельно по районам, которые сменили точку, и по нетронутым районам как контролю. Метрики: медиана и p90 времени доставки (p90 это время, дольше которого едут только 10% заказов), доля доставок за час, загрузка точек в пик. Когда данные будут, допишу сюда.

Что дальше: от разового анализа к системе

Все расчеты лежат в скриптах, которые пересчитываются на новых данных. Отсюда естественный следующий шаг, и это уже моя родная территория, автоматизация:

  1. Дашборд по точкам. Медиана и p90 времени, доставки за час, кухня в пик, нагрузка на курьера, по дням и неделям. Обновляется сам из учетной системы.
  2. AI-агент с уведомлениями по триггерам. Он не ждет, пока кто-то откроет дашборд, а сам пишет в Telegram, когда что-то пошло не так: у точки p90 вырос на 10 минут за неделю, кухня в пик стала медленнее, кольцо «40 минут» перестало выполняться, после долгих заказов клиенты перестали возвращаться. И сразу говорит, на какой этап смотреть.
  3. Контроль карты. Тот же агент сравнивает «до» и «после» по районам, которые сменили точку.

Аналитика отвечает на вопрос «что чинить», а автоматизация следит, чтобы оно не сломалось снова.

Вывод

Главное здесь не 92%. Главное, что сеть теперь знает, за что платить в первую очередь, и не ждет от новой карты того, что она дать не может. Сначала чинить процесс, потом автоматизировать.


Если у вас сеть доставки и зоны нарисованы когда-то давно руками, а курьеры жалуются на «не тот район», это можно пересобрать по данным. Достаточно выгрузки заказов за год и текущих зон. А если хочется, чтобы проблемы с доставкой всплывали сами, а не через жалобы клиентов, следом можно собрать дашборд и агента с уведомлениями.

Напишите мне в Telegram или оставьте заявку. Расскажите, сколько у вас точек и как сейчас поделен город, я посмотрю и честно скажу, сколько там можно выиграть на карте, а сколько на самих точках.

Стек

Данные
Выгрузка iikoБаза заказов сетиDaData
Карта
OpenStreetMapH3shapely
Время в пути
Дорожный граф OSMMapbox с пробками
Расчеты
PythonpandasOR-Tools
Результат
KML для Конструктора Яндекс.КартИнтерактивные картыПрезентация

Частые вопросы

Почему нельзя просто нарисовать зоны кругами вокруг точек?
Потому что город режут железная дорога, река и магистрали. Дом может быть в двух километрах от точки по прямой, но в двадцати минутах по дороге, если между ними пути и один переезд. Я резала город на кварталы по улицам и барьерам и считала время по дорогам в пробках, а не расстояние по прямой.
Можно ли сделать так же для моей сети, если у меня не iiko?
Да. Нужна выгрузка заказов за год с адресом, временем создания и временем доставки, плюс текущие зоны. Подойдет любая система учета: iiko, r_keeper, Frontpad, собственная база. Если координат в выгрузке нет, дома геокодируются отдельно, это недорого.
А как с персональными данными клиентов?
Имена, адреса с квартирами и комментарии в аналитику не берутся. Телефоны при загрузке заменяются HMAC-кодом с локальным секретным ключом, поэтому в аналитических таблицах номеров нет. Исходные выгрузки хранятся отдельно с ограниченным доступом и не передаются внешним сервисам.
Почему вы пишете, что карта не главный рычаг? Тогда зачем она?
Карта убирает потери на дороге: у заказов, которые сменили точку, путь в пробках короче примерно на 2 минуты. Это нужно, особенно с открытием новой точки. Но по всей сети эффект скромный, потому что основное время теряется на самих точках: кухня в пик, ожидание курьера, пакеты по три заказа. Это я тоже посчитала и показала.
Как сделать зоны доставки в Яндекс Картах для сети из нескольких точек?
Зоны рисуются в Конструкторе Яндекс.Карт и выгружаются файлом KML. Сложность не в рисовании, а в том, где провести границы. Я начинаю с выгрузки заказов за год: где живут клиенты, сколько реально едет курьер от каждой точки в пробках, сколько выдерживает кухня. Потом границы ведутся по улицам, мостам и железной дороге, а кольца времени ставятся по фактическим данным.
Почему не хватает отчетов iiko?
В iiko можно нарисовать зоны, задать время доставки по зонам и смотреть отчеты по курьерам: среднее время в пути, опоздания. Но iiko не скажет, какой дом выгоднее отдать другой точке, не знает пробок и мостов, а отметки этапов зависят от того, когда их нажал администратор. В этом проекте опоздания в iiko вообще считались от другого обещания, чем на карте сайта.
Почему не взять Геоаналитику Яндекса?
Геоаналитика Яндекс Карт полезна: показывает трафик, поисковые запросы, конкурентов и демографию по районам. Она хорошо отвечает на вопрос «где в принципе есть спрос». Но она не знает ваших заказов, вашей кухни и ваших курьеров. Зоны и время доставки решаются на собственных данных сети, а Геоаналитику можно добавить как внешний слой при выборе новой точки.
Зачем заказывать исследование, если зоны можно нарисовать самому?
Нарисовать можно, и многие так делают. Вопрос в цене ошибки: неудачная граница теряет минуты на каждом заказе каждый день, а лишнее обещание «40 минут» бьет по возвращаемости клиентов. Исследование показывает, где именно теряется время и сколько даст карта, а сколько изменения на точках. И остаются скрипты, которые пересчитают все при следующем изменении.
Чем оптимизация маршрутов доставки отличается от зон?
Зоны решают стратегический вопрос: какая точка возит какой дом. Маршруты решают тактический: в каком порядке курьер развозит заказы в рейсе. Это связано: в этом проекте второй заказ в рейсе ехал примерно на 14 минут дольше первого, третий на 28. Поэтому вместе с картой я считала пакеты и нагрузку на курьера.
Как выбрать место для новой точки доставки?
Тем же способом: берем карту спроса по реальным заказам, время в пробках от кандидата до каждого дома и смотрим, какие кварталы точка заберет у соседей и сколько заказов наберет. В этом проекте адрес новой точки уже был выбран, и я проверяла, как вписать ее в карту, не обрушив соседей. Для выбора адреса можно добавить Геоаналитику Яндекса.
Сколько стоят данные и API для такого исследования?
В этом проекте около 2 150 ₽: геокодер DaData по всем домам. Время в пробках посчитано через Mapbox в бесплатном лимите, после того как пилот на 452 реальных поездках показал, что он не хуже Google. Для сравнения, лицензия матрицы Яндекса стоит 20 800 ₽ в месяц, а его геокодер от 195 000 ₽ в год (цены на сентябрь 2026).
Зачем аналитика, если вы занимаетесь автоматизацией?
Потому что автоматизировать стоит то, что действительно болит. Здесь сеть пришла за картой, а данные показали, что основное время теряется на кухне и при выезде курьера. Разовый анализ отвечает на вопрос «что чинить», а следующий шаг, дашборд и AI-агент с уведомлениями по триггерам, следит, чтобы проблема не вернулась.
Что клиент получает на руках?
Файл KML, который загружается в Конструктор Яндекс.Карт, документ с обоснованием каждой границы, презентацию с выводами и рычагами, интерактивные карты для проверки отдельных домов и таблицы. Все расчеты воспроизводятся скриптами, поэтому при изменении карты цифры пересчитываются тем же способом.
Get in touch

Хотите автоматизировать что-то в своём бизнесе?

Расскажите, что вас задолбало делать руками. 30 минут на бриф, потом конкретное предложение или отказ, если задача не моя.