Analyse Alphazed: Suivi des résultats d'apprentissage
6 min de lectureMohammad Shaker

Analyse Alphazed: Suivi des résultats d'apprentissage

Le lac d'analytique d'Alphazed suit les résultats : amélioration de la prononciation, transitions de maîtrise, efficacité de la répétition espacée.

Engineering

Réponse rapide

Le lac d'analytique d'Alphazed suit les résultats : amélioration de la prononciation, transitions de maîtrise, efficacité de la répétition espacée.

Comment le lac d'analyse d'Alphazed suit les résultats d'apprentissage (pas seulement les clics)

Contrairement à la plupart des applications EdTech qui suivent les clics et le temps passé à l'écran, le lac d'analyse d'Alphazed suit des résultats d'apprentissage réels : amélioration de l'exactitude de la prononciation dans le temps, transitions de maîtrise des concepts (débutant → intermédiaire → avancé), efficacité de la répétition espacée (les sessions de révision réduisent-elles l'oubli ?), et progression dans la taxonomie de Bloom. Ces données améliorent le programme et prouvent aux parents que leurs enfants apprennent véritablement, et non seulement jouent.

Architecture analytique à trois niveaux

Niveau 1 : Événements mobiles (en temps réel depuis l'application) Lorsqu'un enfant termine un exercice, l'application envoie un événement :

{
  "event_type": "attempt_complete",
  "concept_id": "letter_ba",
  "exercise_type": "select",
  "accuracy_score": 0.89,
  "attempt_number": 3,
  "session_id": "session_abc123",
  "timestamp": "2026-03-28T14:35:22Z",
  "is_correct": true,
  "response_time_ms": 2400
}

Niveau 2 : Enrichissement côté serveur (Contexte ajouté côté serveur) Le backend enrichit avec des propriétés utilisateur :

{
  "...event...",
  "user_id": "user_456",
  "age_group": "5-7",
  "persona": "intermediate",
  "days_since_signup": 34,
  "total_practice_minutes": 487,
  "app_name": "amal",
  "device_type": "Android",
  "country": "US"
}

Niveau 3 : Lac d'analyse (Asynchrone, interrogeable en SQL)

Backend envoie l'événement enrichi → File SQS (fire-and-forget)
    ↓ (ne s'attarde pas sur les analyses)
    ↓ (expérience utilisateur non affectée)
Kinesis Firehose (regroupe les événements toutes les 5 min ou 100MB)
    ↓
S3 (partitionné : s3://alphazed-analytics/amal/2026/03/28/events.parquet)
    ↓
AWS Glue (parcourt S3 toutes les heures, déduit le schéma)
    ↓
Athena (moteur SQL Presto pour interroger)
    ↓
Tableau de bord (tableau de bord des parents en temps réel + analyses internes)

Indicateurs de résultats d'apprentissage que nous suivons

Type d'événement 1 : Tentative terminée Déclenché chaque fois qu'un enfant termine un exercice.

SELECT
  user_id,
  concept_id,
  ROUND(AVG(accuracy_score), 2) as avg_accuracy,
  COUNT(*) as total_attempts,
  SUM(CASE WHEN is_correct THEN 1 ELSE 0 END) as correct_count,
  DATE(FROM_UNIXTIME(timestamp / 1000)) as date
FROM analytics_lake.attempt_complete
WHERE app_name = 'amal'
  AND concept_id = 'letter_ba'
GROUP BY user_id, concept_id, date
ORDER BY date DESC

Résultat : "Lettre ب : user_456 a amélioré de 72 % d'exactitude (semaine 1) à 94 % (semaine 3)"

Type d'événement 2 : Transition de maîtrise de concept Déclenché lorsqu'un concept change de niveau de maîtrise (débutant → intermédiaire).

{
  "event_type": "mastery_transition",
  "concept_id": "word_kitab",
  "from_level": "beginner",
  "to_level": "intermediate",
  "hlr_half_life_before": 4.0,
  "hlr_half_life_after": 8.0,
  "timestamp": "2026-03-20T10:15:00Z"
}

Suivre les transitions de maîtrise révèle l'efficacité du programme :

  • Combien d'enfants atteignent l'intermédiaire par concept ?
  • Temps moyen pour atteindre l'intermédiaire ?
  • Quels concepts sont des goulots d'étranglement ?

Type d'événement 3 : Croissance de la demi-vie HLR Pendant la répétition espacée, nous suivons la force de la mémoire :

SELECT
  user_id,
  concept_id,
  DATE(FROM_UNIXTIME(timestamp / 1000)) as date,
  MAX(hlr_half_life_hours) as max_half_life,
  COUNT(DISTINCT CASE WHEN is_correct THEN 1 END) as correct_reviews,
  COUNT(DISTINCT CASE WHEN NOT is_correct THEN 1 END) as incorrect_reviews
FROM analytics_lake.hlr_update
GROUP BY user_id, concept_id, date

Résultat : "Juz Amma Al-Ikhlas : user_789 a atteint une demi-vie de 256 heures (stabilité de 2 semaines) après 7 révisions correctes"

Type d'événement 4 : Tendances de précision de reconnaissance vocale Amélioration de la prononciation dans le temps :

SELECT
  user_id,
  DATE_TRUNC('week', FROM_UNIXTIME(timestamp / 1000)) as week,
  AVG(similarity_score) as avg_pronunciation_accuracy,
  APPROX_PERCENTILE(similarity_score, 0.5) as median_accuracy
FROM analytics_lake.speech_recognition_result
WHERE concept_type = 'letter'
GROUP BY user_id, week
ORDER BY week DESC

Résultat : "L'exactitude de la prononciation de l'utilisateur s'est améliorée de 18 % au cours de 8 semaines de pratique cohérente"

Type d'événement 5 : Progression dans la taxonomie de Bloom Suivi des avancées cognitives :

{
  "event_type": "blooms_level_completion",
  "concept_id": "word_kitab",
  "blooms_level_achieved": 4,
  "user_age_group": "5-7",
  "time_to_level_days": 14,
  "attempt_count": 47,
  "timestamp": "2026-03-25T16:45:00Z"
}

Suivi : Combien d'enfants atteignent le niveau 4 de Bloom (Analyser) ? En moyenne, combien de temps cela prend-il ?

Comment cela guide les décisions produit

Décision 1 : Rédiger un contenu

  • Requête : "Quels contenus ont plus de 40 % de tentatives incorrectes ?"
  • Résultat : "Exercice de construction de mots pour les clusters de consonnes a un taux d'erreur de 52 %"
  • Action : L'équipe de contenu repense l'exercice (plus de support, progression plus lente)
  • Validation : Relancer la requête 2 semaines plus tard, le taux d'erreur devrait baisser à moins de 25 %

Décision 2 : Ajuster le mélange d'exercices

  • Requête : "Quels types d'exercices ont le plus d'engagement + résultats d'apprentissage ?"
  • Résultat : Les jeux de physique ont 30 % d'engagement en plus mais les jeux de physique ont 15 % d'amélioration de précision en plus
  • Action : Augmenter la fréquence des jeux de physique dans les leçons adaptatives

Décision 3 : Identifier les concepts difficiles

  • Requête : "Concepts où plus de 30 % des utilisateurs n'atteignent jamais le niveau intermédiaire ?"
  • Résultat : "Les consonnes d'emphase (ص, ض, ط, ظ) sont constamment difficiles"
  • Action : Créer du contenu supplémentaire (plus d'exercices de prononciation, progression plus lente)

Comparaison avec la concurrence

Indicateur Duolingo Amal/Thurayya
Suit les clics ✓ XP, streak ✓ (mais secondaire)
Suit la précision ✓ Par concept
Suit la décroissance de la mémoire ✓ Demi-vie HLR
Suit les résultats d'apprentissage ✓ Transitions de maîtrise
Suit la prononciation ✓ Tendances de précision vocale
Décisions produit basées sur les données Focus sur l'engagement Focus sur l'apprentissage

FAQ

Q : Les données de mon enfant sont-elles dans le lac d'analytique ? R : Oui, de manière anonymisée. Nous suivons les mesures d'apprentissage (pas d'éléments personnels identifiables). Vous pouvez voir les mesures de votre enfant dans le tableau de bord des parents ; les chercheurs ne peuvent pas voir les noms des enfants individuellement.

Q : Combien de temps les données sont-elles conservées ? R : Données en direct (12 derniers mois) : dans Athena pour requêtes. Données historiques : archivées sur S3 pendant 7 ans (conformité). La rétention est configurable par type de données.

Q : Puis-je exporter les analyses d'apprentissage de mon enfant ? R : Oui. Le tableau de bord a un bouton "Exporter le rapport" qui génère un PDF avec les résultats d'apprentissage personnalisés des 3 derniers mois.

Articles connexes