Дашборд для службы доставки 2026: SLA, failed delivery, route time, fuel и возвраты
Дашборд для службы доставки нужен не для того, чтобы показать диспетчеру еще одну красивую карту. Его задача практичнее: вовремя увидеть заказы, которые уже рискуют нарушить SLA, понять, где курьеры теряют время на маршруте, сколько стоит failed delivery, какие возвраты блокируют товар и почему маркетплейс или клиент видит один срок доставки, а операционная команда - другой.
SimpleDashboard подходит для первого рабочего экрана из CSV/XLSX/API-выгрузки CRM, TMS, курьерского приложения, 1С, маркетплейса или таблицы диспетчера. AI может быстро собрать прототип по описанию на русском языке, но формулы SLA, исключения, timezone, статусы курьеров и контрольные строки должен подтвердить владелец операционного процесса.

Главное
- Для первого экрана доставки обычно хватает 8-10 KPI: OTD/SLA, OTIF при необходимости, failed delivery rate, first-attempt success, average route time, stops per hour, cost per delivery, fuel per route, returns/RTO и data quality.
- McKinsey отдельно подчеркивает, что у OTIF нет единого стандартного определения: участники цепочки могут по-разному понимать promised date, requested date, time window и "in full". Поэтому SLA на дашборде нельзя выводить без словаря.
- Shipium в документации On-Time Performance считает показатель как процент shipments, доставленных on or before desired delivery date, и отдельно показывает разрезы по carrier, service method, origin/destination и service level. Это хороший шаблон для структуры доставки, даже если у вас не Shipium.
- DHL eCommerce в опросе 2025 года на 24 000 онлайн-покупателей пишет, что 73% global shoppers не купят у retailer, если не доверяют delivery provider. Доставка и возвраты - не "последний шаг", а часть конверсии и повторной покупки.
- NRF в 2025 Retail Returns Landscape оценивает, что 19.3% online sales будут возвращены в 2025 году. Для дашборда доставки это значит: возвраты и RTO должны быть отдельным процессом, а не серой строкой "не доставлено".
- Форумы, Reddit и courier communities использованы ниже только как сигналы полевых проблем: невозможные SLA, same-day route changes, адреса без деталей, возвраты на склад, ночные маршруты, спор "курьер виноват или обещание было нереальным". Точные формулы проверяются по официальным docs и вашим данным.
Эта статья для владельца интернет-магазина, руководителя доставки, диспетчера, COO или marketplace operations, которому нужен дашборд службы доставки для ежедневного управления, а не общий текст про "аналитику логистики".
В нашем тесте прототипа SimpleDashboard для операционного экрана доставки чаще всего ломался не график, а словарь статусов. В одной выгрузке delivered означает вручение клиенту, в другой - размещение в ПВЗ, в третьей - скан курьера без подтверждения клиента. failed может означать недозвон, неверный адрес, отказ, отсутствие клиента, отмену продавцом, техническую ошибку или возврат после нескольких попыток. Поэтому хороший дашборд начинается с KPI/risk table, а не с выбора цвета gauge.
Logistics KPI/risk table для первого экрана
| KPI | Формула для пилота | Что проверить в данных | Риск неверного вывода | Управленческое действие |
|---|---|---|---|---|
| OTD / SLA | доставлено в обещанное окно / все доставленные заказы * 100% |
Promise date, delivery window, timezone, переносы по просьбе клиента | Команда спорит, late это 1 минута после окна или следующий день | Пересмотреть слот, capacity, carrier, обещания на сайте |
| OTIF | on time and complete orders / total orders * 100% |
Полная комплектация, partial delivery, split shipment | Заказ вовремя, но не весь; клиент все равно недоволен | Разделить проблемы склада и доставки |
| Failed delivery rate | failed attempts / all attempts * 100% |
Причина failed, attempt number, кто инициировал отмену | Курьер выглядит виноватым, хотя адрес неполный или клиент недоступен | Ввести pre-dispatch проверку адреса/телефона |
| First-attempt success | orders delivered on first attempt / orders attempted * 100% |
Повторные попытки, ПВЗ, курьерская доставка, COD | Повторные попытки съедают смену и fuel, но не видны в delivered rate | Отдельно считать повторные маршруты и cost per reattempt |
| Average delivery time | delivered_at - accepted_at или другое согласованное окно |
От какого события считать: заказ, сборка, pickup, out for delivery | Смешиваются складская задержка и курьерский маршрут | Разделить order-to-ship, ship-to-deliver, route time |
| Route time | route_finished_at - route_started_at |
Возврат на базу, break, ожидание клиента, offline gaps | Курьер "медленный", хотя маршрут был невозможен по плотности/пробкам | Пересобрать зоны, stop density, cut-off time |
| Stops per hour | completed stops / active route hours |
Доставки, заборы, возвраты, ПВЗ, ожидание | Нельзя сравнивать центр города, пригород и крупногабарит | Сегментировать по зоне, типу заказа, весу и окнам |
| Fuel / km per order | fuel или km / delivered orders |
Пробег по GPS, личный/служебный транспорт, холостой пробег | Экономия на fuel может ухудшить SLA и first-attempt success | Смотреть вместе с SLA, route density и failed attempts |
| Courier load | активные заказы / курьер / смена и active hours |
Статусы online/offline/break, тип транспорта, зона | Перегруз одного курьера скрывается средним числом по смене | Балансировать назначение и лимиты по зонам |
| Returns / RTO | returned orders / shipped orders * 100% |
Возврат клиента, отказ от получения, брак, failed COD, marketplace return | Возврат списывается на доставку, хотя причина в товаре/описании | Разделить причины и стоимость reverse logistics |
| Data quality | Пустые статусы, дубли order_id, нет courier_id, нет promise date | Поля, timezone, дубли попыток, пропуски GPS/status | KPI выглядят точными, но собраны из неполной выгрузки | Показывать ошибки данных рядом с KPI |
Не все метрики нужны одинаково крупно. Для диспетчера на смене важнее опаздывающие заказы, route exceptions, курьеры без связи, next SLA breach и failed attempts сегодня. Для руководителя важнее SLA по зонам, cost per delivery, first-attempt success, fuel/km, returns и тренды по причинам.
Что считается late delivery, а что failed delivery
Late delivery - это нарушение обещанного клиенту или партнеру времени. Но обещание бывает разным: дата доставки на сайте, слот 10:00-14:00, SLA маркетплейса, внутренний cut-off, договорной срок B2B или requested date клиента. McKinsey на примере OTIF показывает, что разные стороны могут считать "on time" по разным датам и окнам. В дашборде поэтому рядом с SLA нужно показывать sla_basis: promised date, requested date, delivery slot, carrier desired delivery date или marketplace metric.
Failed delivery - это не просто "заказ не доставлен". Для управления нужны причины:
- клиент недоступен или не ответил на звонок;
- адрес неполный, неверный подъезд, нет домофона, нет landmark;
- курьер не успел в маршрутное окно;
- заказ отменен продавцом или клиентом до попытки;
- клиент отказался от COD/оплаты при получении;
- товар поврежден, некомплектен или не подходит;
- заказ перенесен клиентом и не должен портить SLA курьера;
- маркетплейс или carrier изменил обещанную дату;
- техническая ошибка статуса или скана.
Если эти причины не разделены, дашборд будет подталкивать к неправильным решениям: штрафовать курьеров за невалидные адреса, увеличивать смену вместо проверки cut-off, покупать TMS вместо исправления карточки товара или обещать same-day там, где зона физически не выдерживает маршрут.
Какие данные нужны для пилота
Минимальный CSV/XLSX для первого дашборда:
- заказ:
order_id,created_at,paid_at,cancelled_at,source,marketplace,payment_type,cod_flag; - обещание:
promised_from,promised_to,desired_delivery_date,sla_type,cutoff_time; - маршрут:
route_id,courier_id,vehicle_type,zone,route_started_at,route_finished_at; - статусы:
status,status_at,attempt_number,failure_reason,reschedule_reason; - фактическая доставка:
out_for_delivery_at,delivered_at,proof_type,recipient_confirmed; - стоимость:
delivery_fee,courier_cost,fuel_costилиkm,carrier_cost,return_cost; - возвраты:
return_requested_at,returned_at,return_reason,rto_flag,restocked_at; - качество данных: timezone, источник выгрузки,
last_updated_at, дубли order/attempt/status.
Если нет fuel или GPS, можно начать с route time, stops per hour и cost per delivery. Если нет причин failed delivery, первым результатом дашборда должен стать список строк "failed без причины", а не уверенный график виновников.
Marketplace delivery data: что не забыть
Маркетплейсы измеряют доставку не так, как внутренний Excel диспетчера. Amazon OTDR для seller-fulfilled units считает delivered on or before seller-promised "Deliver by" date, использует rolling 14-day evaluation и ожидает минимум 90% OTDR для Amazon.co.uk FBM, рекомендуя 95% и выше. Это не универсальный норматив для всех служб доставки, но хороший пример: маркетплейс формализует окно, выборку, исключения и последствия.
Ozon для realFBS в метрике Delivery on time смотрит заказы за последние 7 дней без текущего дня, сравнивает promised и actual delivery dates и показывает показатель в Analytics -> Ratings. В документации указано рекомендуемое значение не ниже 80%, а ошибки на стороне delivery service не должны снижать метрику продавца. Для собственного дашборда это сигнал хранить не только факт опоздания, но и ownership: продавец, склад, курьерская служба, клиент, маркетплейс.
Yandex Market API для продавцов покрывает orders, shipments FBS, DBS-delivery, non-purchases and refunds, reports/documents и API notifications по изменению заказов, статусов, cancellation requests, order cancellation, non-purchases и refunds. Если вы доставляете заказы маркетплейса своими силами, дашборду нужны не только курьерские статусы, но и события маркетплейса.
Wildberries API описывает доступ к up-to-date and statistical information, интеграцию с ERP/WMS/OMS/CRM, seller rating, reports, buyer returns и rate limits. Для регулярного dashboard refresh это важно: API-лимиты, задержки и ошибки 429/5xx должны отображаться как data freshness issue, а не молча превращаться в "сегодня заказов меньше".
Практический вывод: для marketplace delivery нельзя смешивать "внутренне доставлено", "маркетплейс принял статус", "клиент получил", "ПВЗ разместил", "возврат оформлен" и "деньги разблокированы". Это разные события и разные риски.
Риски, которые ломают доставочный дашборд
| Риск | Как проявляется | Что ломается | Как закрыть перед запуском |
|---|---|---|---|
| SLA без явного окна | "Опозданий 12%", но непонятно: дата, слот или promised timestamp | Сравнение зон, курьеров и marketplace metrics | Завести sla_basis, promised_from/to, timezone и правило переносов |
| Attempt и order смешаны | Один заказ с 3 попытками считается как 3 заказа | Failed rate, first-attempt success, нагрузка | Разделить order_id и attempt_id |
| Возврат считается как failed delivery | Клиент вернул товар через 5 дней, а курьер попал в "не доставил" | Рейтинг курьера, SLA, cost per delivery | Разделить failed attempt, return, RTO, cancellation, defect |
| Не видно причины failed | Все статусы "undelivered" в одном ведре | Нельзя понять, что чинить | Обязать reason code и показывать "unknown reason" отдельно |
| Route time включает break и ожидание склада | Курьер выглядит медленным | Нагрузка, stops/hour, премии | Разделить pickup wait, route active, customer wait, return-to-base |
| Fuel смотрят отдельно от SLA | Экономный маршрут ухудшает окна доставки | Ложная экономия | Считать fuel/km вместе с late orders и failed attempts |
| Marketplace статусы приходят позже | Внутри доставлено, в кабинете еще "в пути" | Штрафы, спор с клиентом, cash flow | Показывать delay между internal status и marketplace accepted status |
| ПВЗ и courier delivery в одном KPI | ПВЗ "доставлено на полку", курьер "вручено клиенту" | SLA и first-attempt success несравнимы | Сегментировать delivery_mode |
| AI угадал колонку по названию | duration принят за route time, хотя это total order time |
Все средние времена | Словарь полей и 10-20 контрольных заказов |
| Нет data freshness | API упал, а график выглядит спокойным | Решения по устаревшим данным | last_updated_at, status refresh, ошибки API/лимитов на экране |
Как собрать дашборд доставки через SimpleDashboard
Шаг 1. Выгрузите 30-60 дней заказов
Для пилота подойдет CSV/XLSX из CRM, 1С, МойСклад, RetailCRM, TMS, курьерского приложения, Яндекс Маркета, Ozon, Wildberries, Shopify, самописной админки или Google Sheets. Лучше взять период с обычными днями, выходными, пиками, возвратами и хотя бы несколькими маршрутными зонами.
Шаг 2. Приложите словарь статусов
Отдельно напишите, что у вас означает new, packed, assigned, out_for_delivery, delivered, failed, rescheduled, returned, cancelled, lost, partial, customer_not_home, wrong_address. Если словаря нет, SimpleDashboard может собрать черновик, но спорные статусы будут вынесены в таблицу проверки.
Шаг 3. Отправьте файл в Telegram
Напишите в @coderboxbot:
Собери дашборд службы доставки: SLA по обещанному окну, failed delivery rate, first-attempt success, среднее route time, stops per hour, нагрузка курьеров, fuel/km по маршрутам, возвраты/RTO и список заказов с риском опоздания сегодня.
AI предложит структуру графиков и найдет подозрительные колонки, но формулы фиксируются явно: от какого события считается delivery time, что делать с переносом клиента, как считать ПВЗ, что считается failed delivery и где граница ответственности курьера.
Шаг 4. Сверьте контрольные числа
До публикации сверяем минимум 10-20 заказов и 5 итогов:
- Количество заказов за период.
- Количество attempts.
- Доставлено в срок.
- Failed attempts по причинам.
- Возвраты/RTO и стоимость повторной логистики.
Если цифры не сходятся с CRM/TMS/маркетплейсом, сначала исправляем mapping, timezone, дубли статусов или фильтры. Дашборд с неверной базой вреднее, чем отсутствие дашборда.
Что показывать на первом экране
| Зона экрана | Что показывает | Зачем диспетчеру или руководителю |
|---|---|---|
| SLA risk now | Заказы, которые нарушат окно в ближайшие 30-90 минут | Переназначить курьера, предупредить клиента, снять нереальное обещание |
| Active routes | Курьер, зона, активные заказы, route progress, last status | Видеть смену без ручного обзвона |
| Exceptions | Failed, rescheduled, no contact, wrong address, lost scan | Быстро разбирать проблемы, пока заказ еще можно спасти |
| SLA trend | OTD/SLA по дням, зонам, delivery mode и источникам | Понять, где системный провал, а не случайный курьер |
| First attempt | Успешность первой попытки и причины повторов | Снижать повторные выезды и reverse logistics |
| Route efficiency | Route time, stops/hour, km/order, fuel/order | Находить неэффективные зоны и перегруженные маршруты |
| Returns/RTO | Возвраты, COD refusals, restock delay, return cost | Видеть margin leakage, а не только "заказ не доставлен" |
| Data quality | Дубли, пустые причины, stale API, unknown courier, missing promise | Не принимать решения по грязным данным |
Последний блок выглядит скучно, но именно он часто окупает дашборд. Если на экране видно "18% failed без reason", "43 заказа без promise date", "API маркетплейса не обновлялся 2 часа" или "route_id пустой у 31 заказа", команда перестает спорить о графиках и чинит источник.
Форумные и courier/ops signals: что проверять руками
Community-сигналы не являются источником нормативов, но хорошо показывают, где ломается реальная эксплуатация.
В r/logistics участники обсуждают same-day route changes и невозможные обещания продаж: один комментарий описывает, что route перестраивался по time commitment, ближайшей следующей точке и знанию района, а другой - что sales обещает 2-day transit без проверки carrier lane, border backlog и driver hours. Для дашборда это сигнал: нужен transit matrix, lane history и флаг "promise requires logistics approval".
В courier communities и Amazon Flex обсуждениях повторяются проблемы apartment access, lockers, ночные маршруты, возвраты на склад, маршруты, которые физически не помещаются в block time, и спорные отметки undeliverable. Для дашборда это сигнал: показывать access issues, return-to-station, route overload, safe delivery exceptions и time-window realism.
В ecommerce/dropshipping обсуждениях failed COD/RTO считают не только как reverse shipping fee, а как сумму outbound shipping, return shipping, labor, ad spend/CAC и blocked inventory. Это не доказательная база для конкретной суммы, но сильный сигнал для таблицы cost per failed delivery: считать всю экономику, а не только стоимость обратной посылки.
Когда достаточно Excel, а когда нужен SimpleDashboard
| Ситуация | Excel еще подходит | Нужен SimpleDashboard |
|---|---|---|
| 5-10 доставок в день, один диспетчер | Да, если статусы дисциплинированы | Только для еженедельного отчета владельцу |
| 20-100 доставок в день и несколько курьеров | Временно | Да, чтобы видеть SLA, failed, нагрузку и маршруты |
| Есть ПВЗ, курьеры и маркетплейсы одновременно | Риск смешанных статусов | Да, нужна сегментация delivery_mode/source |
| Есть возвраты, COD или повторные попытки | Excel быстро скрывает стоимость | Да, нужен failed/RTO/cost блок |
| Нужно спорить с carrier или маркетплейсом | Excel слаб для доказательства | Да, если есть события, timestamps и audit trail |
| KPI влияют на штрафы/премии курьеров | Риск конфликтов | Нужны утвержденные формулы, контрольные строки и права доступа |
SimpleDashboard не заменяет TMS, курьерское приложение, CRM или маркетплейс-кабинет. Его роль - быстрый управленческий слой поверх ваших данных: увидеть SLA, failed delivery, route time, fuel, returns и качество источников в одном месте.
Часто задаваемые вопросы
Как считать процент опозданий доставки?
Минимальная формула: заказы, доставленные позже обещанного окна / все заказы с обещанным окном * 100%. Но перед расчетом нужно определить basis: promised date, requested date, delivery slot, marketplace SLA или internal deadline. Без этого процент опозданий нельзя сравнивать между системами.
Failed delivery и возврат - это одно и то же?
Нет. Failed delivery - неуспешная попытка доставки. Возврат/RTO - отдельный обратный процесс, который может начаться после failed attempt, отказа клиента, брака, неподходящего товара или marketplace return. В дашборде их нужно разделять.
Что важнее: среднее время доставки или SLA?
SLA важнее для обещания клиенту, среднее время - для анализа процесса. Среднее может быть нормальным, но длинный хвост опозданий испортит клиентский опыт. Поэтому полезно смотреть SLA, p90/p95 delivery time и список будущих SLA breaches.
Как учитывать fuel и route time?
Не отдельно от качества. Fuel/order и km/order должны смотреться рядом с SLA, first-attempt success и failed attempts. Самый дешевый маршрут может оказаться дорогим, если растут опоздания и повторные выезды.
Можно ли подключить CRM или маркетплейсы напрямую?
Да, если источник отдает API или регулярный экспорт. Для маркетплейсов важно учитывать API-лимиты, задержку статусов и разные события: order, shipment, cancellation, non-purchase, refund, return.
Какие данные нельзя отправлять без подготовки?
Не отправляйте лишние персональные данные клиентов, полные адреса, телефоны и комментарии курьеров, если они не нужны для KPI. Для пилота часто достаточно обезличенного order_id, зоны, временных меток, статуса и reason code.
AI сам поймет все статусы доставки?
AI может предложить mapping, но не должен утверждать формулы без проверки. Статусы failed, returned, cancelled, delivered и rescheduled в разных системах означают разное. Нужны словарь, контрольные строки и ручная сверка.
Что подготовить перед внедрением
- выгрузку заказов и attempts за 30-60 дней;
- словарь статусов и failure reasons;
- правило SLA: promised date, delivery window, timezone, переносы;
- справочник курьеров, зон, vehicle type и смен;
- данные по маршрутам: start/finish, stops, km или fuel при наличии;
- данные по возвратам/RTO и причинам;
- события маркетплейсов, если доставляете Ozon/Wildberries/Yandex Market/Amazon/Shopify orders;
- 10-20 реальных заказов для ручной сверки формул.
Стоимость SimpleDashboard - 5 000 ₽/мес. Напишите в Telegram: @coderboxbot - соберем первый экран службы доставки по вашим данным и отдельно покажем, где KPI нельзя считать финальными без исправления источника.
Попробовать бесплатно | SimpleDashboard
Смотрите также
- Дашборд для логистики: отслеживание доставок, загрузка транспорта
- KPI дашборд: мониторинг ключевых показателей
- Дашборд для маркетплейсов: продажи, комиссии и возвраты
- Дашборд для директора: все показатели на одном экране
- Что такое дашборд простыми словами
Источники и проверка
Официальные и исследовательские источники:
- McKinsey: Defining on-time, in-full in the consumer sector
- McKinsey: Digitizing mid- and last-mile logistics handovers to reduce waste
- Shipium Docs: On-Time Performance Dashboards
- DHL eCommerce: 2025 Delivery and Returns Trends
- NRF: 2025 Retail Returns Landscape
- Amazon: On-Time Delivery Rate (OTDR) Programme Policy
- Ozon Help: Delivery on time
- Yandex Market API for sellers: API documentation
- Wildberries API: Official WB API documentation
Community-сигналы, использованные только как индикаторы практических проблем:
- Reddit r/logistics: Last-Mile Delivery colleagues: How do you actually handle same-day route changes?
- Reddit r/logistics: Why a 2-day transit promise can be physically impossible
- Reddit r/dropshipping: Failed COD delivery cost discussion
- Reddit r/AmazonFlexDrivers: Route overload and return-to-station discussion
- Reddit r/AmazonSeller: Amazon FBM and On-Time Delivery Rate discussion
AI disclosure: материал обновлен 2026-05-05 для wave simple-dashboard-wave-5 по issue #113. AI-инструмент использовался для первичного исследования logistics/delivery KPI docs, отбора courier/ops community-сигналов, черновой структуры и проверки Google 2026 quality gaps. Факты о SLA/OTD/OTIF, failed delivery, route time, fuel/cost, returns и marketplace delivery metrics сверены по официальным или исследовательским источникам; форумы использованы только как сигналы практических проблем, не как единственное основание для точных утверждений. Финальные формулы, caveats, источники, CTA и продуктовые ограничения проверил Александр Руин, основатель habab.ru.
О сервисе "AI-конструктор бизнес-дашбордов"
Платформа для создания аналитических дашбордов через AI-чат. Загрузите CSV/Excel или подключите API, опишите какие метрики нужны — получите готовый дашборд с графиками, KPI и фильтрами. Без программирования, за минуты.
Ключевые преимущества:
- Не нужен программист или BI-аналитик
- Дашборд готов за минуты, а не за недели
- AI сам предлагает подходящие визуализации
- Данные остаются на вашем сервере
- Интеграция с любыми источниками через API
- Автоматическое обновление и рассылка отчётов
Для кого подходит:
Сценарии использования:
📰 Промо-статьи наших решений
Изучите детальные обзоры наших технологических решений для различных отраслей:
🚀 Разработка и автоматизация
- Автоматизация холодных продаж в криптопроектах
- AI-Assisted Development
- AI CRM Constructor: Конструктор CRM под ваш бизнес
- Парсер лидов с FL.ru
- Разработка Платформы для Автоматизации Найма Переводчиков
- Разработка WhatsApp Business Автоматизации под ключ
- Корпоративная Платформа Обмена Изображениями
- AI Quality Assurance — контроль качества AI-ответов
- Интеграция AMOCRM, Excel и Google Drive
- SimpleCrypto — AI-конфигуратор крипто-кошелька
- Синхрон1С - Автоматизация 1С без программиста
- SimpleReview — Chrome-расширение для автоматического исправления ошибок сайта
- Разработка Telegram Mini App с Лутбоксами
- YouTube-Telegram Скрапер для Стартапов
📈 Бизнес и автоматизация
- Разработка Telegram Ботов под ключ
- YandexDirect MCP сервер
- Корпоративные решения голосового ввода с ИИ
- Веб-версия аналитического дашборда для телефонии
- Платформа управления Telegram рекламой
- Bitcoin Mempool Explorer
- Презентационный сайт по брендбуку
- Разработка Платформы Прогнозов на Спорт по Модели GoalBet
- Обучающий кабинет
- Корпоративная система мониторинга медиа и аналитики
- Администрирование серверов
- Криптовалютный AML-чекер бот
- Новостной радар для промышленности
- Счетчик калорий Telegram Bot
- Talk to Excel / Talk to SQL — AI-ассистент для табличных данных
- Разработка веб-приложений по дизайну
- Разработка системы анализа договоров с ИИ
- Презентационный сайт по брендбуку
- Синхронизация 1С с WordPress
💰 FinTech и медиа
Работаю до результата и бизнес-ценности, быстро корректирую подходы в процессе. Использую современный стек для качественного и быстрого решения задач.