Привет, аналитики!

Публикую 30 декабря - когда все нормальные люди режут оливье. Но если вы это читаете, значит, тоже из тех, кто 2 января откроет ноутбук проверить дашборды. Для нас и пишу.

В прошлой статье разбирали, какие метрики выбирать для ритейла. Допустим, вы собрали нужные KPI, построили дашборды - а директор спрашивает: «Маржа выросла на 3 млн. За счёт чего?»

Показать рост - просто. Объяснить причину - сложнее. Выросла выручка, но упала маржинальность. Увеличился трафик, но просела конверсия. Как это влияет на итог в рублях?

Расскажу про дашборд факторного анализа продаж. Он показывает не «было - стало», а раскладывает изменение маржи по каждому фактору: от трафика до среднего чека.

Сегодня рассмотрим:

  • Что такое факторный анализ маржи

  • Архитектура дашборда

  • Формулы расчёта влияния показателей (M Δabs и M Δ%)

  • Кейс: как читать отчёт

Проблема: почему стандартных отчётов недостаточно

Диалог из практики:

Коммерческий директор: Смотрю отчёт - маржа +3 млн к прошлому месяцу. Молодцы.А за счёт чего выросли?

Аналитик: Выручка увеличилась на 14,8 млн...

КД: Подожди. Маржинальность же упала - было 14,2%, стало 13,5%. Как при падении маржинальности выросла маржа?

Аналитик: Ну, товарооборот вырос сильнее, чем упала маржинальность...

КД: Насколько сильнее? В рублях сколько дал рост ТО? Сколько съело падение маржинальности?

Аналитик: Надо посчитать...

КД: И по каналам разбей. Интернет, розница - кто сколько принёс.

Аналитик: Сделаю к вечеру.

Дальше — ручной пересчёт в Excel. Это сложно, потому что:

  • Показатели связаны нелинейно: выручка = чеки × средний чек, но средний чек = цена × количество единиц

  • Изменение одного фактора влияет через всю цепочку

  • Нужно учитывать НДС при переходе от ТО к выручке

  • Разные каналы имеют разную структуру воронки

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

Что такое факторный анализ (теория)

Факторный анализ маржи - метод, который раскладывает общее изменение маржи на вклады отдельных показателей.

Вместо «маржа выросла на 3 млн» вы видите:

  • Рост выручки дал +4,5 млн

  • Падение маржинальности съело −1,2 млн

  • Изменение структуры каналов дало −0,3 млн

  • Итого: +3 млн

Давайте рассмотрим на примере

Представьте: вы продаёте яблоки.

Прошлый месяц: 100 яблок × 50 руб = 5000 руб
Этот месяц:    120 яблок × 45 руб = 5400 руб
Рост выручки: +400 руб

За счёт чего?

  • Рост количества: +20 яблок × 50 руб (старая цена) = +1000 руб

  • Падение цены: −5 руб × 120 яблок (новое количество) = −600 руб

  • Итого: +1000 − 600 = +400 руб ✓

Это и есть факторный анализ: разделили изменение на «эффект количества» и «эффект цены».

Метод подстановок:

В нашем дашборде используем метод цепных подстановок:

  • При расчёте влияния фактора X фиксируем остальные факторы

  • Для факторов «выше» по воронке берём значения Периода 1

  • Для факторов «ниже» - значения Периода 2

Это даёт корректную атрибуцию без двойного счёта.

Архитектура дашборда

Дашборд - одна страница с четырьмя блоками. Каждый блок - канал продаж. В каждом блоке - одинаковый набор метрик для сравнимости.

Дашборд сравнивает два периода:

  • Период 1 - текущий (основной)

  • Период 2 - сравнительный (базовый)

Каждый блок содержит колонки:

Колонка

Что показывает

Период 2

Значение в сравнительном периоде (база)

Период 1

Значение в текущем периоде

Δabs

Абсолютное отклонение (П1 − П2)

M Δabs

Влияние на маржу в рублях

M Δ%

Влияние в % от общей маржи П2

Логика пер��одов:

Периоды настраиваются автоматически:

если день(сегодня) <= 5:
    # Начало месяца — анализируем прошлый
    Период1 = [1-е прошлого месяца ... последний день прошлого]
    Период2 = [1-е позапрошлого ... последний день позапрошлого]
иначе:
    # Середина месяца — анализируем текущий
    Период1 = [1-е текущего месяца ... вчера]
    Период2 = [1-е прошлого ... тот же день прошлого]

Пример: Сегодня 20 октября.

  • Период 1: 1–19 октября

  • Период 2: 1–19 сентября

Сравниваем «яблоки с яблоками» — одинаковое количество дней.

Каналы и источники трафика

Канал

Источник трафика

Откуда данные

Интернет

Уникальные посетители сайта

Сайт / Маркетплейсы

Call-центр

Входящие звонки

АТС / телефония

Розница

Посетители магазинов

Счётчики на входе

Опт

B2B-клиенты

CRМ

Иерархия показателей (воронка)

Воронка сверху вниз - от результата к факторам:

Расшифровка уровней:

Уровень 1: Финансовый результат

  • Маржа, млн руб — итоговый показатель, который декомпозируем

  • Выручка, млн руб — ТО без НДС

  • Маржа, % — доля маржи в выручке

Уровень 2: Товарооборот

  • ТО, млн руб — сумма чеков с НДС

  • НДС, % — ставка НДС (может отличаться по товарам)

Уровень 3: Структура чека

  • Количество чеков, тыс шт — число транзакций

  • Средний чек, тыс руб — ТО ÷ количество чеков

  • Средняя цена, тыс руб — цена одной единицы товара

  • Единиц в чеке, шт — среднее количество товаров в чеке

Уровень 4: Воронка заказов

  • Количество заказов — созданные заказы (не все становятся чеками)

  • Конверсия в чеки, % — доля заказов, ставших чеками

  • Заказы LFL — заказы по сопоставимым точкам

  • Заказы Δ подр/дней — заказы от новых точек или дополнительных дней

Уровень 5: Трафик

  • Трафик канала — входящий поток (посетители/звонки)

  • Конверсия в заказы, % — доля трафика, ставшего заказами

  • Трафик сайта — уникальные посетители (для интернета)

  • Конверсия сайта в канал, % — доля посетителей сайта, попавших в канал

Формулы: M Δabs и M Δ%

Базовый принцип:

Влияние показателя X на маржу =
«Насколько изменилась бы маржа, если бы изменился ТОЛЬКО показатель X, а остальные остались на уровне базового периода»

Формула строится так:

  1. Берём Δabs показателя X

  2. Умножаем на значения показателей «ниже по воронке» из Периода 2

  3. Умножаем на значения показателей «выше по воронке» из Периода 1

  4. В конце умножаем на маржинальность Периода 2

Формулы по уровням:

УРОВЕНЬ 1: Маржа, Выручка, Маржинальность

Показатель

Формула M Δabs

Маржа

[Маржа].[П1] − [Маржа].[П2]

Выручка

[Выручка].[Δabs] × [Маржа%].[П2]

Маржа %

[Маржа%].[Δabs] × [Выручка].[П1]

Проверка: M Δabs(Выручка) + M Δabs(Маржа%) = M Δabs(Маржа)

УРОВЕНЬ 2: Товарооборот и НДС

Показатель

Формула M Δabs

ТО

([ТО].[Δabs] / (1 + [НДС].[П2])) × [Маржа%].[П2]

НДС %

(([ТО].[П1] / (1+[НДС].[П1])) − ([ТО].[П1] / (1+[НДС].[П2]))) × [Маржа%].[П2]

Делим на (1+НДС), чтобы перейти от ТО к выручке.

УРОВЕНЬ 3: Структура чека

Показатель

Формула M Δabs

Кол-во чеков

([Чеки].[Δabs] × [СрЧек].[П2] / (1+[НДС].[П2])) × [Маржа%].[П2]

Ср. чек

([СрЧек].[Δabs] × [Чеки].[П1] / (1+[НДС].[П2])) × [Маржа%].[П2]

Ср. цена

([Цена].[Δabs] × [ЕдВЧеке].[П2] × [Чеки].[П1] / (1+[НДС].[П2])) × [Маржа%].[П2]

Ед. в чеке

([ЕдВЧеке].[Δabs] × [Цена].[П1] × [Чеки].[П1] / (1+[НДС].[П2])) × [Маржа%].[П2]

УРОВЕНЬ 4: Заказы

Показатель

Формула M Δabs

Кол-во заказов

([Заказы].[Δabs] × [КонвВЧеки].[П2] × [СрЧек].[П2] / (1+[НДС].[П2])) × [Маржа%].[П2]

Конв. в чеки

([КонвВЧеки].[Δabs] × [Заказы].[П1] × [СрЧек].[П2] / (1+[НДС].[П2])) × [Маржа%].[П2]

УРОВЕНЬ 5: Трафик

Показатель

Формула M Δabs

Трафик канала

([Трафик].[Δabs] × [КонвВЗаказы].[П2] × [КонвВЧеки].[П2] × [СрЧек].[П2] / (1+[НДС].[П2])) × [Маржа%].[П2]

Конв. в заказы

([КонвВЗаказы].[Δabs] × [Трафик].[П1] × [КонвВЧеки].[П2] × [СрЧек].[П2] / (1+[НДС].[П2])) × [Маржа%].[П2]

Формула M Δ%:

M Δ% = M Δabs / [Маржа общая].[П2]

Где «Маржа общая» — сумма маржи по всем каналам из верхней шапки дашборда.

Практический кейс

Ситуация:

Октябрь 2020. Смотрим результаты интернет-канала.
Период 1: 1–20 октября
Период 2: 1–20 сентября

Что видим (таблица с интерпретацией):

Показатель

П2

П1

Δabs

M Δabs

Интерпретация

Маржа

25,0

29,0

+4,0

+4,0

Итого: канал вырос

Выручка

176,1

201,4

+25,3

+3,6

Рост выручки — главный драйвер

Маржа %

14,2%

14,4%

+0,2 п.п.

+0,4

Маржинальность чуть выросла

Кол-во чеков

4,7

5,4

+0,7

+1,9

Больше транзакций

Ср. чек

45,1

44,2

−0,9

−0,6

Чек упал — негатив

Трафик сайта

68,7

78,1

+9,4

+2,3

Трафик вырос — позитив

Конв. сайта

8,5%

8,4%

−0,1 п.п.

−0,4

Конверсия чуть упала

Выводы для директора:

Интернет-канал: +4 млн маржи. За счёт чего:

✅ Позитив:

  • Рост трафика сайта (+9,4 тыс посетителей) → +2,3 млн

  • Рост количества чеков (+0,7 тыс) → +1,9 млн

  • Небольшой рост маржинальности → +0,4 млн

⚠️ Негатив:

  • Падение среднего чека (−0,9 тыс руб) → −0,6 млн

  • Падение конверсии сайта (−0,1 п.п.) → −0,4 млн

Вопросы для разбора:

  1. Откуда новый трафик? Качественный ли он? (конверсия падает)

  2. Почему падает средний чек? Скидки? Смена структуры товаров?

  3. Рост маржинальности при падении чека — как так? (разобрать структуру)

Сравнение каналов:

Канал

M Δabs

Комментарий

Интернет

+4,0

Главный драйвер

Call-центр

+1,0

Стабильный рост

Розница

+3,0

Хороший вклад

Опт

+0,2

Без изменений

Итого

+3,0

Общий результат (шапка)

Расхождение (4+1+3+0,2 = 8,2 ≠ 3) объясняется округлениями и пересечениями.

Реализация и фильтры

Панель фильтров:

Дашборд поддерживает отборы по измерениям:

  • Товарный класс до SKU

  • Бренд

  • Канал продаж

  • Подразделение

  • Магазин / точка продажи

Фильтры вынесены на отдельную панель .

Цветовое кодирование:

Цвет

Значение

🟢 Зелёный

M Δabs > 0 (положительное влияние)

🔴 Красный

M Δabs < 0 (отрицательное влияние)

Насыщенность

Пропорциональна величине отклонения

Источники данных:

Данные

Источник

Трафик сайта

Сайт либо Маркетплейсы

Звонки

АТС / телефония

Посетители розницы

Счётчики на входе

Продажи и чеки

Учётная система 1С

Справочники

MDM

Факторный анализ - инструмент диагностики. Показывает, какой фактор влияет на маржу и насколько. Не отвечает «почему» - это следующий шаг.

Формулы работают в Excel. Попробуйте на своих данных - как раз есть пара дней до рабочих будней.

С наступающим! Вопросы - в комментариях.