Оценка влияния программ лояльности - анализ изменения среднего чека и частоты покупок участников программы
Современные программы лояльности позволяют не только удерживать клиентов, но и управлять их поведением с точки зрения покупки товара, суммы чека и частоты визитов. В рамках курса BI DWH для анализа чеков рассматривается методология оценки влияния программ лояльности на два ключевых бизнес-показателя: средний чек и частота покупок. В главе изложены принципы проектирования архитектуры данных, выбор метрик, методологии анализа и практические подходы к внедрению в корпоративной среде. Особое внимание уделено вопросам достоверности выводов, обработке сезонности и инфляции, а также методам контроля причинно-следственных эффектов в условиях ограниченных экспериментальных данных.
Краткое введение
Анализ влияния программы лояльности требует связки между операционными источниками по продажам и данными о клиентах и лояльности. Наличие непрерывной и сопоставимой временной оси, корректная отнесенность к сегментам (участник/неучастник, уровень участия, период внедрения) и возможность построения когортного анализа позволяют выявлять тренды, скорректированные на сезонность, инфляцию и демографические различия. В данной главе приводятся концептуальные основы, архитектурные принципы и практические примеры реализации в рамках типового BI DWH-стека: хранилище данных, инфраструктура ETL/ELT, пайплайны качества данных и инструменты визуализации. Разделы с примерами SQL и концептуальными моделями помогут перейти от теории к повторяемым инфраструктурным решениям.
- Краткое содержание главы
- Архитектура данных и схемы для анализа влияния программ лояльности
- Метрики, когортный анализ и методики оценки эффектов
- Интеграции, ETL и качество данных
- Аналитические подходы к выводу влияния и практическая реализация
- Внедрение, мониторинг и управленческие выводы
Архитектура данных и схемы
Для корректного анализа влияния программ лояльности необходима интеграция данных из нескольких источников: POS и онлайн-каналы продаж, данные системы лояльности (регистрация, баланс баллов, уровень статуса, даты enrollment), а также демографическая информация о клиентах. В типичной архитектуре BI DWH применяются две связанные факт-таблицы и несколько размер-таблиц (звездообразная схема): факты по продажам и факты по взаимодействиям с программой лояльности, а также размерности по времени, клиентам, магазинам и самой программе лояльности.
- Факт продажи (fact_sales) отражает каждое кассовое событие: receipt_id, date_id, store_id, customer_id, program_id, total_amount, items_count, discount_amount, payment_method.
- Факт взаимодействий по лояльности (fact_loyalty_interactions) фиксирует действия клиента, связанные с программой: interaction_id, date_id, customer_id, program_id, event_type (enrollment, tier_change, points_earned, points_spent), value.
- Размерности (dimension tables): dim_date (date_id, date, month, quarter, year, is_holiday), dim_customer (customer_id, gender, age_group, loyalty_member, enrollment_date, tier, tenure_months), dim_store (store_id, region, city, channel), dim_program (program_id, program_name, tier, enrollment_date).
Таблица ниже иллюстрирует базовую схему в виде примера, без привязки к конкретной СУБД. Она демонстрирует сущности и ключевые поля для звездообразной архитектуры.
| Компонент | Назначение | Основные атрибуты |
|---|---|---|
| fact_sales | Факт продаж | receipt_id, date_id, store_id, customer_id, program_id, total_amount, items_count, discount_amount |
| fact_loyalty_interactions | Факт взаимодействий по лояльности | interaction_id, date_id, customer_id, program_id, event_type, value |
| dim_date | Временные измерения | date_id, date, month, quarter, year, is_holiday |
| dim_customer | Клиент | customer_id, gender, age_group, loyalty_member, enrollment_date, tier, tenure_months |
| dim_store | Магазин | store_id, region, city, channel |
| dim_program | Программа лояльности | program_id, program_name, tier, enrollment_date |
Архитектура предполагает поддержку двух режимов анализа: (а) сравнение участников программы и неучастников по одинаковым периодам и (б) когортный анализ по дате регистрации в программе. Такие режимы требуют согласованности временных метрик (даты, периоды), единых правил агрегации и отнесения дат к соответствующим размерностям. Важными аспектами являются:
- линейная иерархия времени: поддержка нескольких горизонтов (месяц, квартал, год) для сравнения сезонных эффектов;
- корректная дата-навигация: использование date_dim как единого источника для определения периода, смещений и агрегаций;
- обработка клиентских атрибутов: учет изменений статуса лояльности, уровней, сегментов через SCD-2, чтобы не искажать когортный анализ при перераспределении клиентов между группами;
- функциональность для отложенного чтения данных: отсрочки между регистрацией и началом эффекта программы, чтобы не смешивать влияние периода внедрения с эффектами до него.
Данные обычно реплицируются в DWH через ELT-подход: данные извлекаются из операционных систем, трансформируются в слоях staging и semantic, после чего загружаются в факт- и размерные таблицы. В качестве базового шаблона источников применяются:
- POS/IMEG: продажи, чека, сумма, скидки, товары;
- CRM/ Loyalty-системы: enrollment_date, tier, points balance, активность;
- E-commerce: онлайн-покупки, спорные транзакции, возвраты;
- Модели внешних факторов: CPI, сезонные признаки.
С точки зрения интеграций важна прозрачная lineage: какие источники повлияли на каждый столбец в факт-схеме, какие расчеты применялись и какие бизнес-правила. В качестве современных практик рекомендуется использование metadata-слоя и централизованного набора правил валидации данных, чтобы в любой момент можно проследить источник значения на конкретную дату и период.
-- Пример галочки целей архитектуры: --: Потребности: хранение истории изменений статуса клиента, поддержка когортного анализа, учёт сезонности и инфляции. -- Пример: создание в dim_customer поля enrollment_date, с SCD-2 INSERT INTO dim_customer (customer_id, enrollment_date, tier, is_active, effective_from, effective_to) SELECT customer_id, enrollment_date, tier, true, current_date, NULL FROM staging.dim_customer; -- Пример: факт продаж объединение с размерностями INSERT INTO fact_sales (receipt_id, date_id, store_id, customer_id, program_id, total_amount, items_count) SELECT s.receipt_id, d.date_id, s.store_id, s.customer_id, s.program_id, s.total_amount, s.items_count FROM staging.fact_sales s JOIN dim_date d ON s.date = d.date JOIN dim_store st ON s.store_id = st.store_id JOIN dim_program p ON s.program_id = p.program_id;
Метрики, когортный анализ и сравнение групп
Чтобы оценить влияние программы лояльности на средний чек и частоту покупок, необходимо выбрать устойчивые метрики и корректные методы сравнения между группами. В рамках данной главы предлагаются следующие ориентиры.
- Средний чек (Average Check, ARV): ARV по группе за период определяется как отношение суммарной выручки к числу чеков (ARV = SUM(total_amount) / COUNT(receipt_id)) с разбивкой по сегментам: участники программы vs неучастники; по месяцам, кварталам и годам.
- Частота покупок (Purchase Frequency): частота визитов в заданном периоде. Чаще всего рассчитывается как количество чеков на клиента в периоде, нормированное по числу уникальных клиентов в группе.
- Эффект по когортам: анализ ARV и Frequency по когортам enrollment_date. Это позволяет увидеть, как поведение клиентов, зарегистрировавшихся в разные месяцы, изменялось после внедрения программы.
- Контроль сезонности и инфляции: применяются методы нормализации, например, ARV может быть скорректирован по CPI или сравниваться после нормализации цен на месячном уровне. Важно выделить эффект от программы от общего рыночного тренда.
- Контрольные группы и методы причинно-следственного вывода: для оценки эффекта можно использовать экспериментальные подходы (A/B тесты) или их приближения в условиях ограниченности данных, например Difference-in-Differences (DiD) или Propensity Score Matching (PSM). Это снижает риск ложного выявления эффекта из-за различий между группами.
Когортный подход в анализе лояльности позволяет не только увидеть вклад участников в изменение среднего чека, но и корректно сравнить группы по времени. В рамках когортного анализа следует учитывать:
- выбор состава когорт: месяц регистрации, год регистрации или другие релевантные маркеры;
- динамику ARV по когортам: как быстро и насколько устойчиво изменяется средний чек после регистрации;
- динамику Frequency по когортам: аналогично ARV, но по частоте визитов;
- взаимодействие между сегментами: например, участники разных уровней лояльности могут демонстрировать разную динамику.
Ниже приводится упрощенный пример SQL-запроса, иллюстрирующий расчёт ARV и Frequency по когортам enrollment_date за конкретный период. Запрос ориентирован на системы, поддерживающие оконные функции и стандартный SQL-синтаксис.
WITH period_sales AS (
SELECT
c.customer_id,
date_trunc('month', s.date) AS period,
SUM(s.total_amount) AS period_spend,
COUNT(*) AS receipts
## FROM fact_sales s
JOIN dim_customer c ON s.customer_id = c.customer_id
WHERE s.date BETWEEN :start_date AND :end_date
GROUP BY c.customer_id, period
),
enrollment AS (
SELECT customer_id, date_trunc('month', enrollment_date) AS cohort_month
FROM dim_customer
WHERE enrollment_date IS NOT NULL
)
SELECT
e.cohort_month,
p.period,
AVG(p.period_spend) AS arv,
AVG(p.receipts) AS frequency
## FROM period_sales p
JOIN enrollment e ON p.customer_id = e.customer_id
GROUP BY e.cohort_month, p.period
ORDER BY e.cohort_month, p.period;
В практике возможно сочетать когортный анализ с регрессионными моделями и методами контролируемого эксперимента. Например, для оценки влияния программы на ARV в рамках разных уровней лояльности можно построить линейную модель, включив признак участия (binary), месяц внедрения, сезонные фиксаторы и inmobiliation или CPI. Важно помнить, что корреляция не равна причинности, поэтому любые выводы следует подкреплять дизайном экспериментов или методами оценивания причинного эффекта.
Интеграции, ETL и качество данных
Эффективная реализация начинается с качественного сбора и интеграции данных. В контексте анализа влияния лояльности кросс-источники должны быть своевременными, сопоставимыми и полностью аудируемыми. Основные принципы:
- единая временная ось: выравнивание по dim_date, чтобы периодические расчеты ARV и Frequency были сопоставимы по всем источникам;
- обработка клиентских атрибутов: использование SCD2 для enrollment_date, tier и статуса участника, чтобы не потерять историю изменений;
- дедупликация и уникальные ключи: контроль повторяющихся чеков и дубликатов клиентов, особенно при синхронизации в реальном времени;
- качества данных: набор валидаторов на каждый пайплайн (валидность дат, корректность сумм, отсутствие пропусков critical-полей);
- правовые и этические ограничения: защита персональных данных, минимизация хранения чувствительной информации и соблюдение регуляторных требований.
ETL/ELT-процессы должны быть задокументированы и воспроизводимы. В рамках корпоративных концепций применяются:
- staging-проекты: раздельный слой для источников продаж, loyalty-системы и клиентских данным;
- трансформации на уровне semantic layer: расчеты ARV, Frequency, метрики по когортам и готовые к использованию представления;
- incremental loads: обновление данных частями (например, дневной пакет) с сохранением истории изменений;
- контроль качества и lineage: автоматические проверки после загрузки (число строк, суммарные значения, контрольные суммы), журнал изменений, версия схем.
Таблица ниже демонстрирует типичные источники и ожидаемые выходы на этапе интеграции.
| Источник | Входные данные | Выходы для DWH | Примечания |
|---|---|---|---|
| POS/Оnline продажи | receipt_id, date, store_id, product_id, amount, discount | fact_sales | Инкрементальные загрузки, соответствие date_dim |
| Loyalty-система | customer_id, enrollment_date, tier, points_balance | dim_customer, dim_program | SCD2 для enrollment_date и tier |
| CRM | customer_id, channel, demographics | dim_customer | Агрегации по сегментации, соответствие уникальности |
| Внешние факторы | CPI, сезонность | аналитические слои | Нормализация цен и сезонных эффектов |
Необходимо обеспечить прозрачность и управляемость в отношении того, какие источники формируют какие поля в фактах. Это критично для воспроизводимости анализа по когортам и для корректного сравнения групп.
Аналитические подходы к выводу влияния и практическая реализация
Оценка эффекта программы лояльности требует сочетания методов анализа. Ниже приведены ключевые подходы, которые можно внедрить в BI-проекты независимо от масштаба организации.
- Контрольная группа и экспериментальные дизайны: если часть клиентов стала участниками программы, а часть - нет, можно строить контрольную группу и сравнивать изменения ARV и Frequency между группами по времени. В реальности часто невозможно сделать чистый рандомизированный эксперимент, поэтому применяются близкие к эксперименту методики (например, регрессионная дисконты, matching, DiD).
- Difference-in-Differences (DiD): сравнение изменений между группами до и после внедрения программы, учитывая общий тренд рынка. Основная идея - выделить дополнительный эффект программы, отделив его от общей динамики.
- Регрессия с фиксированными эффектами: моделирование ARV и Frequency как функций участия в лояльности и времени, с учётом фиксированных эффектов по клиентам и по магазинам, чтобы устранить влияние неизменяемых факторов.
- Пропensity Score Matching (PSM): сопоставление участников и неучастников по характеристикам до внедрения, чтобы минимизировать систематическую смещенность в выборе участников.
- Коррекция сезонности и инфляции: использование параметрических и непараметрических методов для учета сезонности, праздничных периодов, изменений цен на рынке. Включение фиксаторов по времени (month, quarter) в регрессионные модели и использование CPI как covariate может минимизировать искажения.
Практический маршрут анализа:
- Шаг 1: определить набор метрик и целевые сегменты. Например, ARV и Frequency для участников и неучастников по когортам enrollment_month.
- Шаг 2: построить когортную матрицу ARV и Frequency с учетом временных окон (например, 0-3 месяца после enrollment, 4-6 месяцев и т. д.).
- Шаг 3: выбрать подход к оценке эффекта (DiD или PSM) и определить набор переменных-к covariates (возраст, регион, канал продаж, tier программы).
- Шаг 4: провести оценку и проверить предпосылки - параллельность трендов для DiD, балансировка по covariates для PSM.
- Шаг 5: визуализировать результаты в Dashboards: ARV и Frequency по группам, по когортам, с выделением периода внедрения и эффектов.
- Шаг 6: документировать ограничения, допущения и риски, связанные с данными и методами.
Кейс-сценарий: как это может выглядеть на практике
- Компания внедрила программу лояльности в течение первого полугодия. Для анализа выбираются две группы: участники программы (объект) и неучастники (контроль). В течение 6 месяцев после внедрения регистрируются когортные группы по enrollment_month и рассчитываются ARV и Frequency.
- Дифференциальный эффект оценивается с использованием DiD: ARV_it = α + β1Post_t + β2Member_i + β3(Post_tMember_i) + γX_it + μ_i + λ_t + ε_it, где Post_t - период после внедрения, Member_i - индикатор участника, μ_i и λ_t - фиксированные эффекты по клиенту и периоду. Показатель β3 оценивает чистый эффект программы.
- Дополнительно применяется PSM для снижения смещения: подбираются пары участник/неучастник по возрасту, региону, каналу покупки и т. п., после чего сравнение ARV и Frequency выполняется между парой-контрагентами.
- Итоговая визуализация в BI: графики ARV и Frequency по когортам Enrollment, тепловые карты изменений, диаграммы доверительных интервалов и тесты на устойчивость результатов.
Реализация в BI DWH: практические решения и рекомендации
- Выбор инструментов: в зависимости от инфраструктуры можно реализовать запросы через SQL-движок DWH (например, PostgreSQL, Snowflake, Google BigQuery) и построить слой отчётности в BI-инструментах (Tableau, Power BI, Looker). Важно поддерживать единый semantic layer, где ARV, Frequency и cohort-модели будут доступны как готовые measures.
- Визуализация: панели должны демонстрировать сравнение групп, когортную динамику и тестовые коэффициенты воздействия. Важна возможность фильтраций по региону, каналу продаж и уровню участия в программе, чтобы бизнес-юристы могли проследить источники эффекта.
- Мониторинг и качество: реализуйте дашборд мониторинга качества данных (количество пропусков, дубликатов, согласованность по date_id) и автоматические проверки после загрузок.
- Безопасность и приватность: сузьте доступ к персональным данным, используйте агрегированные метрики, минимизируйте хранение PII, обеспечьте соответствие требованиям регуляторов и внутренним политикам.
- Процессы внедрения: поэтапное внедрение с пилотом на ограниченном сегменте, документирование бизнес-правил, обратная связь от бизнес-пользователей и циклическое улучшение расчетов и визуализаций.
Реализация примеров и практических решений
В практической части полезно иметь готовые представления и визуализации, но избегать чрезмерной детализации кода. В качестве немножко технического примера приведены два небольших SQL-запроса, которые часто применяются в фазе анализа.
-- Пример: ARV по когортам enrollment_month и участнику (Member = 1)
SELECT
e.cohort_month,
CASE WHEN c.loyalty_member = 1 THEN 'Member' ELSE 'Non-member' END AS member_group,
AVG(s.total_amount) AS arv,
AVG(s.items_count) AS avg_items
## FROM fact_sales s
JOIN dim_customer c ON s.customer_id = c.customer_id
JOIN (SELECT customer_id, date_trunc('month', enrollment_date) AS cohort_month
FROM dim_customer
WHERE enrollment_date IS NOT NULL) AS e
ON s.customer_id = e.customer_id
GROUP BY e.cohort_month, member_group
ORDER BY e.cohort_month, member_group;
-- Пример: Difference-in-Differences духа упрощенной регрессии на ARV
WITH pre_post AS (
SELECT
cohort_month,
post_period, -- 1 после внедрения, 0 до
AVG(arv) AS arv_mean
FROM cohort_arv_view
GROUP BY cohort_month, post_period
)
SELECT
AVG(CASE WHEN post_period = 1 THEN arv_mean ELSE NULL END) -
AVG(CASE WHEN post_period = 0 THEN arv_mean ELSE NULL END) AS DidEffect
FROM pre_post;
Эти примеры предназначены для иллюстрации подходов и должны адаптироваться под конкретную СУБД и naming conventions проекта.
Внедрение и управленческие выводы
Для устойчивого внедрения необходимо:
- документировать бизнес-правила: как идентифицируются участники, как учитываются скидки и возвраты, какие даты учитываются в когортном анализе;
- регламентировать обновления и версионирование: какие версии моделей используются в dashboards, как откатываются изменения;
- устанавливать частоту обновлений: ежедневное обновление фактов продаж и еженедельное обновление когортных расчетов;
- обеспечить доступность и понятность: бизнес-пользователям надо объяснять, что именно измеряется и какие гипотезы проверяются;
- управлять рисками: качество данных может снижаться из-за интеграций с внешними системами; предусмотрите планы по устранению ошибок и резервного копирования.
Key takeaways
- Архитектура данных для анализа влияния программ лояльности должна поддерживать когортный анализ и сопоставление групп участников и неучастников через единую временную ось и правильные размерности.
- Основные метрики для оценки эффекта - средний чек (ARV) и частота покупок (Frequency); их анализ по когортам позволяет увидеть динамику влияния программы во времени.
- Интеграция источников продаж, лояльности и клиентской информации требует SCD-2 для атрибутов клиентов и корректной агрегации фактов, что критично для точности когортных выводов.
- Эффективная методология требует контроля за сезонностью и инфляцией, а также применения методов quasi-experimental designs (DiD, PSM) для оценки причинности эффекта.
- Практическая реализация опирается на чётко описанные пайплайны ETL/ELT, качественные проверки данных и управляемую визуализацию в BI-платформах, что обеспечивает повторяемость и доверие к выводам.
- Внедрение должно сопровождаться управлением рисками, прозрачной документацией бизнес-правил и механизмами мониторинга качества данных.
- Критически важно связывать выводы анализа с реальными бизнес-решениями по программе лояльности: например, корректировать уровни баллов, таргетировать сегменты и адаптировать продаж в ответ на выявленные эффекты.
FAQ
Вопрос 1. Какие данные мне нужны для анализа влияния программы лояльности на ARV и Frequency?
Ответ: необходимы данные по продажам (факт_Sales): receipt_id, date, store, customer_id, program_id, total_amount, items_count; данные о клиентах и их участии в программе (dim_customer): customer_id, enrollment_date, tier, loyalty_member; данные по программе лояльности (dim_program): program_id, program_name, tier; и временная размерность (dim_date). Дополнительно полезны данные о скидках, возвратах и внешних факторах (CPI, праздники), чтобы скорректировать сезонность и инфляцию. Важна связь между источниками и чистые ключи (foreign keys) для точности агрегаций.
Вопрос 2. Какие метрики использовать для оценки эффекта?
Ответ: основными метриками являются ARV (средний чек) и Frequency (частота визитов). ARV рассчитывается как SUM(total_amount) / COUNT(receipt_id) по группе (участник/неучастник) и по когортам enrollment_date; Frequency - количество чеков на клиента в заданном периоде. Также полезно смотреть на долю участников по сегментам программы, средний размер скидки и влияние на возвратность покупателей. Для оценки устойчивости эффекта применяются когортные диаграммы, графики динамики по месяцам, и качественные проверки на сезонность через фиксаторы времени.
Вопрос 3. Как учесть сезонность и инфляцию?
Ответ: сезонность можно моделировать через фиксаторы по month, quarter и holiday; инфляцию - через CPI или индикаторы цен на соответствующие периоды. В регрессионных моделях следует включать сезонные фиксаторы и CPI как covariates, чтобы коэффициенты, отражающие эффект программы, не искажались общим рынковым трендом. В когортном анализе полезно сравнивать динамику ARV и Frequency внутри когорт без разности в базовых ценах между группами, что помогает снизить влияние инфляции на выводы.
Вопрос 4. Как выбрать контрольную группу и обеспечить достоверность выводов?
Ответ: если рандомизация недоступна, применяются методы близкой к эксперименту: Propensity Score Matching (PSM) для подбора неучастников, сопоставимых по возрасту, региону, каналу продаж и другим характеристикам. DiD - Difference-in-Differences - позволяет сравнить изменение ARV между группами до и после внедрения программы, контролируя общий рыночный тренд. Важно проверить допущения дифференциального поведения и устойчивость результатов к различным временным окнам.
Вопрос 5. Какие типовые ошибки при реализации анализа следует избегать?
Ответ: ошибки включают игнорирование сезонности и инфляции, некорректное сопоставление периодов между группами, игнорирование изменений статуса клиента в рамках SCD-2, неверное определение когорт и несогласованность данных между источниками. Также следует избегать избыточной детализации в метриках, если данные низкого качества, чтобы не выводить неверные заключения.
Вопрос 6. Какую роль играет когортный анализ в оценке эффективности программы?
Ответ: когортный анализ позволяет увидеть, как поведение отдельных групп клиентов изменялось после регистрации на программу, и как эти изменения эволюционируют во времени. Это важный метод для разделения динамики, вызванной внедрением программы, от общего тренда рынка. Он предоставляет бизнес-возможности для таргетирования дальнейших мероприятий и оценку устойчивости эффекта.
Вопрос 7. Какие данные и подходы требуют особого внимания в крупных корпоративных системах?
Ответ: в крупных системах особое внимание уделяется управлению качеством данных, DL/ELT-пайплайнам, lineage и аудитам изменений. Важно обеспечить согласованность между слоями staging и semantic, корректную SCD-обработку клиентских атрибутов и версионирование метрик. Также критично выстроить процессы мониторинга загрузок, обработки ошибок и регламентировать доступ к данным, чтобы обеспечить доверие к аналитическим выводам.
Вопрос 8. Какие практические ограничения существуют при применении DiD в анализе лояльности?
Ответ: DiD предполагает параллельность трендов до внедрения и одинаковый уровень контроля за внешними факторами в обеих группах. В реальности различия во внешних условиях, сезонные колебания и неравномерная «самоотборка» клиентов могут нарушить предпосылку. Необходимо проводить дополнительные проверки на балансы covariates, выполнять чувствительные анализы по окнам, а также рассмотреть альтернативные методы, такие как локальные регрессии или синтетический контроль.
Вопрос 9. Какие подходы к визуализации наиболее эффективны для бизнес-аналитиков?
Ответ: эффективны визуализации, показывающие динамику ARV и Frequency по группам и когортам: линейные графики по месяцам, тепловые карты по когортам и временным окнами, графики разности между группами (Difference plots) и доверительные интервалы. Включение интерактивных фильтров по региону, каналу продаж и уровню участия позволяет бизнес-пользователям быстро отвечать на вопросы: где программа работает лучше, какие когортальные эффекты выглядят устойчивыми и как качества данных влияет на выводы.
Вопрос 10. Какие шаги следует предпринять для начала проекта по анализу влияния программы лояльности?
Ответ: начальная дорожная карта включает следующие шаги:
- определить цель анализа и набор целевых метрик (ARV, Frequency) и сегментов;
- собрать и сверить источники данных: факты продаж, данные клиентов и программа лояльности;
- построить или проверить существующую датаграмму/звездообразную схему и обеспечить единое date_dim;
- реализовать базовый ETL/ELT-пайплайн, включая SCD2 для атрибутов клиента;
- выполнить первый когортный анализ и базовый DiD-подход;
- подготовить визуализации и дашборды для бизнес-пользователей;
- внедрить мониторинг качества данных и план по расширению анализа.



