Компания сравнивает продажи по финансовым периодам 4–4–5, но дашборд группирует даты по календарным месяцам. Как исправить модель периода?
Нужно использовать согласованный календарь дат с атрибутами финансового года, финансового периода и финансовой недели, а не группировать факты по календарному месяцу. Каждая дата продажи должна однозначно сопоставляться с нужным финансовым периодом 4–4–5.
Календарь 4–4–5 применяют, когда бизнесу важно сравнивать одинаковое число недель и дней недели, а не календарные месяцы разной длины. Такой подход особенно удобен для розницы и других сфер, где продажи зависят от недельного ритма и выходных.
Обычные календарные месяцы содержат разное число дней и полных недель, поэтому их сравнение может смешивать различия в длительности периода с реальной динамикой бизнеса. Финансовый календарь решает эту проблему явным заданием границ периодов.
Если дашборд использует календарные месяцы вместо финансовых периодов, одна аналитическая группа может включать неполные торговые недели, а другая — разное число выходных. В результате сравнение выручки, среднего чека или выполнения плана становится методологически некорректным.
Особенно опасно, когда часть отчётов использует календарные месяцы, а часть — финансовые периоды. Пользователи видят расхождения в KPI и могут принять различия в календаре за ошибки данных или изменение бизнеса.
В модели создают отдельное измерение даты. Для каждой даты в нём хранятся календарная дата, финансовый год, номер финансового периода, номер финансовой недели, начало и конец периода, а также признаки текущего и завершённого периода.
Таблица фактов продаж связывается с измерением даты по ключу даты. Визуализации используют финансовый год и финансовый период из этого измерения. Нельзя надёжно восстановить календарь 4–4–5 простым вычислением номера календарного месяца: границы финансового года и правила организации должны быть заданы явно.
Важно заранее определить начало финансового года, первый день финансовой недели и правило обработки 53-й недели. Если такие правила меняются без версионирования или документирования, исторические сравнения могут стать невоспроизводимыми.
Финансовый календарь следует сделать согласованным измерением для всех отчётов и фактов, где используются эти периоды. Компромисс состоит в том, что модель становится немного сложнее, зато устраняется неоднозначность группировки и упрощается контроль качества. Для оперативных отчётов иногда дополнительно показывают календарные периоды, но их нельзя смешивать с финансовыми без явной маркировки.
Розничная сеть сравнивала продажи текущего периода с предыдущим. В одном отчёте период строился по календарному месяцу, в другом — по схеме 4–4–5. Из-за разного количества суббот и воскресений руководство получало противоречивые выводы о росте выручки.
Рассматривались три варианта. Вычислять финансовый период непосредственно в каждом отчёте было быстро, но создавало дублирование логики и риск расхождений. Брать готовые финансовые поля из каждой исходной системы было удобно, но разные источники могли использовать разные правила. Создать единое измерение даты с утверждённым финансовым календарём требовало начальной настройки, зато обеспечивало единые границы периодов.
Выбрали третий вариант: централизованный календарь дат, связанный с фактами продаж и планом. После этого сравнения стали выполняться по одинаковым финансовым периодам, а 53-я неделя была явно выделена отдельным правилом. Результат — единая трактовка KPI во всех отчётах и более прозрачная проверка периодных итогов.
Её нельзя молча присоединять к произвольному периоду. Нужно зафиксировать правило бизнеса: выделять отдельным периодом, включать в определённый период или применять специальный сравнительный сценарий. Важно, чтобы это правило одинаково использовалось в фактах, планах, KPI и сравнении с прошлым годом.
Нет. Номер периода без финансового года неоднозначен: период 1 повторяется ежегодно. Минимально нужны финансовый год и номер периода, а для сортировки — отдельный последовательный ключ или дата начала периода. Также полезно хранить подписи и границы периода, чтобы фильтры и визуализации не сортировали значения лексикографически или не показывали неясные названия.
Текущий финансовый период может быть незавершённым, а прошлый — полным. Кроме того, специальные акции, переносы выходных и 53-я неделя могут нарушать простое сравнение по номеру периода. Поэтому отчёт должен явно различать полные и неполные периоды и документировать правила сопоставления с прошлым годом.