Amazon génère 35% de ses revenus via les recommandations personnalisées. Netflix retient 75% de ses spectateurs grâce aux suggestions adaptées. WhatsApp, avec sa relation directe et intime avec le client, est le canal idéal pour reproduire ce niveau de personnalisation — avec un avantage unique : le taux de lecture des messages WhatsApp dépasse 90%.
Pour les marchés africains, la personnalisation WhatsApp est encore plus puissante : le commerce est fondamentalement relationnel, et un commerçant qui "connaît" ses clients inspire confiance. Un chatbot WhatsApp qui dit "Bonjour Ibrahim, ça fait un moment ! Au vu de votre dernière commande de rizières, vous pourriez être intéressé par notre nouvelle gamme de condiments" crée exactement cette relation personnelle à l'échelle.
Architecture d'un système de recommandation WhatsApp
Un système de recommandation personnalisée pour WhatsApp s'appuie sur trois composantes :
1. La couche de données : historique des achats, produits consultés, catégories préférées, segment client, panier moyen, fréquence d'achat.
2. Le moteur de recommandation : algorithme qui, à partir des données client, sélectionne les produits/offres les plus pertinents.
3. La couche de présentation : intégration naturelle de la recommandation dans la conversation WhatsApp, sans aspect "vendeur" intrusif.
Implémentation avec filtrage collaboratif simplifié
# Système de recommandation basé sur l'historique client
from collections import defaultdict
import numpy as np
class WhatsAppRecommendationEngine:
def __init__(self, product_catalog, purchase_history):
self.catalog = product_catalog
self.purchase_history = purchase_history
self.co_purchase_matrix = self._build_co_purchase_matrix()
def _build_co_purchase_matrix(self):
"""Construit la matrice de co-achat : si A et B sont souvent achetés ensemble"""
co_purchases = defaultdict(lambda: defaultdict(int))
for customer_orders in self.purchase_history.values():
for order in customer_orders:
products = order['products']
for i, prod_a in enumerate(products):
for prod_b in products[i+1:]:
co_purchases[prod_a][prod_b] += 1
co_purchases[prod_b][prod_a] += 1
return co_purchases
def get_recommendations(self, customer_id: str, context: str = None, n: int = 3) -> list:
customer_orders = self.purchase_history.get(customer_id, [])
if not customer_orders:
# Nouveau client : recommandations basées sur la popularité
return self._get_popular_products(n)
# Produits déjà achetés
purchased = set(
prod for order in customer_orders
for prod in order['products']
)
# Scores basés sur co-achat
scores = defaultdict(float)
recent_purchases = [
prod for order in customer_orders[-3:] # 3 dernières commandes
for prod in order['products']
]
for bought_prod in recent_purchases:
for candidate_prod, co_count in self.co_purchase_matrix[bought_prod].items():
if candidate_prod not in purchased:
scores[candidate_prod] += co_count
# Enrichissement contextuel : si le client parle de cuisine, booster catégorie alimentaire
if context and 'cuisine' in context.lower():
for prod_id, product in self.catalog.items():
if product.get('category') == 'alimentaire' and prod_id not in purchased:
scores[prod_id] += 5
# Top N produits recommandés
recommended = sorted(scores.items(), key=lambda x: x[1], reverse=True)[:n]
return [
{
'product': self.catalog[prod_id],
'score': score,
'reason': self._get_recommendation_reason(prod_id, recent_purchases)
}
for prod_id, score in recommended
if prod_id in self.catalog
]
def _get_recommendation_reason(self, product_id: str, recent_purchases: list) -> str:
"""Génère une raison naturelle pour la recommandation"""
reasons = {
'co_purchase': "Souvent commandé avec vos achats récents",
'trending': "Populaire cette semaine à Dakar",
'seasonal': "Parfait pour cette saison",
'reorder': "Vous avez commandé ça il y a 30 jours"
}
# Logique simplifiée pour l'exemple
return reasons.get('co_purchase', "Sélectionné pour vous")
Intégration dans les flows WhatsApp
// Injection de recommandations dans la conversation WhatsApp
async function enrichMessageWithRecommendation(phone, message, conversationContext) {
const customer = await getCustomerProfile(phone);
const recommendations = await recommendationEngine.getRecommendations(
customer.id,
message, // Contexte conversationnel pour recommandations contextuelles
3
);
if (recommendations.length === 0) return null;
// Formater les recommandations pour WhatsApp
const rec = recommendations[0]; // Top recommandation
return {
type: 'recommendation',
product: rec.product,
message: generateRecommendationMessage(customer.name, rec),
cta_url: `https://boutique.example.com/p/${rec.product.id}?utm_source=whatsapp&utm_medium=recommendation`
};
}
function generateRecommendationMessage(customerName, recommendation) {
const templates = [
`Au fait ${customerName}, ${recommendation.reason}. Avez-vous déjà essayé ${recommendation.product.name} ? (${recommendation.product.price} FCFA)`,
`Je pense que ${recommendation.product.name} vous plairait — ${recommendation.reason}. Intéressé(e) ?`,
`Pendant que j'y pense, ${recommendation.product.name} est en stock. ${recommendation.reason}.`
];
return templates[Math.floor(Math.random() * templates.length)];
}
Personnalisation contextuelle : adapter selon le moment
Les recommandations les plus efficaces sur WhatsApp africain tiennent compte du contexte temporel et culturel :
Personnalisation saisonnière : Ramadan, Tabaski, fin d'année, rentrée scolaire — ces moments génèrent des besoins spécifiques. Votre système doit les anticiper.
import datetime
def get_seasonal_boost(product_category: str) -> float:
today = datetime.date.today()
# Tabaski / Aïd el-Adha (dates variables, à paramétrer)
tabaski_dates = [datetime.date(2026, 6, 16)]
days_to_tabaski = min((d - today).days for d in tabaski_dates if d >= today) if any(d >= today for d in tabaski_dates) else 999
if days_to_tabaski <= 14:
if product_category in ['boucherie', 'vêtements_traditionnels', 'décorations']:
return 2.0 # Boost x2 pour ces catégories avant Tabaski
# Rentrée scolaire (septembre)
if today.month == 8 or today.month == 9:
if product_category in ['fournitures_scolaires', 'uniformes']:
return 1.8
return 1.0 # Pas de boost saisonnier
Mesurer l'impact des recommandations
Les KPIs clés pour évaluer votre système de personnalisation WhatsApp :
- Taux de clic sur recommandation : % des clients qui cliquent sur une recommandation proposée. Benchmark : 8-15%
- Taux de conversion recommandation : % des recommandations cliquées qui aboutissent à un achat. Benchmark : 3-8%
- Panier moyen avec vs sans recommandation : mesure l'uplift en valeur. Benchmark : +15-25%
- Fréquence de réachat : les clients qui reçoivent des recommandations pertinentes commandent-ils plus souvent ?
Pour optimiser votre segmentation et vos recommandations, consultez notre guide sur la segmentation d'audience WhatsApp et l'automatisation des flows WhatsApp.
FAQ
Q: Faut-il un gros volume de données pour faire des recommandations pertinentes ?
A: Non, même avec 50 clients ayant chacun 3 commandes, vous pouvez construire une matrice de co-achat utile. Les nouvelles acquisitions bénéficient d'une recommandation basée sur la popularité (les best-sellers). Le système s'améliore progressivement avec les données.
Q: Comment éviter que les recommandations paraissent intrusives ou "commercial" dans la conversation ?
A: Le timing et le contexte sont clés. Ne proposez jamais une recommandation au milieu d'une résolution de problème. Le meilleur moment : juste après avoir aidé le client ("Ravi d'avoir pu vous aider ! Au fait, j'ai une suggestion pour vous..."). La formulation doit être conversationnelle, pas publicitaire.
Q: Les clients africains acceptent-ils bien la personnalisation sur WhatsApp ?
A: Les études montrent que oui, à condition que la personnalisation soit perçue comme un service et non comme de la surveillance. La clé est la transparence ("Basé sur vos dernières commandes") et la pertinence (ne proposer que des choses réellement utiles). Les marchés africains, habitués au commerce relationnel, répondent très bien à cette approche.
Q: Peut-on faire de la personnalisation WhatsApp sans stocker de données personnelles ?
A: Partiellement. Vous pouvez personnaliser basé sur les patterns comportementaux anonymisés (segment de comportement) plutôt que sur l'identité individuelle. Les recommandations de type "populaire dans votre ville" ou "tendance cette semaine" ne nécessitent pas de données individuelles et offrent déjà une valeur ajoutée significative.
La personnalisation IA sur WhatsApp est le levier de croissance le plus sous-exploité dans le commerce africain. Commencez avec vos données existantes, même imparfaites, et améliorez progressivement.
Créez votre compte Whakup et accédez aux webhooks pour connecter votre moteur de recommandation à vos conversations WhatsApp.

Co-fondateur et Chief Product Officer de Whakup, Pablo conçoit les fonctionnalités qui permettent aux marques africaines de maximiser leur impact sur WhatsApp.
Prêt à passer à l'action ?
Essayez Whakup gratuitement pendant 15 jours. Aucune carte bancaire requise.
Démarrer l'essai gratuitArticles similaires
Abandon de flows WhatsApp : comprendre et réduire le taux d'abandon
Analyser et réduire l'abandon de flows dans votre chatbot WhatsApp. Identifier les étapes problématiques, comprendre les causes et appliquer les corrections pour améliorer la complétion.
Benchmark WhatsApp Marketing en Afrique par secteur : données 2025
Benchmarks WhatsApp Marketing par secteur d'activité en Afrique : e-commerce, banque, santé, tourisme, immobilier. Taux d'ouverture, conversion et satisfaction pour vous situer.
Conversation analytics WhatsApp : créer un tableau de bord de pilotage
Construire un tableau de bord analytics pour piloter votre chatbot WhatsApp. Métriques clés, visualisations, alertes automatiques et reporting pour décideurs africains.