DE
Published on

Средний бюджет ремонта: от сравнения сделок к прогнозу

В проекте «Автоцентр» показатель использовали для оценки текущего портфеля ремонтов и сравнения его структуры между станциями техобслуживания, страховыми компаниями и типами страхования. Позже средний бюджет понадобился и для прогноза: у сделок на начальных этапах ремонта сумма ещё не согласована, но бизнесу уже важно оценивать объём такого портфеля.

В отчёте «чек» — это бюджет сделки из amoCRM, а не фактическая стоимость ремонта. Поэтому далее я называю показатель средним или медианным бюджетом ремонта.

Когда среднее вызвало сомнения

Первоначальный расчёт строился по сделкам ремонтной воронки «ЦКР». В основное среднее и медиану попадали только сделки с бюджетом больше единицы. Сделки с нулевым или техническим бюджетом не смешивались с ними: их количество я считала отдельно в показателе zero_budget_deals как контроль качества заполнения данных.

Сначала я проверила саму логику отбора. После её корректировки средний бюджет открытых сделок составил около 184 тыс. ₽, успешно завершённых — около 190 тыс. ₽ при едином подходе к выборке. Близость этих значений помогла отделить вопрос сопоставимости двух групп от следующей задачи — понять, почему внутри отдельного среза среднее заметно расходится с медианой.

На одном таком срезе из 28 сделок средний бюджет оказался почти в полтора раза выше медианного. Разница заставила проверить, правильно ли SQL и DataLens считают показатель. Я прошла всю цепочку: повторно проверила AVG(budget) и PERCENTILE_CONT(0.5) в SQL, сверила показатель в DataLens, нашла исходные сделки в amoCRM и вручную пересчитала средний бюджет. Он совпал с результатом отчёта.

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

Проверить влияние крайних значений

Я добавила в SQL диагностические показатели: число сделок с бюджетом не больше единицы, 5-й и 95-й перцентили бюджета, а также дополнительные среднее и медиану по значениям между этими границами. Исходные показатели по всей валидной выборке сохранились. Сравнение двух версий показывало, насколько среднее зависит от самых дешёвых и дорогих ремонтов; сами крайние сделки при этом не объявлялись ошибочными и не удалялись из источника.

Для сравнения разных совокупностей появились три режима:

  • «Успех» — успешно завершённые сделки;
  • «В работе» — незавершённые сделки;
  • «В работе + Успех» — обе группы без сделок, закрытых без реализации.

В выбранном режиме сначала применялся фильтр периода по дате получения направления на ремонт (ННР), затем рассчитывались среднее, медиана и границы перцентилей. Так показатели открытых и завершённых сделок сравнивались на единой временной основе, а границы q5–q95 соответствовали именно выбранной группе. В отчёте также были разрезы по станциям, страховым компаниям и типам страхования, включая отдельный анализ КАСКО легковых и грузовых автомобилей. Одно среднее по всем типам страхования не использовалось для прогноза: бюджеты этих групп заметно различались.

От сравнения к прогнозу

Для сделок на ранних этапах с ещё не согласованным бюджетом нужен был ориентир, а не точная сумма по каждой сделке. Средний бюджет для прогноза рассчитывался за последние 90 дней по дате получения ННР: в режиме «В работе + Успех», по сделкам с известным бюджетом больше единицы, отдельно для каждого типа страхования. Закрытые без реализации сделки в этот расчёт не входили.

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

Сам текущий портфель делился на две части. По сделкам этапов 8–22, где бюджет уже известен, учитывались суммы из карточек. Для сделок этапов 1–7 без согласованного бюджета их количество умножалось на средний бюджет своего типа страхования. Эти две части портфеля не ограничивались периодом последних 90 дней: временное окно относилось только к расчёту среднего, которым оценивались ранние этапы. Прогноз вошёл в сводку по открытым сделкам и не заменял индивидуально согласованные суммы ремонта.

Результат

Из одного спорного показателя получилась методика оценки бюджета ремонта: с проверкой бизнес-логики отбора, сверкой с исходными сделками, контролем качества данных и оценкой влияния крайних значений. Медиана и расчёт между q5 и q95 помогали интерпретировать среднее. Для прогноза применялось отдельное обычное среднее за последние 90 дней — по сделкам с известным бюджетом и отдельно по типам страхования. Благодаря этому бизнес может оценивать общий бюджет текущего портфеля ещё до того, как по всем ремонтам появится согласованная сумма: известные бюджеты учитываются напрямую, а сделки на ранних этапах получают расчётную оценку на основе исторических данных.