Собесов

Сценарий: баланс supply и demand на маркетплейсе

Продуктовая аналитикаMarketplaceСложнаяSenior

Условие

В Москве в час-пик такси перегруз: ride request waits 8 минут. В Подмосковье в дневное время простаивают водители. Как балансировать?

Решение

Карта дисбаланса

Гранулярность: геокластер × час (или 15 минут).

WITH grid AS (
  SELECT geo_cell, hour_of_week,
         SUM(rides_requested) AS demand,
         SUM(driver_minutes_available) AS supply
  FROM data GROUP BY 1, 2
)
SELECT *, demand / NULLIF(supply, 0) AS imbalance
FROM grid
ORDER BY imbalance DESC;

Способы балансировки

Инструмент Эффект Стоимость
Surge / динамическая цена Demand ↓, Supply ↑ риск отрицательного PR
Push водителям «иди в зону X» Supply ↑ ограниченный effect
Heatmap для водителей Supply ↑ в hot zones бесплатно, точечно
Бонусы за поездку в зону Y Supply ↑ прямые costs
Cap на demand в перегруз Demand ↓ плохой UX
Заранее заказать (pre-book) сгладить пик помогает только если есть привычка

Surge pricing — двусторонний эффект

  • Цена ↑ на 1.5× → demand падает на ~30%, supply растёт на ~40%.
  • ETA сокращается с 8 минут до 3.
  • Юзеры жалуются, но wait меньше = меньше cancellation.

Granularity матricы

Слишком мелкая (1 минута × 100м) — шум. Слишком крупная (час × район) — теряется локальность. Обычно: 15 минут × 1 км сетка.

Прогноз

ML-модели предсказывают demand по часу/гео на 30-60 минут вперёд:

  • Time series (Prophet/ARIMA).
  • ML (XGBoost) с фичами: дня недели, погоды, событий, истории.

С прогнозом можно проактивно двигать supply (push водителям ехать в район, где через 30 мин рейв).

Метрики качества балансировки

  • ETA (среднее время ожидания).
  • Cancellation rate по wait > 5 мин.
  • Driver idle time.
  • Surge frequency / depth.
  • Conversion search → ride.

Подводные камни

  1. Surge выше 2× становится PR-проблемой. Кап на surge — почти у всех платформ.
  2. Cold start новых зон (новый город) — нет supply, нет demand, нет матчинга → quit. Решение: запустить сразу обе стороны.
  3. Прогноз с ошибкой 20% даёт smaller benefit чем кажется — двигать водителей по неверному прогнозу = много простоя.
  4. Driver supply elasticity ниже у employed драйверов (есть смены) и выше у гиг — Uber работает только при гиге.
  5. Регуляторика: в некоторых странах surge ограничен или запрещён (Япония, некоторые штаты).

Эталонный ответ

Карта imbalance по сетке (15 мин × 1км). Балансировка: динамическая цена (двусторонний эффект — demand вниз, supply вверх), heatmap водителям, бонусы. Watch ETA + cancellation + surge depth.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти