Sales Forecast AI

AI-система для анализа исторических продаж, прогнозирования выручки, сценарного моделирования и генерации AI-инсайтов.

Sales Forecast AI

О проекте

Sales Forecast AI — веб-приложение для анализа продаж по пользовательскому CSV-файлу. Система валидирует и сохраняет данные в PostgreSQL, рассчитывает ключевые показатели, анализирует динамику и сезонность, сравнивает прогнозные модели, позволяет моделировать изменение цены, скидки, рекламных расходов и промо, а затем формирует AI-интерпретацию уже рассчитанных результатов. Интерфейс реализован на Streamlit, визуализация — на Plotly.

Какую задачу решает

Проект автоматизирует первичный анализ исторических продаж и помогает быстро получить ответы на несколько практических вопросов: - как менялась выручка и количество продаж; - какие товары и категории дают основную долю выручки; - есть ли заметная сезонность; - какой прогноз можно получить на будущий период; - какая из прогнозных моделей показывает меньшую ошибку; - как может выглядеть результат при изменении цены, скидки, рекламы или промо; - какие выводы и риски можно сформулировать на основе рассчитанных данных.

Что реализовано

- загрузка пользовательского CSV через веб-интерфейс; - валидация и нормализация входных данных; - хранение датасетов и результатов в PostgreSQL; - аналитика KPI, динамики, сезонности и корреляций; - агрегации по товарам, категориям, дням, неделям и месяцам; - прогнозирование через Prophet; - Seasonal Naive как baseline-модель; - временная валидация без data leakage; - расчёт MAE, RMSE и MAPE; - автоматический выбор лучшей прогнозной модели; - прогноз выручки и количества продаж; - сценарное моделирование через RandomForestRegressor; - сравнение baseline и пользовательского сценария; - расчёт feature importance; - AI-инсайты через OpenAI SDK и ProxyAPI; - structured output с Pydantic-валидацией; - интерактивный Streamlit dashboard; - Plotly-графики; - Docker Compose; - SQLAlchemy и Alembic; - тесты ключевой бизнес-логики; - документация структуры БД.

Результат

Получился рабочий MVP веб-системы, в которой пользователь может пройти полный цикл: загрузить CSV → получить аналитику → построить прогноз → проверить сценарий → получить AI-интерпретацию. Расчёты выполняются Python/ML-кодом, а LLM используется только для интерпретации готовых показателей и не подменяет собой аналитику. Система поддерживает несколько независимых датасетов и сохраняет результаты анализов, прогнозов и сценариев в PostgreSQL.

Практическое применение

Подобную систему можно использовать как основу для внутреннего аналитического инструмента малого или среднего бизнеса, где данные о продажах уже ведутся в CSV/Excel или выгружаются из учётной системы. Проект может быть расширен до production-решения с отдельным FastAPI backend, React frontend, авторизацией, фоновыми задачами, интеграцией с CRM/ERP и автоматическим получением данных из внешних источников.

Технологии

Python, Streamlit, pandas, scikit-learn, Prophet, Plotly, PostgreSQL, SQLAlchemy, Alembic, Pydantic, pydantic-settings, OpenAI Python SDK, ProxyAPI, Docker, Docker Compose, pytest

Ссылки