Прогнозирование скидок и мониторинг цен: тема для ВКР по Data Engineering
В середине марта 2026 года The Verge опубликовала заметку о первых в этом году скидках на технику Sonos: перед «Большой весенней распродажей» Amazon цены на наушники, колонки и саундбары упали на 100–130 долларов. Для студента ИТ-специальности это не просто новость о распродаже, а готовый кейс для дипломного проекта. Подумайте сами: если вы можете собрать данные о ценах с трёх разных площадок (Amazon, Best Buy, Sonos), проанализировать динамику, спрогнозировать следующее снижение — это полноценная ВКР по Data Engineering или анализу данных. В этой статье разберём, как превратить такую задачу в защищаемую работу, какие инструменты использовать и как не утонуть в типичных ошибках.
Как привязать новость о скидках к ВКР: выбор направления
Если вы ещё не выбрали тему диплома, но умеете (или хотите научиться) программировать — тема «Система мониторинга цен и прогнозирования скидок» идеально ложится на современные требования вузов. Она включает и проектирование архитектуры, и работу с реальными данными, и применение машинного обучения. Ниже — три конкретных варианта ВКР, которые можно вывести из новости о Sonos.
| Тема ВКР | Актуальность (отсылка к статье) | Цель работы | Типовые задачи |
|---|---|---|---|
| Разработка веб-сервиса мониторинга цен на электронику | Скидки появляются одновременно на нескольких площадках, но различаются по условиям и срокам — нужен автоматический сбор и агрегация | Создать сервис, который уведомляет пользователя о снижении цены и динамике по конкретным товарам | 1) Спроектировать архитектуру системы; 2) реализовать парсеры для витрин данных; 3) разработать API и интерфейс уведомлений; 4) протестировать нагрузку и корректность данных |
| Применение ML для прогнозирования ценовых скидок | Из статьи видно, что скидки повторяются к сезонным событиям — можно обучить модель на исторических данных | Построить модель, предсказывающую вероятность скидки и её размер для заданного товара | 1) Собрать исторические данные о ценах; 2) провести EDA и feature engineering; 3) обучить несколько моделей (Linear Regression, XGBoost, LSTM); 4) сравнить метрики и выбрать лучшую |
| Автоматизированная система анализа ценовых трендов (ETL + визуализация) | Данные о скидках Sonos — показательный пример для аналитического дашборда, который позволяет увидеть закономерности | Построить ETL-пайплайн и дашборд для анализа ценовой динамики в категории «аудиотехника» | 1) Настроить сбор данных через API и парсинг; 2) организовать хранилище (PostgreSQL/ClickHouse); 3) создать витрины данных; 4) разработать дашборд в Metabase/Redash |
Основная часть: от статьи к главам диплома
Глава 1. Анализ предметной области и постановка задачи
В первой главе вы описываете, почему мониторинг цен важен. Используйте факты из статьи: даже крупный вендор, такой как Sonos, привязывает скидки к сезонным событиям (Большая весенняя распродажа Amazon стартует 25 марта). Это даёт вам основу для формализации требований. Не забудьте провести обзор существующих сервисов-аналогов (Яндекс.Маркет, PriceHistory, CamelCamelCamel), сравнить их функциональность и выделить недостатки, которые вы планируете решить. На этом этапе пригодятся стандарты:
- ГОСТ 34.601-90 — стадии создания автоматизированной системы;
- ISO/IEC 25010 — модель качества ПО (для обоснования нефункциональных требований);
- ГОСТ 19.701-90 — схемы алгоритмов и программ.
Глава 2. Проектирование и реализация
Здесь вы проектируете архитектуру. Классическая схема: модуль-сборщик (Python + BeautifulSoup / Scrapy) → модуль очистки и нормализации (pandas) → база данных → ML-модуль → модуль уведомлений. Для оркестрации используйте Apache Airflow, чтобы запускать сбор данных по расписанию и обрабатывать сбои. Спроектируйте базу данных в виде ER-диаграммы (в дисциплинах БД это обычно требуется). Ниже — пример DAG для Airflow, который собирает цены с трёх сайтов и складывает в PostgreSQL:
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
from datetime import datetime, timedelta
from modules.parsers import parse_amazon, parse_bestbuy, parse_sonos
from modules.db import save_prices
default_args = {
'owner': 'student',
'start_date': datetime(2026, 3, 1),
'retries': 3,
'retry_delay': timedelta(minutes=5),
}
def collect_prices(**context):
items = []
items.extend(parse_amazon())
items.extend(parse_bestbuy())
items.extend(parse_sonos())
save_prices(items)
with DAG('price_monitor',
default_args=default_args,
schedule_interval='@daily',
catchup=False) as dag:
collect_task = PythonOperator(
task_id='collect_and_save_prices',
python_callable=collect_prices
)
Для ML-прогнозирования скидок соберите историю цен и сохраняйте её в той же БД. Признаки: день недели, месяц, приближение к праздникам (Black Friday, весенняя распродажа), цена на предыдущем шаге, длина периода без скидок. Целевая переменная — бинарный флаг “скидка больше 10%”. Сравните качество моделей по метрикам ROC-AUC, Precision, Recall, а точность прогноза размера скидки оценивайте через MAE и RMSE.
Глава 3. Тестирование и оценка эффективности
Для диплома важно показать, что система работает не только на тестовых данных. Проведите нагрузочное тестирование парсеров (например, 100 запросов в минуту, замер времени ответа), проверьте корректность сбора данных на 50 товарах. Отдельно оцените экономический эффект: сколько денег экономит пользователь, если пользуется вашим сервисом (кейс из статьи: Sonos Ace подешевели на $100, значит, при покупке по скидке пользователь получает экономию). Оформите результаты в виде таблиц и графиков — это усилит практическую значимость ВКР.
Практические выводы: чему вы научитесь
- Проектировать ETL-пайплайны и оркестрировать их с помощью Apache Airflow.
- Писать парсеры на Python (BeautifulSoup, Scrapy, Requests) и работать с API.
- Проектировать схемы БД и выполнять нормализацию данных.
- Строить и валидировать ML-модели для прогнозирования временных рядов.
- Оформлять техническую документацию по ГОСТ 34 и описывать архитектуру в UML/C4.
- Считать экономическую эффективность ИТ-решения.
Типичные ошибки студентов
Ошибка 2: слабое обоснование выбора модели ML. Если вы просто обучили XGBoost и получили accuracy 0.97, это не имеет ценности. Покажите сравнение с baseline (например, “предсказать, что скидки не будет”), постройте кривые обучения, обсудите переобучение.
Ошибка 3: нет привязки к реальности. Ваша ВКР — не абстрактное исследование. Используйте конкретные данные (те же цены на Sonos к марту 2026 года), стройте графики, делайте выводы, которые применимы на практике.
Частые вопросы по выполнению ВКР
1. Какой стек выбрать, чтобы успеть за один семестр?
Для дипломного проекта достаточно Python (библиотеки: requests, BeautifulSoup, pandas, scikit-learn) + PostgreSQL + Airflow (или даже просто cron). Не гонитесь за «модными» технологиями вроде Apache Kafka, если не можете объяснить их необходимость. Лучше сделать просто, но отлично работающее.
2. Где взять данные для обучения модели?
Используйте исторические данные из открытых источников: архив цен на Amazon (через CamelCamelCamel), с сайтов Best Buy и Sonos (путём регулярного парсинга). Также можно синтезировать данные или использовать Kaggle-датасеты о продажах электроники. Главное — в отчёте честно описать процесс.
3. Как оформить схемы и диаграммы по ГОСТ?
Применяйте стандарты ГОСТ 19.701-90 для алгоритмов, а для архитектуры — нотацию C4 model (контекст, контейнеры, компоненты, код) или классические UML-диаграммы. В пояснительной записке все схемы должны иметь подписи и ссылки на них в тексте.
4. Какую экономическую эффективность считать в этой работе?
Сравните «стоимость без системы» и «стоимость с системой»: время, которое пользователь тратит на ручной поиск скидок, и сумму экономии при покупке по прогнозируемой скидке. В численном виде: если сервис обнаруживает скидку на день раньше — сколько это денег.
- ✔ Поставлена конкретная цель и 3–4 задачи, которые ей соответствуют.
- ✔ Каждая глава заканчивается выводами — они должны коррелировать с задачами.
- ✔ Все схемы подписаны и пронумерованы (Рисунок 1.1, Таблица 2.2 и т.д.).
- ✔ Код в приложениях отформатирован, без мусорных комментариев.
- ✔ Метрики модели или системы описаны и объяснены.
- ✔ Проведена проверка на антиплагиат (уникальность 70%+).
- ✔ Список источников оформлен по ГОСТ Р 7.0.100-2018.
Источник: Several Sonos audio products got their first 2026 discounts (опубликовано 2026-03-17)
```