Marketing Mix Modeling toolkit for marginal response curves, baseline control and budget analysis.
Проект реализует минимальный воспроизводимый пайплайн MMM:
- загрузка и препроцессинг данных,
- обучение модели,
- оценка качества,
- построение response curves по каналам,
- текстовый CLI-интерфейс.
Цель проекта — получить интерпретируемые кривые отклика рекламных каналов в реальных величинах.
- core/
- data/
- output/
- main.py
- baseline.py
- requirements.txt
bash
pip install -r requirements.txt
python main.py
С параметрами:
python main.py --baseline median
python main.py --baseline min
python main.py --baseline zero
python main.py --no-show
| Параметр | Описание |
|---|---|
--baseline |
Как фиксируются остальные каналы: median / min / zero |
--test-size |
Доля тестовой выборки |
--no-show |
Не показывать графики, только сохранить PNG |
--dataset |
Имя CSV-файла в папке data/ |
python baseline.py
Используется линейная регрессия как простая базовая модель для сравнения.
При построении response curves фиксируются остальные каналы:
Sales = f(Channel_i = b, OtherChannels = baseline)
Варианты:
- median — остальные каналы на медиане (рекомендуется)
- min — остальные каналы на минимуме
- zero — остальные каналы обнулены
Baseline определяет контекст интерпретации кривых.
В папке output/ сохраняются:
- response_tv_median.png
- response_radio_median.png
- response_newspaper_median.png
Каждый график:
- ось X — бюджет канала ($),
- ось Y — прогноз продаж ($).
Используется:
- GradientBoostingRegressor,
- стандартизация X и y,
- обратное масштабирование для интерпретации,
- median baseline для частичной зависимости.
Проект аппроксимирует:
E[Sales | Channel_i = b]
- Не учитывается временная динамика.
- Нет adstock / carryover эффектов.
- Нет причинной идентификации.
- Кривые условные, а не каузальные.
Проект предназначен для:
- портфолио Data Scientist,
- обучения интерпретации моделей,
- анализа рекламных каналов,
- прототипирования бюджетных сценариев.
MIT