Алгоритм АвиаМонитора: Как мы вычисляем дно цены и находим скидки от 25% до 70%
Технические подробности сбора данных, расчета медианной нормы, очистки от «мусорных» рейсов и выявления настоящих аномалий (Error Fares).
1. Непрерывный мониторинг тарифов (Scraping & Ingestion)
Сервис АвиаМонитор каждые 10 минут опрашивает данные агрегатора Aviasales для ключевых авиахабов (Москва, Санкт-Петербург, Казань, Екатеринбург, Сочи, Новосибирск, Уфа, Нячанг).
Сбор осуществляется с помощью безголового браузерного движка Lightpanda под управлением Node.js и Playwright. Каждому городу вылета выделен независимый CDP-порт, что гарантирует мгновенный сбор данных без блокировок и искажений по IP.
2. Жесткая фильтрация «Мусорного трафика»
Обычные списки «дешевых билетов» в интернете забиты неликвидными рейсами. Алгоритм АвиаМонитора на этапе записи в база данных SQLite (`deals.db`) отсекает:
- Любые рейсы с пересадками (остаются строго прямые перелеты).
- Вылеты за пределами 30 календарных дней (только ближайший месяц).
- Тарифы без включенного ручного багажа базового формата.
3. Расчет скользящей нормы и Z-Score аномалий
Для каждого направления рассчитывается историческая статистика за 30 дней:
Min_30d— абсолютный минимум цены на данный маршрут за месяц.Max_30d— максимальная зафиксированная цена.Norm— медианное справедливое значение стоимости билета.
Алгоритм рассчитывает показания Z-Score (отклонение от математического ожидания). Если текущая цена упала на ≥25% от нормы и находится в пределах 5% от исторического дна месяца, билет получает статус и бейдж 🔥 Суперцена.
Формула бейджа «Суперцена»:
Discount = ((Norm - CurrentPrice) / Norm) * 100%
IsFloor = CurrentPrice <= (Min_30d * 1.05)
IF Discount >= 25% AND IsFloor == True THEN
BADGE = "🔥 Суперцена"
4. Прозрачность для пользователя
На сайте aviamonitor.com пользователь видит не просто цифру, а полный контекст: текущую цену, зачеркнутую медианную норму, процент скидки и диапазоны месяца (MIN — MAX).