Собесов

Сценарий: двусторонний маркетплейс — матчинг supply и demand

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

Условие

Маркетплейс репетиторов. Что измерять, чтобы понять качество матчинга?

Решение

Health двустороннего рынка

Ключевые метрики:

Метрика Что показывает
Liquidity rate % поисков → бронирование (был ли подходящий supply)
Match quality rating ученика после урока
Search abandonment % ушедших без матча
Time to match сколько секунд/минут от запроса до подбора
Supply utilization % часов репетитора, забронированных
Demand fulfillment % запросов закрытых
Cancel/no-show rate разруха после матча

Liquidity — главная метрика

Liquidity = bookings / search_attempts

Низкая liquidity — провал матчинга: либо нет supply (репетиторов по геометрии в Самаре), либо плохой алгоритм.

Сегментировать по нише: «либералы матчинга» (Math, Англ) и «дырки» (Биология в малых городах).

Match quality

После урока обе стороны ставят rating:

two_sided_score = (student_rating + tutor_rating) / 2
match_quality = AVG(two_sided_score) on (matched пары)

Если quality снижается с ростом scale — алгоритм оптимизируется на показ, не на match.

Supply-demand баланс

Supply (hours available) vs Demand (hours requested)

Карта дисбаланса по нишам:

SELECT subject, city,
       SUM(tutor_available_hours) AS supply,
       SUM(student_requested_hours) AS demand,
       SUM(demand) / NULLIF(SUM(supply), 0) AS ratio
FROM market
GROUP BY 1, 2;

ratio > 2 — острая нехватка supply. ratio < 0.5 — overcapacity.

Что делать с дисбалансом

  • Привлекать supply туда, где demand. Дороже paid acquisition.
  • Динамическое ценообразование — рост цены при перегреве.
  • Нудж demand к available supply — «попробуйте репетитора по физике + математике».

Cold start

  • Новый репетитор без рейтингов → дать буст в выдаче, чтобы получил первые 5 матчей.
  • Новый ученик → задать вопросы быстро, не тащить через 30-шаговый онбординг.

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

  1. Optimising one side: алгоритм максимизирует matches → хорошие репетиторы перегружены, плохие висят без матчей → quality падает.
  2. Liquidity без quality — фиктивный успех; матчат «лишь бы кого».
  3. Сезонность demand (август-сентябрь у репетиторов) маскирует структурные проблемы. Сравнивать YoY, не WoW.
  4. Power law в supply: 20% репетиторов делают 80% matches. Если один топ ушёл — рынок шатается.
  5. Cancel rate по сегментам — иногда супер-высокий у конкретного типа matches (например, новый ученик + новый репетитор).

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

Health матчинга = liquidity (% поисков → бронирование) + match_quality (rating двух сторон) + баланс supply/demand по нишам. Watch out за оптимизацией только liquidity без quality.

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

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

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