Мониторинг цен на маркетплейсах в ВКР: конвейер данных, который защищается без вопросов

Поддомен: Data Engineering. Роль автора: Data/ML-инженер.

Amazon запустил Big Spring Sale и держит его открытым до 31 марта — вместе с волной скидок на технику Dyson: пылесосы, стайлеры, аксессуары. Для менеджера по продажам это повод открыть кошелёк, а для выпускника ИТ-направления — готовый полигон для дипломного проекта. Почему? Потому что сезонная распродажа — это десятки тысяч SKU, цены которых меняются по нескольку раз в сутки, а трафик к страницам товара растёт кратно. Классическая задача «собрать, сохранить, посчитать, показать» здесь перестаёт быть учебной и становится инженерной. Если вы ищете тему, где есть и архитектура, и метрики, и понятная практическая польза — читайте дальше.

Вопросы, которые студенты задают первыми

Где брать данные, если прямой парсинг Amazon упирается в капчу и блокировки?

Никто не требует от вас штурмовать продакшн ритейлера. В главе 2 честно опишите три источника: открытый датасет с историей цен (их публикуют исследовательские группы и хакатоны), собственный эмулятор витрины на локальном стенде с реалистичным генератором изменений цены и, при необходимости, официальный Product Advertising API. Стенд-эмулятор — это плюс, а не минус: вы контролируете нагрузку и воспроизводите эксперимент столько раз, сколько нужно для раздела «Результаты».

Нужен ли продакшн-уровень, или хватит скрипта на 200 строк?

Хватит, если вы обосновали границы исследования. Комиссия смотрит не на объём кода, а на воспроизводимость: есть ли конфигурация, есть ли идемпотентность, есть ли метрики. Скрипт на 200 строк с честным замером времени отклика и точности нормализации защищается лучше, чем «почти Kubernetes», развёрнутый на одном ноутбуке.

Как считать эффективность, чтобы цифры не выглядели выдуманными?

Сравнивайте с базовой линией. Базовая линия — ручной мониторинг: сколько минут аналитик тратит на проверку 100 позиций. Ваш конвейер даёт те же 100 позиций за секунды, плюс историю, которую руками не собрать вообще. Считайте TCO (железо, облако, часы поддержки) и метрики качества по ISO/IEC 25010: производительность, надёжность, удобство использования.

Какие стандарты реально требуют в вузе?

Для автоматизированной системы — ГОСТ 34.601 (стадии создания) и ГОСТ 34.602 (требования к АС). Для программного изделия — семейство ГОСТ 19, в частности ГОСТ 19.701 для схем и ГОСТ 19.402 для описания программы. Качество ПО удобно привязать к ISO/IEC 25010, а требования к защите — к OWASP Top 10, если у вас есть веб-панель.

Три темы ВКР, которые вырастают из одной новости о распродаже

Как встроить материал статьи в главы работы

Глава 1: новость как обоснование актуальности

Не пересказывайте статью — используйте её как точку отсчёта. Формулировка вроде «в период с 25 по 31 марта 2026 года наблюдается устойчивый рост интереса к категории бытовой техники, что подтверждается публикацией ZDNet от 25.03.2026» работает лучше, чем абстрактное «в современном мире электронная коммерция развивается». Здесь же уместна таблица источников: тип источника, что берём, как проверяем достоверность.

ИсточникЧто извлекаемРискКак закрываем
Обзорная статья ZDNetФакт акции, сроки, категории товаровМаркетинговый характерИспользуем только как подтверждение сезонности, не как данные
Открытый датасет истории ценВременные ряды для обученияНеполнота, устареваниеОписываем период, считаем долю пропусков
Собственный стенд-эмуляторКонтролируемая нагрузка и аномалииСинтетикаСравниваем распределения с реальным датасетом

Схемы для первой главы: контекстная диаграмма C4 (уровень 1) и диаграмма вариантов использования в UML. Никакой «воды» — только акторы: покупатель, аналитик, планировщик, внешняя витрина.

Глава 2: архитектура и код

Здесь появляется ваш конвейер. Типовая схема выглядит так:

  [Планировщик Airflow]
          |
          v
  [Пул загрузчиков Playwright] --> [Брокер Kafka]
          |                                |
          v                                v
  [Сырой слой MinIO/S3] <---- [Нормализация dbt]
          |
          v
  [Хранилище ClickHouse] --> [Дашборд Grafana] --> [Раздел "Результаты"]

Фрагмент DAG на TaskFlow API — компактный, читаемый, легко защищаемый:

from datetime import datetime, timedelta
from airflow.decorators import dag, task

@dag(
    schedule="*/30 * * * *",
    start_date=datetime(2026, 3, 1),
    catchup=False,
    default_args={"retries": 3, "retry_delay": timedelta(minutes=5)},
    tags=["prices", "marketplace"],
)
def collect_prices():
    @task
    def fetch_batch(shard: int) -> list[dict]:
        from collector import grab  # Playwright + прокси-ротация
        return grab(shard=shard, limit=500)

    @task
    def normalize(rows: list[dict]) -> list[dict]:
        return [
            {
                "sku": r["sku"],
                "seller_id": r["seller"],
                "price": float(r["price"]),
                "currency": r["currency"],
                "ts": r["observed_at"],
            }
            for r in rows
            if r.get("price")
        ]

    raw = fetch_batch.expand(shard=[0, 1, 2, 3])
    normalize.expand(rows=raw)

collect_prices()

Обратите внимание на expand: это динамическое распараллеливание, которое в тексте главы превращается в отдельный абзац про горизонтальное масштабирование. Именно такие детали отличают «сделал скрипт» от «спроектировал систему».

Глава 3: метрики, тесты, нормоконтроль

Раздел с цифрами — самый уязвимый на защите. Заранее зафиксируйте, что и чем измеряете.

МетрикаОпределениеИнструментЦелевое значение
Полнота сбораДоля успешно обработанных карточек от запланированныхСчётчики Airflow, логи загрузчика≥ 98 %
Задержка данныхВремя от изменения цены на стенде до появления в ClickHouseOpenTelemetry, трейсы≤ 15 мин
Точность нормализацииДоля записей без ошибок типа и валютыКонтрактные тесты dbt≥ 99,5 %
Доступность конвейераОтношение времени работы к общему времени месяцаPrometheus, Grafana≥ 99 %
TCOСтоимость инфраструктуры и поддержки за месяцКалькуляция по прайсам облакаНиже ручного мониторинга

Эффективность считайте через трудозатраты. Ручная проверка 1000 позиций — примерно 6–8 часов аналитика. Конвейер выполняет ту же работу за минуты, а главное — сохраняет историю. Отсюда честная формулировка результата: «сокращение трудозатрат на мониторинг ценовых изменений на 90 % при сохранении полной истории наблюдений».

Для веб-панели администратора не забудьте раздел безопасности: аутентификация, разграничение ролей, защита от инъекций и SSRF по рекомендациям OWASP Top 10. Это два абзаца, которые легко добавляют работе вес, а апелляций у рецензента не вызывают.

Чему вы научитесь на такой теме

Что проверить перед сдачей

  1. Каждая задача из введения дословно повторяется в выводах и в заключении.
  2. Все рисунки и таблицы пронумерованы, на каждую есть ссылка в тексте.
  3. Схемы выполнены по ГОСТ 19.701 или UML/C4 с расшифровкой обозначений.
  4. Метрики имеют единицу измерения, методику расчёта и источник числа.
  5. Листинги в приложениях соответствуют версии кода из репозитория.
  6. Ссылка на публикацию ZDNet оформлена с датой и корректным URL.
  7. Проверка на заимствования пройдена, техническая часть переписана своими словами.

Типичные ошибки

1. Парсинг ради парсинга. Студент собирает 100 тысяч записей и не может ответить, что с ними делать. Лечится постановкой вопроса исследования до написания кода: не «собрать цены», а «определить, насколько глубоко падает цена в последние три дня акции».

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

3. Отсутствие идемпотентности. Повторный запуск загрузчика создаёт дубликаты, и графики на защите врут. Решается уникальным ключом (SKU + продавец + метка времени) и проверками качества на уровне модели данных.

Если тема уже сформулирована, но непонятно, как собрать из неё законченную работу — начните с 20-минутной бесплатной консультации: разберём структуру, подберём стек и оценим, реально ли уложиться в 120 часов подготовки. Никаких обязательств, только разбор вашей ситуации.

Материал подготовлен экспертами компании «Диплом.ИТ». Мы помогаем студентам с 2010 года: от выбора темы и постановки задач до оформления чертежей и подготовки речи на защиту. Если вам нужна помощь с дипломом по Data Engineering, аналитике или смежным направлениям — специалисты готовы подсказать, как выстроить работу так, чтобы её не пришлось переписывать в последнюю неделю.

Последнее обновление: 2026-09-20

Источник: 5 Dyson Amazon Spring Sale deals that are worth a second glance (опубликовано 2026-03-25)

📋 Получить стоимость
📞 ПозвонитьПолучить стоимость

📚 Читайте также

Спутниковое вещание как объект ВКР: от анализа телеметрии до автоматизации развертывания