-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Type of Request
Product Proposal (larger features)
Feature Description
Smart Push Automation Engine (SPAE)
This proposal introduces the Smart Push Automation Engine (SPAE) — a client-side module that transforms basic notifications into personalized, behavior-driven prompts, helping boost learner engagement, course completion, and app retention on Open edX Mobile.
Detailed Product Proposal
https://openedx.atlassian.net/wiki/x/agAzPQE
Overview
Learners often drop off after short periods of inactivity because current push notifications lack personalization and timely re-engagement, leading to low retention and course completion on Open edX Mobile.
Use Cases
Learner
- As a learner, I need to receive warm, timely, and personalized nudges based on my individual progress and typical activity times, in order to maintain my learning momentum and avoid drop-offs.
- As a learner, I need to receive personalized reminders after periods of inactivity (e.g., 1, 3, 7, or 14 days without progress) in order to stay motivated and return to my courses before losing learning momentum.
- As a learner, I need to enable/disable notifications in order to decide whether I need notification by me.
- As a learner who is actively progressing through a course, I need to receive encouraging push notifications when I complete sections or approach major milestones in order to maintain engagement and feel rewarded for consistent learning behavior.
- As a learner who has completed over 50% of a course, I need to receive “final stretch” motivational pushes in order to encourage course completion and celebrate my progress.
Instructor
As an instructor, I need an automated way to keep learners engaged and progressing through modules, in order to increase completion rates without manually creating campaigns or reminders.
Operator
As an operator, I need a client-side engagement system that functions independently of ACE or Braze, in order to sustain learner retention and app visibility even when server-driven campaigns are unavailable.
Platform Administrator
As a platform administrator, I need to configure smart throttling and message frequency limits (e.g., one motivational push per day, deduplication within 60 minutes) in order to prevent user fatigue and maintain a respectful, non-intrusive communication experience.
Proposed Solution
SPAE introduces a lightweight, client-side system that helps learners return to their courses through gentle, timely, and context-aware reminders — without collecting or analyzing personal data.
Behavioral Triggers
SPAE uses simple, transparent re-engagement rules (e.g., D1, D3, D7, D14 after inactivity) to encourage learners to continue at the right time.
Adaptive Timing
- Notifications are delivered within the learner’s typical activity window (e.g., 08:00–20:00 local).
- Optional quiet periods can pause reminders during weekends or holidays to respect user downtime.
User Respect and Control
- The engine limits motivational pushes to one per day and suggests pausing notifications if activity remains low.
- Maintains attention and trust instead of pressure.
UX Integration
A new section in Settings → Notifications → Learning Motivation will allow learners to manage, pause, or disable motivational reminders directly from the app.
Testing and Refinement
The tone, timing, and message variations will be tested via A/B experiments to ensure SPAE feels helpful, relevant, and culturally appropriate across locales.
Core Capabilities
- Local activity tracking: monitors learner interactions such as last visited course or section, completed lessons, and overall progress.
- Behavioral triggers: automates re-engagement based on time and progress milestones (D1, D3, D7, D14 after inactivity; ≥50% “final stretch”; next module available).
- Adaptive delivery time: sends notifications within each learner’s habitual engagement window, restricted to daytime hours (08:00–20:00 local).
- Smart throttling: limits motivational pushes to one per day and prevents duplicates within 60 minutes.
- Dynamic schedule rebuilding: learner activity resets the push cycle to ensure relevance.
- Conflict prevention: ensures only one active campaign per user.
- User respect and control: suggests pausing or disabling pushes if too frequent.
- Content personalization: supports placeholders like progress, course/module names, contextual details.
Example Scenarios
- New learner: Started but didn’t complete a section → receives reminder to resume.
- Active learner: Completed several lessons → prompted to start next module.
- Experienced learner (≥50%): Receives “final stretch” motivational messages.
Sample Messages
New Learner
- D1: “You made a great start yesterday - let’s keep your spark alive!”
- D3: “Your lesson misses you. Let’s continue learning today.”
- D7: “It’s been a week - perfect time for a comeback!”
- D14: “Two weeks off - let’s get back in the zone.”
Active Learner
- D1: “Ready to start ‘%@’ today?”
- D3: “‘%@’ is calling your name - keep the streak alive.”
- D7: “One week away - ‘%@’ is still waiting for you.”
- D14: “Two weeks off - finish strong with ‘%@’!”
Experienced Learner (≥50%)
- D1: “You’ve completed %@ of ‘%COURSE%’ - keep that momentum going!”
- D7: “Final stretch - %@ done. Let’s wrap it up together!”
- D14: “Two weeks away - time to finish ‘%COURSE%’.”
Architectural Context and Alignment
SPAE operates entirely on-device and complements existing server-driven notification architecture.
- Works with existing edx-platform notifications and ACE.
- No backend schema changes: leverages progress APIs and local SQLite storage.
- Native scheduling via APNS/Firebase, respecting quiet hours.
- Smart coordination: defers to ACE/Braze if campaigns are active.
- Offline fallback ensures learners stay engaged without connectivity.
Dependencies and Impacted Areas
- Mobile apps (iOS/Android): notification settings UI, local DB, scheduling logic.
- Localization/i18n: translation strings, tone consistency, RTL support.
- Privacy/GDPR/FERPA: local-only activity timestamps, clear opt-in/out flow, no personal data.
- Optional: ACE/Braze hooks for unified reporting and analytics.
Other Approaches Considered
| Approach | Limitation |
|---|---|
| Server-only (ACE/Braze) | Costly, not always available |
| Email campaigns | Not mobile-contextual, slower feedback |
| Web plugins | Lack visibility into native/offline usage |
Implementation Plan
Milestone 1 – Research & Feasibility
- Define local events (open, finish, progress).
- Identify OS constraints for local scheduling.
Milestone 2 – MVP
- Implement local queue, D1/D3/D7/D14 triggers, throttling.
- Add Settings → Notifications → Learning Motivation.
- Basic i18n support.
Milestone 3 – ACE/Braze Integration (Optional)
- Forward triggers to ACE for hybrid mode.
Milestone 4 – UX & Localization & A/B
- Tone and variant testing, metrics instrumentation.
Ownership and Maintenance
- Maintainers: AXIM Mobile Working Group
- Product UX/UI WG: review learner-facing strings and localization.
- (Optional) Marketing WG: align messaging and visibility goals.
Contact: ivan.stepanok@raccoongang.com
Competitive Research
| Platform | Approach | Insights |
|---|---|---|
| Coursera | Behavioral push notifications | Reinforces progress, increases return rate |
| Duolingo | Gamified streaks, emotional triggers | Strong daily engagement and retention |
| Khan Academy | Teacher-initiated reminders | Works in classrooms, less adaptive for self-paced learners |
Open edX Opportunity
Open edX can become the first open-source platform to include a configurable, client-side behavioral automation engine, enabling privacy-preserving re-engagement without third-party infrastructure.
Impact on App Store Visibility
- Higher engagement → improved Android Vitals (Google Play).
- Increased active sessions → better retention → improved App Store ranking.
SPAE strengthens both pedagogical outcomes and organic growth signals.
Telemetry and Success Criteria
| Category | Metric | Target | Notes |
|---|---|---|---|
| Primary | D7/D30 retention uplift | +15–30% | Benchmark based |
| Return-to-course rate | +10–20% | Reactivation measure | |
| Modules completed per returning learner | Steady or improved | Indicates depth | |
| Secondary | Sessions per user/week | +10% | Reflects stickiness |
| Notification opt-out rate | <5% | Ensures trust | |
| Duplicate-push incidents | 0 | Confirms throttling logic | |
| Data boundaries | Local-only timestamps | — | No personal data stored |
Privacy and Compliance
- Aggregated, anonymized telemetry only.
- No personal data in templates.
- Fully GDPR/FERPA compliant.
Open Questions
- Configuration: admin JSON vs. in-app feature flag?
- Privacy: confirm local-only storage.
- Tone/frequency policy: “friendly” vs. “formal.”
- Operator policy: when to prefer ACE over SPAE?
Link to Product Proposal
https://openedx.atlassian.net/wiki/x/agAzPQE
Status
New
Proposed By
Raccoon Gang
Metadata
Metadata
Assignees
Labels
Type
Projects
Status