Utilisez l'analyse comportementale pour identifier les signaux d'attrition précocement et prendre des mesures pour retenir vos clients.
Comprendre le churn SaaS
Types de churn
| Type | Définition | Traçable ? |
|---|---|---|
| Volontaire | Le client annule | Oui |
| Involontaire | Le paiement échoue | Oui |
| Silencieux | Arrête l'utilisation, continue de payer | Oui - critique ! |
| Déclassement | Passe à un plan inférieur | Oui |
Métriques de churn
| Métrique | Formule | Bon repère |
|---|---|---|
| Taux de churn mensuel | Perdus ÷ Début du mois | <5% |
| Churn annuel | Perdus ÷ Clients annuels | <10% |
| Rétention de revenus nets | (MRR + Expansion - Churn) ÷ MRR initial | >100% |
| Churn de logo | Comptes perdus ÷ Comptes totaux | <3% |
Identifier les signaux d'attrition
Signaux comportementaux
Suivez les modèles d'utilisation qui prédisent le churn :
| Signal | Niveau de risque | Jours avant attrition |
|---|---|---|
| Aucune connexion (7 jours) | Élevé | 14-30 |
| Utilisation des fonctionnalités réduite | Moyen | 30-60 |
| Augmentation des tickets d'assistance | Moyen | 30-45 |
| Changement d'administrateur | À surveiller | 45-60 |
| Intégration supprimée | Élevé | 14-21 |
Suivre le déclin d'activité
// Suivre l'utilisation active quotidienne
zenovay('track','user_session', {
user_id: 'user_123',
account_id: 'acc_456',
session_duration: 1200,
features_used: ['dashboard', 'reports', 'export'],
actions_count: 45
});
// Suivre la suppression de fonctionnalité
zenovay('track','feature_disabled', {
account_id: 'acc_456',
feature: 'api_integration',
connected_since_days: 180
});
Créer un score de santé
// Calculer et suivre le score de santé
function updateAccountHealth(accountId) {
const factors = {
login_frequency: calculateLoginScore(), // 0-25
feature_breadth: calculateFeatureScore(), // 0-25
user_growth: calculateUserGrowthScore(), // 0-20
support_sentiment: calculateSupportScore(), // 0-15
billing_health: calculateBillingScore() // 0-15
};
const totalScore = Object.values(factors).reduce((a, b) => a + b, 0);
zenovay('track','health_score_updated', {
account_id: accountId,
score: totalScore,
factors: factors,
risk_level: totalScore < 40 ? 'high' : totalScore < 70 ? 'medium' : 'low'
});
}
Créer un tableau de bord d'attrition
Segments de risque
Créez des segments basés sur les scores de santé :
| Segment | Score de santé | % de la base | Action |
|---|---|---|---|
| Sain | 80-100 | 45% | Vente supplémentaire |
| Stable | 60-79 | 30% | Surveiller |
| À risque | 40-59 | 15% | Intervenir |
| Critique | 0-39 | 10% | Urgent |
Suivre les mouvements de segment
// Suivre quand un compte change de niveau de risque
zenovay('track','risk_level_changed', {
account_id: 'acc_456',
previous_level: 'stable',
new_level: 'at_risk',
trigger: 'login_frequency_dropped',
days_at_previous: 90
});
Configurer les alertes
Alerter quand :
- Le compte passe au segment « À risque »
- Le score de santé baisse de >20 points en 7 jours
- Zéro activité pour les comptes clés
- Plusieurs utilisateurs du même compte inactifs
Analyse des modèles d'utilisation
Suivi de la fréquence de connexion
// Suivre les modèles de connexion
zenovay('track','user_login', {
user_id: 'user_123',
account_id: 'acc_456',
days_since_last_login: 3,
login_streak: 5,
device: 'desktop'
});
Profondeur d'utilisation des fonctionnalités
Suivez l'étendue de l'utilisation des fonctionnalités :
| Niveau d'utilisation | Fonctionnalités utilisées | Risque d'attrition |
|---|---|---|
| Utilisateur avancé | 80%+ de fonctionnalités | Très faible |
| Régulier | 50-79% | Faible |
| Basique | 25-49% | Moyen |
| Minimal | <25% | Élevé |
// Suivre l'engagement des fonctionnalités
zenovay('track','feature_engagement', {
account_id: 'acc_456',
features_available: 20,
features_used_30d: 8,
engagement_score: 40,
trending: 'declining'
});
Adhérence des fonctionnalités clés
Identifiez les fonctionnalités qui corrèlent avec la rétention :
| Fonctionnalité | Utilisateurs qui l'utilisent | Rétention 12 mois |
|---|---|---|
| Collaboration en équipe | 45% | 92% |
| Intégration API | 30% | 88% |
| Rapports personnalisés | 55% | 85% |
| Tableau de bord basique uniquement | 70% | 58% |
Suivre l'adoption des fonctionnalités qui créent de l'adhérence :
zenovay('track','sticky_feature_adopted', {
account_id: 'acc_456',
feature: 'team_collaboration',
users_using: 5,
adoption_date: new Date().toISOString()
});
Analyse de churn par cohorte
Cohortes d'inscription
Suivre le churn par mois d'inscription :
| Cohorte | M1 | M3 | M6 | M12 |
|---|---|---|---|---|
| Jan | 5% | 12% | 18% | 25% |
| Fév | 4% | 10% | 15% | - |
| Mar | 6% | 14% | - | - |
Par canal d'acquisition
| Canal | Churn 12 mois | Notes |
|---|---|---|
| Parrainage | 15% | Meilleure rétention |
| Organique | 22% | Bon ajustement |
| Publicités payantes | 35% | Qualité inférieure |
| Affilié | 40% | Orienté prix |
Par type de plan
| Plan | Churn annuel | Churn MRR |
|---|---|---|
| Mensuel | 28% | 25% |
| Annuel | 8% | 10% |
| Entreprise | 5% | 8% |
Indicateurs pré-attrition
Suivi du flux d'annulation
// L'utilisateur ouvre la page d'annulation
zenovay('track','cancellation_page_viewed', {
account_id: 'acc_456',
current_plan: 'pro',
months_as_customer: 8,
mrr: 99
});
// L'utilisateur fournit une raison
zenovay('track','cancellation_reason', {
account_id: 'acc_456',
reason: 'too_expensive',
feedback: 'Need more flexible pricing'
});
// Annulation terminée
zenovay('track','subscription_cancelled', {
account_id: 'acc_456',
reason: 'too_expensive',
lifetime_value: 792,
months_as_customer: 8,
cancel_date: new Date().toISOString(),
effective_date: '2025-02-15'
});
Suivi des offres de rétention
// Offre affichée lors de l'annulation
zenovay('track','save_offer_shown', {
account_id: 'acc_456',
offer_type: 'discount_30',
offer_value: 30
});
// Offre acceptée
zenovay('track','save_offer_accepted', {
account_id: 'acc_456',
offer_type: 'discount_30',
new_mrr: 69,
commitment_months: 3
});
Intervention proactive
Actions déclenchées
Mettez en place des interventions automatisées :
| Déclencheur | Action | Suivre |
|---|---|---|
| 7 jours sans connexion | Email de suivi | intervention_email_sent |
| Utilisation des fonctionnalités baisse de 50% | Conseils in-app | feature_tips_shown |
| Ticket d'assistance négatif | Prise de contact CSM | csm_assigned |
| Score de santé <40 | Appel personnel | intervention_call |
// Suivre l'intervention
zenovay('track','intervention_triggered', {
account_id: 'acc_456',
trigger: 'health_score_drop',
intervention_type: 'csm_outreach',
priority: 'high'
});
// Suivre le résultat de l'intervention
zenovay('track','intervention_outcome', {
account_id: 'acc_456',
intervention_type: 'csm_outreach',
outcome: 'saved',
new_health_score: 65,
notes: 'Resolved integration issue'
});
Campagnes de réactivation
Suivre la récupération des clients attrits :
// Offre de réactivation envoyée
zenovay('track','winback_campaign_sent', {
account_id: 'acc_456',
days_since_churn: 30,
offer: 'first_month_free'
});
// Client réactivé
zenovay('track','customer_reactivated', {
account_id: 'acc_456',
days_churned: 45,
reactivation_offer: 'first_month_free',
new_plan: 'pro'
});
Rapports d'analyse de churn
Rapport mensuel de churn
Inclure :
- Liste des comptes attrits
- Ventilation des raisons de churn
- Impact sur les revenus
- Score de santé avant attrition
- Précision de l'alerte précoce
Rapport de rétention par cohorte
Suivre la rétention à long terme :
- Rétention aux mois 1, 3, 6, 12
- Par canal, plan, taille d'entreprise
- Analyse des tendances
Efficacité de l'intervention
| Intervention | Déclenchée | Sauvée | Taux de sauvetage |
|---|---|---|---|
| Série d'e-mails | 150 | 45 | 30% |
| Prise de contact CSM | 50 | 25 | 50% |
| Offre de réduction | 80 | 32 | 40% |
| Séance de formation | 30 | 18 | 60% |
Modèle prédictif de churn
Signaux d'entrée
Alimentez ces métriques pour prédire le churn :
- Tendance de la fréquence de connexion
- Étendue de l'utilisation des fonctionnalités
- Volume/sentiment des tickets d'assistance
- Problèmes de facturation
- Tendance du nombre d'utilisateurs
- Activité administrative
Scoring du risque
// Calcul du score de risque quotidien
zenovay('track','churn_prediction', {
account_id: 'acc_456',
churn_probability: 0.35,
confidence: 0.82,
top_factors: [
'login_decline',
'feature_usage_narrow',
'support_negative'
],
predicted_churn_date: '2025-03-15'
});
Performance du modèle
Suivre la précision des prédictions :
- Vrais positifs (prédits et attrits)
- Faux positifs (prédits mais restés)
- Précision et rappel
- Délai d'avance (à quelle vitesse nous avons prédit)
Bonnes pratiques
Détection précoce
-
Surveiller continuellement
- Mise à jour quotidienne des scores de santé
- Analyse hebdomadaire des tendances
- Examen mensuel des cohortes
-
Signaux multiples
- Ne comptez pas sur une seule métrique
- Combinez utilisation + support + facturation
-
Agir rapidement
- Intervenir au premier avertissement
- Ne pas attendre la confirmation
Stratégie d'intervention
-
Approche segmentée
- MRR élevé = touche personnelle
- MRR faible = automatisé
-
Comprendre pourquoi
- Cause profonde, pas symptômes
- Problème de produit vs problème d'adéquation
-
Mesurer l'efficacité
- Suivre les résultats de l'intervention
- Optimiser en fonction des données
Erreurs courantes
-
Se concentrer uniquement sur les annulations
- Le churn silencieux est plus important
- Suivre l'utilisation, pas seulement l'abonnement
-
Même traitement pour tous
- Différents segments ont besoin d'approches différentes
- Personnaliser les interventions
-
Réagir trop tard
- Quand ils annulent, c'est souvent trop tard
- L'alerte précoce est clé