27 марта 2026 года «М.видео» отчиталась о старте выдачи предзаказов на iPhone 17e и росте числа заявок на 40% относительно прошлогоднего цикла. За сухим пресс-релизом стоит плотный технический слой: поток заявок из мобильного приложения, веб-витрины, партнёрских каналов, антифрод-проверки, резервирование товара на складах и пересчёт прогноза поставок в почти реальном времени. Для выпускника направления «Прикладная информатика», «Бизнес-информатика» или «Data Engineering» это не новость, а готовый полигон для дипломного кейса — с живой бизнес-метрикой, внятными требованиями и понятным заказчиком.
Ниже разберём, как из одной новости собрать полноценную ВКР: от постановки задачи до метрик качества модели и защиты перед комиссией.
Три рабочих пути: открытые датасеты Kaggle (например, Store Sales, Rossmann, M5), синтетика на основе поведения из статьи (генерация временных рядов с трендом +40% и сезонностью), плюс публичные выгрузки Росстата и отчёты ритейлеров. В разделе «Ограничения исследования» честно укажите, что данные синтетические, но метрики модели и архитектура пайплайна от этого не теряют ценности.
Зависит от уровня ВКР. Для бакалаврской защиты достаточно Python (pandas, scikit-learn, statsmodels), PostgreSQL и Jupyter-ноутбука. Для магистерской лучше развернуть минимальный контур: Airflow для оркестрации, dbt для трансформаций, ClickHouse как аналитическое хранилище. Но не тащите Kubernetes ради трёх таблиц — комиссия это заметит и снизит оценку за необоснованную сложность.
Комбинация MAE, RMSE и MAPE по каждому SKU, плюс бизнес-метрика — сокращение избыточного складского запаса в процентах. Покажите baseline (наивный прогноз по прошлому периоду) и сравните с вашей моделью. Разница в 15–20% по MAPE уже выглядит убедительно на защите.
Смотря на требования кафедры. Если ПЗ оформляется по ГОСТ 19.701-90, схему архитектуры и алгоритмов придётся перерисовать в стандартных обозначениях. UML-диаграммы (компонентов, последовательностей) допускаются как иллюстративный материал в приложениях. Уточните это у научрука на первом же семинаре — потом переделывать дороже.
Три темы разного масштаба — от «безопасной» бакалаврской до нишевой магистерской.
Оттолкнитесь от цифры «+40% по предзаказам» как от бизнес-факта: он обосновывает необходимость оперативного прогнозирования. Добавьте таблицу конкурентов (М.видео, DNS, Ситилинк) с указанием того, публикуют ли они предзаказы. Завершите главой постановки задачи, где зафиксируете функциональные и нефункциональные требования, сославшись на ISO/IEC 25010 для характеристик качества (производительность, надёжность, сопровождаемость).
Постройте диаграмму компонентов C4 уровня 2 — это читаемо и защищаемо. Схему потока данных удобно изобразить в виде BPMN или простого DFD: приложение → Kafka → потребитель ETL → ClickHouse → BI-слой. Ниже — пример конфигурации DAG в Airflow, который можно привести в приложении к ВКР.
from airflow import DAG
from airflow.operators.python import PythonOperator
from datetime import datetime, timedelta
default_args = {
"owner": "diploma_student",
"retries": 3,
"retry_delay": timedelta(minutes=5),
"depends_on_past": False,
}
with DAG(
dag_id="preorder_forecast_pipeline",
start_date=datetime(2026, 3, 27),
schedule_interval="*/15 * * * *",
default_args=default_args,
catchup=False,
) as dag:
extract = PythonOperator(task_id="extract_preorders", python_callable=extract_preorders)
transform = PythonOperator(task_id="aggregate_by_sku", python_callable=transform)
train = PythonOperator(task_id="retrain_model", python_callable=train_model)
publish = PythonOperator(task_id="publish_forecast", python_callable=publish)
extract >> transform >> train >> publish
Здесь работает простая схема: таблица «модель — MAE — RMSE — MAPE — время инференса». Baseline: наивный прогноз (средний спрос прошлой недели). Ваша модель должна выигрывать минимум по двум метрикам. Обязательно посчитайте экономический эффект: если прогноз снижает избыточный запас на 12%, при среднем чеке и оборачиваемости можно оценить высвобожденный оборотный капитал. Именно эта цифра запоминается комиссии.
Для наблюдаемости пайплайна приведите пример инструментирования через OpenTelemetry — это добавит вашей работе современности и покажет понимание production-практик:
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
trace.set_tracer_provider(TracerProvider())
trace.get_tracer_provider().add_span_processor(
BatchSpanProcessor(OTLPSpanExporter(endpoint="http://otel-collector:4317"))
)
tracer = trace.get_tracer(__name__)
with tracer.start_as_current_span("aggregate_by_sku") as span:
span.set_attribute("sku.count", len(skus))
run_aggregation(skus)
Ошибка 1. Слишком общая формулировка темы. «Прогнозирование спроса в ритейле» звучит как обзорная лекция. Комиссия любит конкретику: сузьте до «на примере предзаказов новинок электроники», как в кейсе «М.видео». Тогда и метрики, и данные, и защита становятся осязаемыми.
Ошибка 2. Модель без baseline. Если вы показываете MAPE 8%, но не сравниваете с наивным прогнозом, ценность работы под вопросом. Всегда давайте точку отсчёта — это требование научной корректности.
Ошибка 3. Игнорирование нефункциональных требований. Комиссия часто спрашивает: «А что будет при пиковой нагрузке в первые часы предзаказов?» Ответ «сервер справится» не работает. Подготовьте раздел про горизонтальное масштабирование и деградацию функциональности.
Если времени до защиты мало, а объём работы большой — это нормальная ситуация. Мы бесплатно консультируем по выбору темы, структуре глав и набору метрик, а при необходимости выделяем до 120 часов на разработку и оформление под требования вашей кафедры. Помогаем с любыми направлениями — от Data Engineering до кибербезопасности.
Источник: «М.видео» фиксирует рост спроса на iPhone 17e на 40% по итогам предзаказа (опубликовано 2026-03-27)