Aller au contenu principal
Guides & Stratégie• 6 min de lecture

KPIs chatbot WhatsApp : taux de résolution, CSAT, coût par interaction

Mesurez la performance de votre chatbot WhatsApp avec les bons KPIs. Taux de résolution, score CSAT, coût par interaction et NPS : guide de mesure pour optimiser vos bots africains.

"Ce qui ne se mesure pas ne s'améliore pas." Pour votre chatbot WhatsApp, cette maxime est particulièrement vraie. Sans KPIs clairement définis et mesurés, vous pilotez à l'aveugle — incapable de savoir si votre bot performe bien, où il échoue, et comment l'améliorer.

Ce guide définit les KPIs essentiels d'un chatbot WhatsApp, explique comment les calculer et donne les benchmarks africains pour vous situer.

Les 6 KPIs essentiels d'un chatbot WhatsApp

KPI 1 : Taux de résolution (Resolution Rate)

Définition : Pourcentage de conversations entièrement résolues par le bot sans intervention humaine.

Formule :

Taux de résolution = (Conversations résolues par bot / Total conversations) × 100

Benchmark Afrique : 50-60% pour un bot débutant, 65-75% pour un bot mature, >80% pour un bot optimisé.

Comment mesurer :

// Calcul du taux de résolution
async function calculateResolutionRate(startDate, endDate) {
  const conversations = await db.getConversations({ startDate, endDate });
  
  const botResolved = conversations.filter(conv => 
    conv.resolved === true && 
    conv.resolved_by === 'bot' &&
    conv.escalated_to_human === false
  ).length;
  
  return {
    total: conversations.length,
    bot_resolved: botResolved,
    rate: (botResolved / conversations.length * 100).toFixed(1) + '%',
    benchmark_comparison: botResolved / conversations.length > 0.65 ? 'above_avg' : 'below_avg'
  };
}

KPI 2 : Customer Satisfaction Score (CSAT)

Définition : Note de satisfaction donnée par les clients après interaction avec le bot ou l'agent.

Comment collecter :

// Collecte CSAT automatique après résolution
async function sendCSATSurvey(phone, conversationType) {
  const delay = conversationType === 'bot_only' ? 30000 : 300000; // 30s ou 5min
  
  setTimeout(async () => {
    await sendInteractiveMessage(phone, {
      type: 'button',
      body: { text: "Comment évaluez-vous votre expérience avec notre service WhatsApp ?\n⭐ Note de 1 à 5" },
      action: {
        buttons: [
          { type: 'reply', reply: { id: 'csat_5', title: '⭐⭐⭐⭐⭐ Excellent' }},
          { type: 'reply', reply: { id: 'csat_3', title: '⭐⭐⭐ Moyen' }},
          { type: 'reply', reply: { id: 'csat_1', title: '⭐ Décevant' }}
        ]
      }
    });
  }, delay);
}

// Calcul du CSAT
function calculateCSAT(responses) {
  const satisfiedResponses = responses.filter(r => r.score >= 4).length;
  return (satisfiedResponses / responses.length * 100).toFixed(1) + '%';
}

Benchmark Afrique : <60% à améliorer d'urgence, 60-75% moyen, 75-85% bon, >85% excellent.

KPI 3 : Coût par interaction (CPI)

Définition : Coût total (infrastructure + salaires agents proportionnés) divisé par le nombre d'interactions.

Formule :

CPI = (Coût mensuel total) / (Nombre d'interactions mensuel)

Coût mensuel total = 
  Plateforme WhatsApp (Whakup/équivalent)
  + APIs externes (OpenAI, etc.)
  + Salaires agents × % du temps consacré au WhatsApp
  + Frais de message WhatsApp Business

Benchmark : Avant chatbot, coût typique 500-1500 FCFA/interaction (agent humain). Avec chatbot bien optimisé : 50-150 FCFA/interaction (réduction 10x).

KPI 4 : Taux de fallback

Définition : Pourcentage de messages que le bot ne comprend pas ou ne peut pas traiter.

// Calcul du taux de fallback
const fallbackRate = fallbackMessages / totalMessages;

// Si fallbackRate > 0.25 : bot à améliorer en priorité
// Si fallbackRate > 0.40 : crise, interventions urgentes nécessaires

Benchmark : <10% = excellent, 10-20% = acceptable, 20-30% = à améliorer, >30% = problème sérieux.

KPI 5 : Taux d'abandon de flow

Définition : Pourcentage de clients qui abandonnent un flow avant sa complétion.

Interprétation : Un taux d'abandon élevé sur un flow spécifique indique un problème UX sur ce flow.

// Analyse des abandons par flow et par étape
async function analyzeFlowAbandon(flowId, period) {
  const flowStarts = await db.getFlowStarts(flowId, period);
  const flowCompletions = await db.getFlowCompletions(flowId, period);
  
  // Identifier les étapes les plus abandonnées
  const abandonsByStep = await db.getAbandonsByStep(flowId, period);
  
  return {
    start_count: flowStarts.length,
    completion_count: flowCompletions.length,
    abandon_rate: ((flowStarts.length - flowCompletions.length) / flowStarts.length * 100).toFixed(1) + '%',
    top_abandon_steps: abandonsByStep.sort((a, b) => b.count - a.count).slice(0, 3)
  };
}

KPI 6 : Temps de traitement moyen

// Calcul du temps de traitement par type de conversation
async function calculateAverageTreatmentTime(conversationType) {
  const conversations = await db.getCompletedConversations({ type: conversationType });
  
  const durations = conversations.map(conv => 
    getMinutesDiff(conv.first_message_at, conv.resolved_at)
  );
  
  return {
    avg_minutes: average(durations),
    p50_minutes: percentile(durations, 50),
    p90_minutes: percentile(durations, 90),
    max_minutes: Math.max(...durations)
  };
}

Dashboard KPI mensuel pour management

// Rapport mensuel complet des KPIs chatbot
async function generateMonthlyKPIReport(month, year) {
  const period = { startDate: `${year}-${month}-01`, endDate: `${year}-${month}-31` };
  
  const report = {
    period: `${month}/${year}`,
    
    // Performance bot
    resolution_rate: await calculateResolutionRate(period.startDate, period.endDate),
    fallback_rate: await calculateFallbackRate(period.startDate, period.endDate),
    avg_response_time_seconds: await calculateAvgResponseTime(period.startDate, period.endDate),
    
    // Satisfaction client
    csat_score: await calculateCSAT(period.startDate, period.endDate),
    csat_response_rate: await getCSATResponseRate(period.startDate, period.endDate),
    
    // Économies
    conversations_bot_handled: await getBotHandledCount(period.startDate, period.endDate),
    estimated_agent_time_saved_hours: await calculateTimeSaved(period.startDate, period.endDate),
    cost_per_interaction: await calculateCPI(period.startDate, period.endDate),
    
    // Flows
    top_flows_by_volume: await getTopFlows(period.startDate, period.endDate, 5),
    worst_abandon_rates: await getWorstAbandonFlows(period.startDate, period.endDate, 3),
    
    // Recommandations
    improvement_recommendations: await generateRecommendations(period)
  };
  
  return report;
}

Pour approfondir, consultez notre guide sur le taux de résolution chatbot WhatsApp et notre article sur le reporting WhatsApp Marketing mensuel.

FAQ

Q: Quels sont les 3 KPIs les plus importants à surveiller pour un chatbot WhatsApp débutant ?

A: Pour commencer : (1) Taux de résolution — mesure si le bot est utile, (2) Taux de fallback — mesure si le bot comprend ses utilisateurs, (3) CSAT — mesure si les clients sont satisfaits. Ces 3 métriques donnent une image claire de la santé de votre chatbot. Ajoutez les autres progressivement une fois ces bases mesurées.

Q: Comment calculer le ROI d'un chatbot WhatsApp pour le présenter à la direction ?

A: ROI = (Économies générées - Coût du chatbot) / Coût du chatbot. Économies principales : (1) réduction du nombre d'agents nécessaires (calculer en salaires), (2) augmentation des heures de disponibilité (valeur des interactions nocturnes), (3) réduction du coût d'acquisition via meilleure conversion. Un chatbot qui remplace 2 agents à 150 000 FCFA/mois coûte 50 000 FCFA/mois à opérer → ROI de 500%.

Q: Le CSAT est-il pertinent pour un bot ou seulement pour les interactions humaines ?

A: Le CSAT est pertinent pour les deux, et la comparaison est très instructive. Si le CSAT bot (75%) est inférieur au CSAT humain (88%), c'est normal — les humains gèrent mieux les cas complexes. Mais si le CSAT bot est supérieur à 80%, c'est excellent. Mesurez séparément le CSAT bot-only et le CSAT bot+humain pour comprendre où se situent les opportunités d'amélioration.

Q: À quelle fréquence analyser les KPIs du chatbot ?

A: Minimum mensuel pour les tendances business. Hebdomadaire pour la performance opérationnelle (taux de fallback, incidents). Quotidien pour le monitoring (alertes si taux d'erreur > seuil). Les décisions d'amélioration se prennent sur les données mensuelles, les décisions correctives sur les données quotidiennes.


Les KPIs sont votre boussole pour optimiser votre chatbot WhatsApp dans le temps. Investissez dans leur mesure pour transformer votre bot de bon en excellent.

Accédez aux analytics Whakup pour mesurer automatiquement tous vos KPIs chatbot WhatsApp en temps réel.

#whatsapp-business-api-guide#automatisation-whatsapp-flows#chatbot-whatsapp-guide
Arthur Lyonnet
Arthur LyonnetCo-fondateur & CEO

Co-fondateur de Whakup, Arthur accompagne les entreprises africaines dans leur transformation digitale via WhatsApp depuis 2022. Passionné par le growth marketing et l'entrepreneuriat en Afrique francophone.

🚀

Prêt à passer à l'action ?

Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.

Démarrer l'essai gratuit