Surrika

План и факт продаж по каналам и месяцам: как считать выполнение

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

Продажи и ассортимент

Как считать

  1. Продажи за последние 12 месяцев от последней даты в данных сворачивают по месяцу и каналу, выручку уменьшают на возвраты.
  2. План выручки из месячных целей сворачивают по тому же месяцу и каналу.
  3. Каналы объединяют в две группы, сайт и маркетплейсы, чтобы в результате осталось 24 строки.
  4. Выполнение плана считают делением факта на план, отклонение разницей факт минус план.
  5. Результат сортируют по месяцу и группе каналов, деньги округляют до рублей, долю до трех знаков.

Расчет на выгрузках магазина

Пример посчитан на выгрузках вымышленного мебельного магазина: продажи сайта и трех маркетплейсов, реклама, сделки CRM и остатки за 2024-2025 годы.

Какой план по выручке выполняется по каналам и месяцам и где факт отстает от плана? Нужен расчет с учетом возвратов.

План и факт выручки по месяцам и группам каналов

Месяц Отклонение, руб. Выполнение плана Факт выручки, руб. План выручки, руб.
2025-01-01 236 715 ₽ 101,6 % 15 197 715 ₽ 14 961 000 ₽
2025-01-01 -505 921 ₽ 95 % 9 641 079 ₽ 10 147 000 ₽
2025-02-01 -1 400 776 ₽ 90,6 % 13 574 224 ₽ 14 975 000 ₽
2025-02-01 -901 900 ₽ 89,8 % 7 982 100 ₽ 8 884 000 ₽
2025-03-01 -2 226 563 ₽ 88,8 % 17 682 437 ₽ 19 909 000 ₽
2025-03-01 -1 158 870 ₽ 90,1 % 10 513 130 ₽ 11 672 000 ₽
2025-04-01 -2 044 357 ₽ 89 % 16 542 643 ₽ 18 587 000 ₽
2025-04-01 -1 176 596 ₽ 89,8 % 10 312 404 ₽ 11 489 000 ₽
2025-05-01 -998 566 ₽ 94,2 % 16 224 434 ₽ 17 223 000 ₽
2025-05-01 -440 347 ₽ 96 % 10 613 653 ₽ 11 054 000 ₽
2025-06-01 -769 464 ₽ 94,9 % 14 353 536 ₽ 15 123 000 ₽
2025-06-01 365 537 ₽ 103,8 % 10 051 537 ₽ 9 686 000 ₽
2025-07-01 -1 077 122 ₽ 92,8 % 13 833 878 ₽ 14 911 000 ₽
2025-07-01 1 006 796 ₽ 111,7 % 9 602 796 ₽ 8 596 000 ₽
2025-08-01 -149 291 ₽ 99,1 % 16 510 709 ₽ 16 660 000 ₽
2025-08-01 -674 634 ₽ 93,9 % 10 473 366 ₽ 11 148 000 ₽
2025-09-01 -2 394 477 ₽ 88,3 % 18 096 523 ₽ 20 491 000 ₽
2025-09-01 -1 316 732 ₽ 89,7 % 11 512 268 ₽ 12 829 000 ₽
2025-10-01 -2 272 293 ₽ 90,2 % 20 990 707 ₽ 23 263 000 ₽
2025-10-01 -85 759 ₽ 99,4 % 13 226 241 ₽ 13 312 000 ₽
2025-11-01 -4 930 040 ₽ 80 % 19 663 960 ₽ 24 594 000 ₽
2025-11-01 -2 364 564 ₽ 84,6 % 12 940 436 ₽ 15 305 000 ₽
2025-12-01 -3 922 828 ₽ 84,9 % 21 984 172 ₽ 25 907 000 ₽
2025-12-01 -1 118 958 ₽ 93,5 % 16 132 042 ₽ 17 251 000 ₽

SQL, по которому посчитано

WITH fact AS (
  SELECT CAST(date_trunc('month', date) AS DATE) AS month,
         CASE WHEN channel = 'Сайт' THEN 'Сайт' ELSE 'Маркетплейсы' END AS channel_group,
         SUM(revenue - returned_revenue) AS fact_revenue
  FROM sales
  WHERE date > (SELECT max(date) FROM sales) - INTERVAL 12 MONTH
  GROUP BY 1, 2
),
target AS (
  SELECT month,
         CASE WHEN channel = 'Сайт' THEN 'Сайт' ELSE 'Маркетплейсы' END AS channel_group,
         SUM(revenue) AS plan_revenue
  FROM plan
  WHERE month > (SELECT max(date) FROM sales) - INTERVAL 12 MONTH
  GROUP BY 1, 2
)
SELECT t.month AS month,
       t.channel_group AS channel_group,
       round(t.plan_revenue) AS plan_revenue,
       round(coalesce(f.fact_revenue, 0)) AS fact_revenue,
       round(coalesce(f.fact_revenue, 0) - t.plan_revenue) AS deviation,
       round(coalesce(f.fact_revenue, 0) / nullif(t.plan_revenue, 0), 3) AS completion
FROM target t
LEFT JOIN fact f ON f.month = t.month AND f.channel_group = t.channel_group
ORDER BY t.month, t.channel_group

Откуда берутся цифры для плана и факта

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

Как считать выполнение плана продаж

Месяц у продаж и у плана приводят к первому числу месяца, чтобы ключи совпали. Каналы объединяют в две группы, сайт и маркетплейсы, тогда за 12 месяцев выходит 24 строки и таблица читается. Выполнение считают делением фактической выручки на плановую, отклонение разницей факт минус план. Месяцы, где продаж не было, сохраняют через левое соединение с планом и показывают с нулевым фактом. Деньги округляют до рублей, долю до трех знаков после запятой.

Как читать результат сравнения плана и факта

Выполнение 1.0 значит план закрыт ровно, ниже 1.0 идет недобор, выше 1.0 перевыполнение. Смотрите на отклонение в рублях: месяц может быть закрыт по проценту, но стоить дороже из-за скидок. Сравнивайте сайт и маркетплейсы отдельно: на площадках выручка больше, а после комиссии и логистики может остаться меньше. Если в месяце нет факта при наличии плана, проверьте, дошли ли продажи этого канала.

Что делать с выводом

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

Частые ошибки

План сравнивают с выручкой до возвратов

Возвраты завышают факт, и недобор превращается в выполнение. Вычитайте сумму возвратов из выручки до сравнения с планом.

В расчет попадает неполный месяц

Если данные обрываются в середине месяца, факт ниже плана при том же спросе. Берите только закрытые месяцы или пересчитывайте план на прошедшие дни.

Все каналы свернули в один итог

У сайта и маркетплейсов разная комиссия и логистика, общий процент скрывает провал одного канала. Считайте выполнение по каждому каналу отдельно.

Сравнивают только выручку, без бюджета рекламы

Перевыполнение на платном трафике может стоить дороже прироста. Держите рядом плановый и фактический расход на рекламу.

Вопросы

Как посчитать процент выполнения плана продаж?

Разделите фактическую выручку на плановую за тот же месяц и канал. Результат 0.85 значит выполнение 85 процентов.

Учитывать ли возвраты в факте продаж?

Да, выручку уменьшают на сумму возвратов. Иначе выполнение плана завышается на долю возвращенного товара.

Почему факт по каналу может отсутствовать при плане?

В продажах нет строк за дни без продаж, и после объединения по месяцу пустой канал не появится. Левое соединение с планом сохраняет такую строку с нулевым фактом.

Как часто пересматривать план продаж?

Раз в месяц после закрытия периода. Сравнили факт с планом, посмотрели отклонение по каналам и решили, менять ли цель на следующий месяц.

Посчитайте это на своих выгрузках

Бросьте выгрузки на доску Surrika и задайте вопрос обычными словами. Ответ придет графиком, а под ним будет SQL, по которому он посчитан.

14 дней бесплатно, карта не нужна.

По теме

Все задачи