Métriques & funnels
Cette page définit ce que veulent dire nos chiffres et comment on les regarde. Sans définitions partagées, deux personnes lisent le même mot différemment.
Métriques clés (définitions)
Section intitulée « Métriques clés (définitions) »| Métrique | Définition |
|---|---|
| Inscrit | A terminé l’onboarding. C’est le chiffre qu’on communique et celui de la data-room. À ne pas confondre avec un compte créé : depuis le 10/8/26 la base crée la ligne de profil dès l’authentification, donc quelqu’un qui abandonne l’onboarding existe en base sans être un inscrit. Le cockpit HARU expose les deux séparément (« inscrits » d’un côté, « comptes créés » de l’autre). |
| Utilisateur activé | A terminé l’onboarding et a une date d’arrêt au passé ou aujourd’hui. C’est le vrai compteur d’utilisateurs, pas le nombre d’inscrits. |
| Conversion (abonnement) | Part des personnes ayant fini l’onboarding une semaine donnée qui ont payé dans les 7 jours (J7). On lit la dernière cohorte hebdomadaire entièrement mûre (chaque jour a eu ses 7 jours) — jamais une fenêtre glissante qui mélangerait des cohortes mûres et des cohortes récentes pas encore converties. Calculée depuis PostHog : onboarding_completed (trafic test exclu) → rc_initial_purchase_event. RevenueCat reste la source de vérité du revenu. Depuis le 16/8/26, HARU affiche trois fenêtres côte à côte — voir « Trois conversions » ci-dessous. |
| Acheteur de 1re session vs tardif | Achat dans les ~30 min suivant l’inscription = 1re session ; au-delà = acheteur tardif. Une part importante des achats sont tardifs. |
| Rétention D1 / D7 / D30 | Part des utilisateurs encore actifs (ouverture d’app) 1, 7, 30 jours après leur inscription, par cohorte hebdo. |
Trois conversions, trois usages (depuis le 16/8/26)
Section intitulée « Trois conversions, trois usages (depuis le 16/8/26) »La règle de maturité ci-dessus a un effet mécanique qu’il faut connaître : une semaine devient affichable quand son lundi + 13 jours est passé, donc la tuile J7 change de semaine tous les dimanches à 00:00 UTC. Concrètement, un changement livré dans l’app ne se voit dans ce chiffre que deux semaines plus tard. C’est trop lent pour piloter, et pas comparable à ce que publient les autres. HARU a donc une zone Conversion dédiée, avec trois fenêtres qui ne se lisent pas l’une contre l’autre :
| Tuile | Fenêtre | Dénominateur | Retard | Sert à |
|---|---|---|---|---|
| Conversion J1 | payé dans les 24 h, cumulé sur les 7 dernières cohortes journalières mûres | onboardés (PostHog) | ~2 jours | juger un changement d’app dans la semaine où il est livré |
| Conversion J7 | payé dans les 7 jours, dernière semaine mûre | onboardés (PostHog) | ~13 jours | la référence interne, la seule des trois qui déclenche une alerte |
| Conversion J30 | payé dans les 30 jours, dernier mois complet | nouveaux clients RevenueCat | ~1 mois | la comparaison externe (benchmark Santé & Fitness, docs investisseurs) |
Ce que la J1 rate. Mesuré sur cohortes mûres : la fenêtre 24 h ne capte que 77 % (Android) à 86 % (iOS) des achats que la fenêtre J7 finit par voir. Son niveau est donc structurellement bas, et c’est assumé — on y lit un mouvement, jamais un niveau. Pour la même raison, la J1 et la J30 sont sans seuil : elles n’allument pas le bandeau et ne réveillent personne sur Slack. La J7 reste la seule tuile de conversion qui alerte.
Propriétés utilisateur (segmentation)
Section intitulée « Propriétés utilisateur (segmentation) »Posées sur le profil PostHog pour pouvoir filtrer tous les events.
| Propriété | Posée quand | Mise à jour |
|---|---|---|
auth_method |
Inscription (setOnce) | Jamais |
signup_date |
Inscription (setOnce) | Jamais |
initial_platform / initial_language |
Inscription (setOnce) | Jamais |
cigarettes_per_day |
Onboarding | Profil |
years_smoking, quit_timeline, previous_attempts, why_quit_reasons |
Onboarding | Selon |
motivation_level |
Plus posée — l’étape motivation a quitté l’onboarding en 1.6.1 (27/7/26) | Ré-émise à l’ouverture depuis le profil enregistré, donc présente uniquement sur les comptes créés avant cette date |
quit_date |
Onboarding / profil | À chaque changement |
onboarding_completed |
Onboarding | Jamais |
is_premium |
Inscription (false) | Auto via RevenueCat |
notification_permission_status |
À chaque ouverture d’app | À chaque ouverture |
att_status (iOS) |
Résolution ATT | À la résolution |
Propriétés « super » (rattachées à chaque event) : is_premium, notification_permission_status, days_since_quit. notification_permission_status et days_since_quit sont ré-enregistrées à chaque passage au premier plan ; is_premium suit désormais l’abonnement en continu — elle est posée dès l’ouverture (sans attendre le profil) et re-posée à chaque changement d’entitlement.
| Funnel | Étapes | Décision qu’il éclaire |
|---|---|---|
| F1 — Drop-off onboarding | onboarding_started → onboarding_step_completed (de first_name à signup) → onboarding_completed |
Quel step simplifier/supprimer s’il dépasse 15 % de perte. Filtrer social_signup ≠ true (les revenants via login social faussent le funnel). |
| F2 — Inscription → 1er engagement | onboarding_completed → quit_date_updated → lesson_started (clé 0) |
La clé 0 gratuite sert-elle de hook d’activation ? |
| F3 — Gratuit → payant | paywall_viewed → rc_initial_purchase_event |
Quel point d’entrée du paywall optimiser. Breakdown par source. |
| F4 — Aide à l’envie | craving_help_started → craving_trigger_submitted → craving_activity_started → craving_activity_completed |
Quelles activités mettre en avant vs retirer. |
| F5 — Progression programme | key_completed (clé 0) → … → key_completed (clé 7) |
Où les gens décrochent dans le programme. |
| F6 — Date d’arrêt → 30 jours | quit_date_updated → health_milestone_reached (24h → 30j) |
À quel moment les gens rechutent → caler les notifications locales de soutien sur cette fenêtre. |
| F7 — Quiz pré-arrêt (Suivi) | tracking_empty_state_viewed → quiz_started → onboarding_quiz_completed |
Chez les gens sans date d’arrêt : combien voient l’état vide de Suivi, ouvrent un quiz, le terminent. Breakdown par quiz_type. Les deux premières étapes ne se peupleront qu’après la prochaine mise en production. |
| F8 — Relance quiz par notif | notification_opened (category quiz) → quiz_started (source=quiz_reminder) → onboarding_quiz_completed |
Efficacité de la notification de relance quiz à faire revenir les gens sans date d’arrêt : taux de tap, puis complétion. Breakdown par quiz_type. Se peuple après la prochaine mise en production. Sans dénominateur d’envoi depuis le retrait de notification_scheduled (5/8/26) : on mesure ce que le tap produit, pas le taux de tap sur les notifs programmées. |
Cohortes
Section intitulée « Cohortes »| Cohorte | Définition | Usage |
|---|---|---|
| Activés | onboarding_completed + date d’arrêt passée/aujourd’hui |
Le vrai nombre d’utilisateurs |
| Power users | 5+ ouvertures d’app en 7j + 3+ lesson_completed en 7j |
Le noyau dur |
| Combattants de l’envie | 3+ craving_activity_completed (à vie) |
Utilisent activement les outils |
| À risque | Pas d’ouverture depuis 3j et days_since_quit < 30 |
Cible de ré-engagement |
| En difficulté | relapse_video_started ou quit_date_updated avec source=profile |
Soutien renforcé |
| Acheteur impulsif / tardif | rc_initial_purchase dans / au-delà des 24h après onboarding_completed |
Comprendre ce qui déclenche l’achat |
| Gros fumeurs | cigarettes_per_day ≥ 20 |
Rétention et besoins différents |