Реалізація AI-оптимізації часу відправки сповіщень у мобільному додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-оптимізації часу відправки сповіщень у мобільному додатку
Середній
~5 днів
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Реалізація AI-оптимізації часу відправки сповіщень у мобільному додатку

Маркетолог ставить рассилку на 10:00 понеділка — «діловий час, всі вже прокинулись». Половина аудиторії в іншому часовому поясі, третина просипається о 7:00 та до 10:00 вже потоплена завданнями. Одне сповіщення в правильний час для конкретного користувача працює краще, ніж десять в «універсальний» час.

Що таке optimal send time насправді

Завдання: для кожного користувача передбачити, у який час доби він з найбільшою ймовірністю відкриє сповіщення. Це класична задача регресії/класифікації на часових рядах з історичними даними про відкриття.

Вхідні фічи для моделі:

  • Історія відкриття сповіщень з timestamp (останні 90 днів)
  • День тижня та година для кожного відкриття
  • Тип контенту сповіщення (трансакційне, маркетингове, editorial)
  • Часовий пояс пристрою
  • Час останньої активності в додатку

Цільова змінна: ймовірність відкриття для кожного часового слота (24 слоти × 7 днів = 168 бінарних класифікаторів, або один мультиклассовий).

Архітектура рішення

Мінімальний варіант без ML: евристика на основі агрегованої статистики. Для кожного користувача будуємо гістограму відкриттів за годинами. Оптимальний час = година з максимальним числом відкриттів за останні 30 днів. Працює, не потребує ML-інфраструктури, впровадження за 1–2 тижні.

ML-варіант: модель на рівні сегментів або індивідуального користувача.

Для сегментів (якщо мало даних на користувача): кластеризація користувачів за паттернами активності через K-Means або DBSCAN. Кластери типу «ранні пташки» (активні 6:00–9:00), «офісні» (12:00–13:00, 18:00–20:00), «ночні» (21:00–00:00). Кожен кластер отримує своє оптимальне час відправки.

Для індивідуального передбачення: LightGBM з часовими фічами. Обучення батчем раз на день, інференс — у момент постановки завдання на відправку.

Холодний старт: мало даних користувача

Новий користувач — нема історії відкриттів. Fallback-стратегія:

  1. Перші 7 днів: відправляємо в середнє оптимальне час для сегменту (визначаємо за часовим поясом, платформою, типом пристрою)
  2. 7–30 днів: переходимо на індивідуальний паттерн як тільки накопилось 10+ подій
  3. 30+ днів: повна індивідуальна оптимізація

Це реалізується через feature flag у feature store: user:{id}:send_time_model = "cohort" | "individual", обновляється автоматично при перетину порогів.

Технічний пайплайн відправки

  1. Маркетолог створює кампанію в CMS з параметром send_time = "optimal"
  2. У момент запуску кампанії замість немедленної відправки завдання раскладаються у чергу з delayed timing
  3. Для кожного користувача: optimal_hour = get_optimal_send_time(user_id) → завдання ставиться в Bull Queue з затримкою до наступного оптимального слота (сьогодні або завтра)
  4. Воркер відправляє push у правильний час

Обмеження: «наступний оптимальний слот» може бути завтра. Для time-sensitive кампаній встановлюємо max_delay = 24h — якщо оптимальний час пройшов сьогодні, відправляємо завтра; якщо й завтра нема — відправляємо в наступне доступне вікно в межах тижня.

Frequency capping

Суміжна завдання: не перегружати користувача сповіщеннями незалежно від оптимального часу. Найкращі практики — не більше 2–3 маркетингових сповіщень на тиждень на користувача.

Реалізація через Redis: INCR user:{id}:push_count:{week} при кожній відправці, EXPIRE на кінець тижня. Перед постановкою завдання на відправку — перевірка лічильника.

Комбінація optimal send time + frequency cap + relevance scoring (з AI-персоналізації) — це повнофункціональна push notification intelligence система.

Моніторинг та зворотний зв'язок

Метрики, які потрібно трекати постійно:

  • Lift у CTR у порівнянні з baseline (випадковий або фіксований час)
  • Розподіл відправок за годинами — не повинно бути аномальних піків
  • Coverage: для скольких користувачів є достатньо даних для індивідуального передбачення

Дашборд у Grafana або Metabase з щоденним оновленням. Деградація моделі (падіння CTR) — тригер для переобучення або ревізії фічей.

Терміни впровадження

Варіант Опис Термін
Евристика Гістограма за історією + Bull Queue 1–2 тижні
ML-сегменти Кластеризація + оптимальне час кластера 3–5 тижнів
Індивідуальна ML LightGBM per-user + feature store + A/B 8–12 тижнів

Вартість розраховується після аналізу поточної системи сповіщень та обсягу аудиторії.