We deliver mobile push personalization using AI. A news app with 500K users initially had a push notification CTR of 2.1%. After implementing personalization based on collaborative filtering and multi-armed bandit push, it grew to 7–12%—more than triple. The financial impact: such a system can add up to $50K per month for a 500K-user app. Our team provides end-to-end AI push notification personalization: from event collection to serving layer. We process up to 200K events daily with recommendation latency under 50 ms.
We use a proven stack: Swift 5.9 with async/await for iOS, Kotlin with Coroutines for Android, Flutter 3.x for cross-platform. Server-side: Python 3.11 with Surprise (collaborative filtering push), LightGBM (CTR prediction push), and HuggingFace Transformers (text embeddings). Event storage: ClickHouse (analytics) and BigQuery (ML pipelines). For Firebase push analytics and BigQuery push events, we ensure proper logging. All solutions handle peak loads of up to 10K requests per second. Our multi-armed bandit approach is 2x more efficient than traditional A/B testing in identifying winning headlines.
What Data Is Needed for Personalization?
Without behavioral data, personalization is impossible. Minimum event set:
-
notification_received— notification displayed -
notification_opened— tap on notification -
notification_dismissed— swiped away without opening -
content_viewed— content viewed -
content_shared,content_saved,content_liked
All events are logged with features: content category, time of day, day of week, device type, OS version, headline length. We use ClickHouse or BigQuery for storage—they're optimized for analytical queries. PostgreSQL won't work beyond 10M events per day.
How Does AI Choose the Right Notification for Each User?
We use collaborative filtering push, content-based push, and CTR prediction push methods.
Level 1: Collaborative filtering push. Idea: users similar to you already clicked on this. Implementation: Matrix Factorization (Surprise or implicit library). Model is trained once daily on the last 30 days of data.
Level 2: Content-based filtering push. Analyze content the user has read: extract keywords and categories via TF-IDF or sentence embeddings (all-MiniLM-L6-v2 model). When new content appears, compute cosine similarity with the user's history.
Level 3: CTR prediction push. Binary classification—will the user tap for each user-content pair. Use LightGBM or XGBoost on tabular features, CatBoost for categorical features. Inference takes tens of milliseconds.
In practice, we start with Level 1 (fast and interpretable), then move to Level 3 when 50–100K events are accumulated.
| Level | Method | Tools | When to Apply |
|---|---|---|---|
| 1 | Collaborative filtering push | Surprise, implicit | Fast start, little data |
| 2 | Content-based push | TF-IDF, sentence embeddings | Text content available |
| 3 | CTR prediction push | LightGBM, XGBoost | Large event history |
Personalizing Notification Text
One news story—different headlines for different segments. Not LLM generation on each send (too slow). Approach:
- Editor creates 3–5 headline variants for one piece of content.
- Multi-armed bandit push (Thompson Sampling) selects a variant for each user based on their previous CTR with similar headlines.
- After 24 hours, analyze results and identify the winner.
An LLM (via API) can generate variants in different styles, but the editor selects them.
Why Is Suppression Push Notifications So Important?
On each send, the personalization service:
- Gets the list of target users.
- Requests recommendation score from the feature store (Redis with pre-computed vectors).
- If score is below threshold—notification is not sent (suppression push notifications).
- If above threshold—selects personalized text.
- Logs the decision for training. The feature store in Redis is updated via nightly batch and incremental updates. Suppression push notifications reduces opt-out rate and improves relevance. In our practice, suppression reduced opt-out rate by 40% in 3 weeks.
A/B Testing Push and Metrics
Mandatory A/B testing push before global rollout: 10% of users get personalized notifications, 90% get standard ones. Metrics after 2 weeks:
- CTR—primary metric.
- Opt-out rate—did unsubscribes decrease.
- Session starts per notification.
- Revenue per notification.
Firebase A/B Testing + Remote Config covers basic scenarios.
Mobile Client: What Changes
Nothing. Push comes via standard FCM, handled as usual. All logic is server-side. Client only sends behavioral events. Encryption via UNNotificationServiceExtension on iOS.
Implementation Phases
| Phase | Duration | Result |
|---|---|---|
| Audit | 1 week | Report on current system |
| Analytics setup | 1–2 weeks | Event pipeline |
| Model development | 2–4 weeks | Prototype with metrics |
| A/B testing | 2 weeks | Statistically significant result |
Contact us to discuss details and get a custom plan. Order a free audit—we'll assess personalization potential for your app.
Common Mistakes in Personalization Implementation
- Missing dismiss event logging—model doesn't see negative feedback.
- Using PostgreSQL for analytics—slow queries with millions of events.
- Launching without A/B test—impossible to measure effect.
What's Included
- Audit of current notification and analytics system.
- Data pipeline design.
- Model development and training (collaborative/content-based/CTR).
- Serving layer implementation (feature store, suppression push notifications, multi-armed bandit push).
- A/B testing push and metric analysis.
- Documentation and team training.
- Post-launch support.
Our Expertise
Over 7 years of experience in mobile development, certified in ML engineering, with 50+ personalization projects. Trusted by leading apps in news and e-commerce. We guarantee a minimum 20% improvement in CTR or your money back. We comply with App Store and Google Play policies per Human Interface Guidelines. We specialize in push notification optimization. Our team delivers iOS personalized push and Android push personalization.
Assess the personalization potential for your app—order a free audit.







