Сезонность продаж в рознице: как посчитать коэффициент по месяцам
Сезонность продаж это та вещь, на которую собственник в рознице сначала жалуется, а потом сам же на неё и попадается. Летом выручка падает - паника, разбор полётов, наказание управляющего. А это всего лишь июль, и так каждый год. Зимой выручка растёт - радость, премии, планы на расширение. А это просто декабрь, и в январе всё откатится назад. Сезонность есть почти в любой рознице. Беда не в ней самой, а в том, что её не считают, и поэтому путают с реальными победами и провалами.
Я 14 лет управлял розницей разных форматов, от магазина у дома до гипермаркета, и каждый год проходил один и тот же цикл сезонов. Ниже разберу, что такое сезонность продаж, как посчитать коэффициент сезонности по месяцам по простой формуле, как использовать эти цифры для закупок, персонала и акций, и главное - как отличить нормальный сезонный спад от настоящего провала и от долгого тренда. Без академизма, только то, что двигает решения.
Коротко (TL;DR)
- Сезонность продаж это повторяющиеся из года в год колебания выручки по календарю: спады и пики в одни и те же месяцы. Это норма, а не проблема.
- Коэффициент сезонности по месяцам считается просто: средние продажи месяца делятся на средние продажи по всем месяцам. Значение выше 1 это пик, ниже 1 это спад.
- Чтобы коэффициенты были честными, нужны данные минимум за 2 года, а лучше за 3. На одном годе случайный всплеск примешь за сезон.
- Коэффициент это плановый множитель: умножаете средний месяц на коэффициент и получаете ожидаемую выручку месяца. Так планируют закупки, графики персонала и акции.
- Главная польза сезонности в том, что она отделяет «упало, потому что июль» от «упало, потому что у нас реально проблема».
- Чтобы отделить спад от провала, сравнивайте не с прошлым месяцем, а с тем же месяцем прошлого года (LFL). Если июль этого года ниже июля прошлого, это уже не сезон, а провал или тренд.
- На одной точке коэффициенты считаются в Excel за вечер. На сети из нескольких точек у каждой точки своя сезонная кривая, и руками их вести ежемесячно перестают.
Что такое сезонность продаж
Сезонность продаж это повторяющиеся из года в год колебания выручки, привязанные к календарю. Одни месяцы стабильно выше среднего, другие стабильно ниже, и так каждый год примерно одинаково. Ключевое слово здесь «повторяющиеся». Если выручка упала один раз и больше так не падала, это не сезонность, а разовое событие.
Причины сезонности разные и зависят от того, чем вы торгуете. Где-то это погода: летом не покупают тёплую одежду, зимой не покупают мороженое в прежних объёмах. Где-то это календарь праздников: декабрь с подарками, февраль и март с гендерными праздниками, спад после новогодних трат в январе. Где-то это поведение людей: лето с отпусками и отъездами из города, сентябрь со сборами в школу, лето с ремонтами и дачами.
Важно понять одну вещь. Сезонность это не ваша заслуга и не ваша вина. Декабрь вырастет почти у любого продуктового или подарочного магазина, как ни управляй. Июль просядет почти у любого городского магазина одежды. Поэтому радоваться декабрю как личной победе и казнить себя за июль одинаково бессмысленно. Полезно другое: знать заранее, насколько вырастет и насколько упадёт, и подготовиться.
Вот тут и появляется коэффициент сезонности. Он превращает расплывчатое «летом просядет» в конкретное «июль обычно минус 30 процентов к среднему месяцу». А с конкретной цифрой уже можно работать: закупить меньше, поставить меньше людей в смену, не пугаться просадки и не запускать панические акции.
Что даёт расчёт сезонности собственнику
Прежде чем считать, стоит понять, зачем. Расчёт сезонности закрывает три практические задачи, которые без цифр решаются на ощущениях и обычно с ошибкой.
- Планирование. Зная коэффициент месяца, вы заранее знаете, сколько примерно продадите. Это база для закупок, бюджета, графика и денежного потока. Не «наверное, летом будет поменьше», а «июль ожидаем на уровне 70 процентов от среднего месяца».
- Правильная реакция на просадку. Когда выручка падает, первый вопрос всегда «это сезон или мы накосячили». Без коэффициентов вы гадаете. С ними вы сразу видите: упало ровно на сезонную величину или сильнее. Если сильнее, тогда уже есть повод копать.
- Спокойствие в управлении. Половина управленческих метаний в рознице это реакция на сезонные колебания, принятые за катастрофу или за успех. Посчитанная сезонность убирает этот шум и оставляет реальные сигналы.
То есть сезонность это не отдельная «аналитика ради аналитики», а фильтр, который встроен в обычный анализ продаж розничного магазина. Без этого фильтра вы реагируете на календарь как на события, и тратите силы впустую.
Как посчитать коэффициент сезонности по месяцам
Теперь к расчёту. Звучит как что-то сложное, но это арифметика уровня средней школы. Логика такая: берёте средние продажи каждого месяца, делите на средние продажи по всем месяцам сразу, и получаете для каждого месяца множитель относительно нормы.
Разложу по шагам.
Шаг 1. Соберите выручку по месяцам за несколько лет. Минимум за 2 полных года, лучше за 3. Один год не годится: вы не отличите сезон от случайности. Если в прошлом июле к вам не зашёл крупный клиент или была разовая акция, по одному году вы примете это за норму месяца.
Шаг 2. Посчитайте средние продажи каждого месяца. Берёте все январи, что у вас есть, складываете, делите на их число. То же для февраля, марта и так далее. Получаете двенадцать чисел: средний январь, средний февраль и так до декабря.
Шаг 3. Посчитайте общий средний месяц. Складываете все двенадцать средних значений, делите на 12. Это и есть ваша «норма», средний месяц без учёта сезона.
Шаг 4. Поделите средний месяц на общий средний. Коэффициент сезонности месяца это средние продажи месяца делённые на общий средний месяц. Для января: средний январь делите на общий средний. И так для каждого месяца.
Формула одной строкой:
Коэффициент месяца = средние продажи этого месяца / средний месяц по году
Читается результат просто. Коэффициент выше 1 это пик, месяц сильнее среднего. Коэффициент ниже 1 это спад, месяц слабее среднего. Коэффициент 1,30 значит, что месяц обычно на 30 процентов выше нормы. Коэффициент 0,70 значит, что месяц обычно на 30 процентов ниже нормы. Сумма всех двенадцати коэффициентов должна получиться около 12, а среднее около 1 - это удобная проверка, что вы не ошиблись в арифметике.
Пример расчёта (цифры условные)
Покажу на цифрах, как это выглядит. Сразу помечу: цифры ниже выдуманы для иллюстрации механики, это не бенчмарк и не данные реального магазина. Ваши коэффициенты будут другими и зависят от того, чем вы торгуете.
Допустим, у магазина средние продажи по месяцам за 3 года получились такими (в тысячах рублей), а общий средний месяц вышел 1000.
| Месяц | Средние продажи, тыс. ₽ (пример) | Коэффициент (пример) | Чтение |
|---|---|---|---|
| Январь | 800 | 0,80 | спад после праздников |
| Февраль | 900 | 0,90 | ниже нормы |
| Март | 1150 | 1,15 | пик, 8 марта |
| Апрель | 1000 | 1,00 | около нормы |
| Май | 900 | 0,90 | праздники, дачи |
| Июнь | 850 | 0,85 | спад, отпуска |
| Июль | 700 | 0,70 | дно, лето |
| Август | 850 | 0,85 | сборы в школу подтягивают |
| Сентябрь | 1050 | 1,05 | возврат в город |
| Октябрь | 1100 | 1,10 | стабильный пик |
| Ноябрь | 1300 | 1,30 | подготовка к декабрю |
| Декабрь | 1400 | 1,40 | главный пик года |
Сумма коэффициентов здесь равна 12,0, среднее равно 1,0 - арифметика сошлась. Читается таблица сразу: декабрь это пик в 1,40, июль это дно в 0,70. Разница между лучшим и худшим месяцем ровно в два раза. Если этого не знать заранее, июль каждый год будет вызывать панику, а декабрь - ложную эйфорию.
Как использовать коэффициенты для планирования
Сами по себе двенадцать чисел это ещё не польза. Польза начинается, когда вы превращаете их в плановый множитель. Логика обратная расчёту: если коэффициент это средний месяц делённый на норму, то ожидаемая выручка месяца это норма умноженная на коэффициент.
Ожидаемая выручка месяца = ваш плановый средний месяц × коэффициент месяца
Дальше эта оценка работает в трёх местах.
Закупки и запасы. Это главное применение. Если декабрь ожидается в 1,40 от нормы, товара под декабрь надо закупить примерно на 40 процентов больше обычного, причём ходовых позиций. А под июль в 0,70 наоборот, закупку режут, иначе склад забивается товаром, который пролежит до осени и съест деньги. Самая дорогая ошибка без учёта сезонности это закуп «как обычно» перед пиком (упустили выручку, полки пустые) или закуп «как обычно» перед спадом (заморозили деньги в неликвиде). Какие именно позиции тянут пик, помогает понять разрез по товарам и ABC-анализ.
Персонал и графики. В пиковый месяц нужно больше рук: продавцы, кассиры, иногда дополнительная смена. В декабре нехватка людей в зале режет ту самую выручку, ради которой вы закупились. В провальный месяц наоборот, держать полный штат смысла нет, и это удачное время для отпусков, обучения, инвентаризации. Сезонный график персонала это прямая экономия фонда оплаты труда без потери продаж.
Акции и маркетинг. Здесь работает контринтуитивно. В пиковый месяц люди и так покупают, и большая скидка просто дарит маржу тем, кто купил бы и так. Скидки логичнее ставить в спад, чтобы вытянуть выручку из мёртвого месяца, либо точечно перед пиком, чтобы перетянуть спрос к себе раньше конкурентов. Перед тем как резать цену, стоит посмотреть, не выгоднее ли работать над тем, как увеличить средний чек, а не над объёмом скидок.
Денежный поток. Зная просадку июля заранее, вы не попадёте в кассовый разрыв: подушку под слабые месяцы готовят в сильные. Розница, которая планирует деньги по сезонной кривой, не берёт дорогих займов в августе, чтобы дотянуть до сентября.
Если у вас сеть из нескольких точек, ручное сведение сезонных кривой по каждой точке быстро превращается в отдельную работу. Утренний разбор собирает данные из вашего МойСклада и каждое утро сравнивает выручку каждой точки не только со вчера, но и с аналогичным периодом прошлого года, то есть с учётом сезона. Просадка, которая укладывается в сезонную норму, и просадка глубже нормы выглядят в сводке по-разному.
Как отличить сезонный спад от реального провала
Это самый важный раздел, ради него и считают сезонность. Выручка упала. Вопрос на миллион: это нормальный сезон или у нас проблема. Перепутать дорого в обе стороны. Примете провал за сезон - пропустите реальную беду, пока она не стала большой. Примете сезон за провал - запустите панические меры, накажете людей зря и потратите деньги на ненужные акции.
Главное правило простое и я повторяю его в каждой статье про разбор: сравнивайте не с прошлым месяцем, а с тем же месяцем прошлого года. Это и есть сопоставимые продажи, LFL (like for like). Прошлый месяц для сравнения не годится именно потому, что между месяцами и сидит сезонность. Июль всегда ниже июня, и сравнение «июль к июню» всегда покажет минус, даже если у вас всё прекрасно. А вот «июль этого года к июлю прошлого года» убирает сезон и показывает чистую динамику.
Разложу логику на три случая.
| Что видим | Что это значит | Что делать |
|---|---|---|
| Июль ниже июня, но июль = июлю прошлого года | Чистая сезонность, всё в норме | Ничего. Это ожидаемый спад, паники нет |
| Июль ниже июня и ниже июля прошлого года | Провал поверх сезона | Разбирать причину: точка, ассортимент, конкурент |
| Каждый месяц ниже своего же прошлогоднего | Не спад, а нисходящий тренд | Это уже стратегический вопрос, не сезонный |
Третья строка тут отдельная и важная. Сезонность это колебания вокруг уровня, а тренд это движение самого уровня вверх или вниз. Если у вас минус к прошлому году не в один месяц, а из месяца в месяц подряд, сезонность тут ни при чём. Это значит, что бизнес в целом сжимается: ушёл трафик, появился конкурент, устарел ассортимент. Сезонность маскирует тренд, поэтому её и надо снимать сравнением год к году, иначе спад уровня вы спишете на «ну, лето» и пропустите.
Чтобы поймать тренд, смотрят на годовые суммы или на LFL подряд за несколько месяцев. Один месяц минус к прошлому году это случайность или локальный провал. Три-четыре месяца подряд минус к прошлому году это уже тренд, и разговор переходит из плоскости «что с этим месяцем» в плоскость «что с бизнесом». Подробнее логику разложения выручки на причины я разбирал в материале про то, от каких показателей зависит выручка магазина.
Сведу три понятия, которые путают чаще всего, в одну таблицу.
| Понятие | Что это | Как распознать |
|---|---|---|
| Сезонный спад | Ожидаемое падение в слабый месяц | Месяц = тому же месяцу прошлого года |
| Реальный провал | Падение глубже сезонной нормы | Месяц ниже того же месяца прошлого года |
| Нисходящий тренд | Снижение самого уровня продаж | Несколько месяцев подряд ниже прошлогодних |
Запомнить просто. Сезон сравнивают год к году по одному месяцу. Провал это когда год к году минус. Тренд это когда минус год к году повторяется месяц за месяцем.
Сколько данных нужно и где люди ошибаются
Качество коэффициентов целиком зависит от данных под ними. Тут есть несколько грабель, на которые наступают почти все, кто считает сезонность впервые.
- Один год данных. На одном годе вы не отличаете сезон от случайности. Разовая крупная сделка в марте прошлого года задерёт коэффициент марта, и вы будете каждый год ждать пик, которого нет. Минимум 2 года, лучше 3.
- Не вычищенные аномалии. Если в данных сидит месяц с ковидным локдауном, переездом магазина или разовой федеральной акцией, он искажает средние. Такие месяцы либо исключают, либо заменяют на соседний нормальный год. Аномалия в исходных данных это аномалия в коэффициенте.
- Считать сезонность по сумме сети. Если у вас точки в разных местах, у каждой может быть своя сезонная кривая: у точки в спальном районе одна, у точки в туристической зоне другая, у точки в бизнес-центре третья. Усреднённая по сети кривая скроет это и подведёт при планировании по конкретной точке. Сезонность считают по каждой точке отдельно, а не одной кучей.
- Сезонность по выручке вместо штук. Если у вас за эти годы менялись цены или была инфляция, выручка растёт не из-за спроса, а из-за цен, и коэффициенты поплывут. Чище считать сезонность по количеству проданных единиц или чеков, а деньги планировать уже с учётом текущих цен.
- Забыть про сдвиг праздников. Пасха, выходные, перенос праздничных дней гуляют по календарю. Из-за этого пик может в один год попасть в апрель, в другой в май. На месячных коэффициентах это сглаживается, но помнить о причине стоит, иначе будете искать провал там, где просто праздник сдвинулся.
Общий принцип тот же, что в любом разборе: коэффициент не честнее данных, на которых посчитан. Поэтому полчаса на вычистку аномалий перед расчётом стоят больше, чем сам расчёт.
Как сезонность считается на сети из нескольких точек
На одной точке вся эта механика живёт в одной таблице Excel. Выгрузил помесячную выручку за 3 года, посчитал двенадцать средних, поделил на общий средний, получил коэффициенты. Вечер работы раз в год, и дальше пользуешься. Для одного магазина этого хватает с запасом.
На сети картина меняется. У каждой точки своя сезонная кривая, и коэффициенты надо считать по каждой отдельно. Это уже не один расчёт, а пять, десять, двадцать. Хуже того, сезонность полезна не раз в год, а каждый день: каждое утро, глядя на просадку точки, вы хотите сразу понимать, укладывается она в сезонную норму или нет. А для этого сегодняшняя выручка точки должна автоматически сравниваться не со вчера и не с прошлым месяцем, а с тем же периодом прошлого года по этой же точке. Руками такое сравнение по всем точкам каждое утро никто не делает, и поэтому на сети сезонность обычно либо считают раз в год для бюджета и забывают, либо не считают вовсе.
Поэтому на сети сезонность это в первую очередь вопрос не формулы (она простая), а сборки данных. Помесячная история по каждой точке должна где-то накапливаться в едином виде, а сегодняшние цифры должны автоматически ложиться на прошлогодние. Тогда сезонная поправка перестаёт быть отдельным проектом и становится фоном ежедневного разбора. Это, по сути, тот же KPI розничного магазина, только с правильной базой сравнения вместо наивного «к прошлому месяцу».
Это и есть одна из задач Утреннего разбора. Он подключается к МойСкладу, копит историю по каждой точке и каждое утро к 9 часам присылает сводку, где выручка сравнивается с аналогичным периодом прошлого года, то есть с учётом сезона. Просадка в сезонной норме и просадка глубже нормы в сводке выглядят по-разному, и вы не путаете июль с провалом. Честно: причину машина определяет с вероятностью, а не со стопроцентной точностью, финальное слово за вами, потому что контекст точки знаете вы. Но отделить «упало, потому что лето» от «упало, потому что проблема» она снимает с вас каждое утро.
FAQ
Что такое сезонность продаж простыми словами? Сезонность продаж это повторяющиеся из года в год колебания выручки по календарю: одни месяцы стабильно выше среднего, другие стабильно ниже, и так каждый год. Например, декабрь почти всегда пик, а июль почти всегда спад у городской розницы. Это нормальное явление, а не проблема. Проблема возникает, когда сезонность не считают и принимают её за реальные победы и провалы.
Как посчитать коэффициент сезонности по месяцам? Соберите выручку по месяцам минимум за 2 года, лучше за 3. Посчитайте средние продажи каждого месяца (все январи усреднить, все феврали и так далее). Посчитайте общий средний месяц по году. Коэффициент сезонности месяца это средние продажи этого месяца делённые на общий средний месяц. Значение выше 1 это пик, ниже 1 это спад. Сумма всех двенадцати коэффициентов должна выйти около 12 - это проверка расчёта.
Зачем нужен коэффициент сезонности? Он превращает расплывчатое «летом просядет» в конкретное «июль обычно на 30 процентов ниже среднего месяца». С конкретной цифрой можно планировать: умножаете плановый средний месяц на коэффициент и получаете ожидаемую выручку месяца. Это база для закупок, графиков персонала, акций и денежного потока. И главное, коэффициент помогает не путать нормальный сезонный спад с реальной проблемой.
Сколько лет данных нужно для расчёта сезонности? Минимум 2 полных года, лучше 3. На одном годе вы не отличите сезон от случайности: разовая крупная сделка или акция исказит коэффициент месяца, и вы будете каждый год ждать пик, которого на самом деле нет. Чем больше лет, тем устойчивее коэффициенты. Также стоит вычистить из данных аномальные месяцы (локдаун, переезд, разовая федеральная акция), иначе они исказят средние.
Как отличить сезонный спад от реального провала? Сравнивайте не с прошлым месяцем, а с тем же месяцем прошлого года (сопоставимые продажи, LFL). Если июль этого года равен июлю прошлого года, это чистая сезонность, всё в норме. Если июль ниже июля прошлого года, это провал поверх сезона, и причину надо разбирать. Сравнение с прошлым месяцем тут не работает, потому что между месяцами и сидит сезонность.
Чем сезонность отличается от тренда? Сезонность это колебания вокруг уровня: вверх в пик, вниз в спад, и так каждый год. Тренд это движение самого уровня вверх или вниз. Если выручка ниже прошлогодней не в один месяц, а из месяца в месяц подряд, это уже не сезонный спад, а нисходящий тренд: бизнес сжимается. Сезонность маскирует тренд, поэтому её снимают сравнением год к году, иначе долгий спад спишут на «ну, лето».
Нужно ли считать сезонность отдельно по каждой точке сети? Да. У точек в разных местах разные сезонные кривые: спальный район, туристическая зона и бизнес-центр ведут себя по-разному. Усреднённая по сети кривая скроет эти различия и подведёт при планировании закупок и персонала по конкретной точке. Считайте коэффициенты по каждой точке отдельно. На сети это ручную работу делает тяжёлой, поэтому сравнение с прошлым годом по точкам обычно автоматизируют.
В чём считать сезонность - в деньгах или в штуках? Если за расчётные годы у вас менялись цены или была заметная инфляция, выручка росла не из-за спроса, а из-за цен, и коэффициенты по деньгам поплывут. Чище считать сезонность по количеству проданных единиц или числу чеков, потому что они от цены не зависят. А деньги уже планировать, умножая натуральный объём на текущие цены.
Что почитать дальше
- Как устроен полный разбор продаж и где в нём место сезонной поправки: анализ продаж розничного магазина.
- KPI розничного магазина: какие показатели смотреть каждое утро и с какой базой сравнения.
- Как разложить выручку на рычаги и найти настоящую причину просадки: от каких показателей зависит выручка магазина.
- Что делать в спад вместо панических скидок: как увеличить средний чек.
Если у вас от трёх точек и сезонность вы считаете в лучшем случае раз в год для бюджета, посмотрите, как устроен Утренний разбор. Он сам копит историю по каждой точке и каждое утро в 9 сравнивает выручку с тем же периодом прошлого года, чтобы вы не путали сезон с провалом. Подключение за пять минут, первые 14 дней без оплаты, данные не уходят с российских серверов.
