Choisir de bonnes fonctionnalités
Le modèle de Decisioning Studio Pro utilise des fonctionnalités client comme entrées pour formuler des recommandations individualisées. Des fonctionnalités de haute qualité, bien adaptées à votre espace de décision, constituent l’un des leviers les plus efficaces pour améliorer les performances du modèle. Cet article présente les types de fonctionnalités que vous pouvez fournir, la manière de les construire correctement et la façon d’aligner les fonctionnalités avec les actions entre lesquelles votre agent devra choisir.
Si vous disposez d’équipes internes de data science ou de data engineering, ce sont elles les mieux placées pour construire et sélectionner les fonctionnalités, car elles connaissent le mieux les signaux réellement significatifs dans vos données.

Pour les clients Braze, les fonctionnalités client sont généralement transmises à Decisioning Studio Pro via des attributs personnalisés sur les profils utilisateur. Pour plus de détails sur les attributs personnalisés par rapport aux événements personnalisés et leurs stratégies de mise à jour respectives, consultez Instantanés ou flux d’événements.
Types de caractéristiques client
Il existe quatre grandes catégories de caractéristiques client :
| Type de caractéristique | Ce qu’elle capture | Exemples |
|---|---|---|
| Profil utilisateur | Faits objectifs sur le statut du client | age, loyalty_tier, days_enrolled, city, acquisition_channel |
| Propension utilisateur | Scores issus de modèles qui estiment la probabilité qu’un client effectue une action | churn_risk_score, purchase_intent_score, upsell_affinity |
| Comportement utilisateur | Synthèses de l’activité du client sur une période donnée | clicks_past_30d, purchases_past_7d, app_logins_past_14d |
| Environnement | Signaux contextuels externes au client | is_promotional_period, is_holiday, regional_economic_index |
Ensemble, ces types de caractéristiques fournissent au modèle les informations dont il a besoin pour identifier des segments, distinguer les clients les uns des autres et adapter ses recommandations en conséquence.
Consignes générales
Gardez les points suivants à l’esprit lorsque vous sélectionnez et construisez des fonctionnalités :
- Couverture : Les fonctionnalités doivent couvrir tous les clients de votre audience cible. Une fonctionnalité absente ou nulle pour une grande partie de votre audience donne au modèle moins d’éléments sur lesquels s’appuyer pour ces clients.
- Granularité : Toutes les fonctionnalités doivent être agrégées au niveau du client. Consultez Utiliser l’ID externe de Braze pour savoir ce que signifie concrètement le « niveau du client ».
- Fraîcheur : Mettez à jour les fonctionnalités selon une planification temporelle, par exemple quotidienne, pour chaque client de l’audience, y compris ceux qui n’ont aucune nouvelle activité. Consultez Instantanés et flux d’événements pour comprendre pourquoi c’est important.
- Validité : Les valeurs des fonctionnalités doivent se situer dans des plages cohérentes avec leur définition. Une fonctionnalité « achats au cours des 30 derniers jours » ne doit jamais être négative.
- Parcimonie : Évitez les fonctionnalités nulles ou égales à zéro pour la grande majorité des clients, sauf en cas de raison métier évidente. Les fonctionnalités clairsemées ajoutent du bruit sans apporter de signal.
- Corrélation : Évitez d’inclure des fonctionnalités fortement corrélées entre elles. Les fonctionnalités redondantes peuvent introduire des biais et ralentir l’entraînement sans améliorer les prédictions.
Construire des fonctionnalités comportementales
Les fonctionnalités comportementales résument l’historique des actions d’un client sur une période définie (par exemple, « nombre d’achats au cours des 28 derniers jours »). Elles comptent parmi les fonctionnalités les plus précieuses pour un système de recommandation, car elles reflètent le comportement réel d’un client. Les caractéristiques statiques du profil décrivent qui est le client, tandis que les fonctionnalités comportementales décrivent ce qu’il fait.
Choisir les périodes
La bonne période dépend de la fréquence à laquelle les clients effectuent l’action que vous mesurez :
- Périodes courtes (7 à 28 jours) : À utiliser pour les activités fréquentes, comme les connexions à l’application, les ouvertures d’e-mails ou les visites du site web.
- Périodes longues (90 à 365 jours) : À utiliser pour les activités peu fréquentes, comme les achats de produits, les renouvellements d’abonnement ou les contacts avec le service client.
Un diagnostic utile : si une grande partie des valeurs de votre fonctionnalité sont nulles, la période est probablement trop courte. Élargissez-la jusqu’à observer une variance significative entre les clients.
Choisir les agrégations
- Pour les événements sans valeur (quelque chose s’est produit ou non) : utilisez des agrégations de type nombre. Par exemple,
email_opens_past_30d. - Pour les événements associés à une valeur (chiffre d’affaires, durée, quantité) : utilisez à la fois des agrégations de type somme et moyenne. Par exemple,
purchase_value_sum_past_90detpurchase_value_avg_past_90d. Elles fournissent des informations complémentaires sur le volume total et l’ampleur de chaque événement.
Aligner les fonctionnalités sur l’espace d’action
Decisioning Studio Pro est un système de classement. Son objectif consiste à identifier, pour chaque client, l’action la plus susceptible de produire le meilleur résultat parmi un ensemble d’options défini. Cela implique une exigence précise : dans la mesure du possible, les fonctionnalités doivent fournir au modèle des informations qui l’aident à départager les options disponibles pour un client donné.
Pourquoi c’est important
Imaginons par exemple que l’espace d’action de votre agent consiste à recommander l’un de ces trois articles du menu : café, thé noir ou bubble tea.
Si vos fonctionnalités décrivent les clients de manière générale (« commande fréquemment des boissons » ou « fort engagement par e-mail »), le modèle peut segmenter les clients en grands groupes. En revanche, lorsqu’il s’agit de classer le café par rapport au bubble tea pour un client précis, ces fonctionnalités générales ne sont pas d’une grande aide. Deux clients peuvent sembler identiques sur des fonctionnalités de haut niveau tout en ayant des préférences totalement opposées.
Lorsque le modèle rencontre des signaux contradictoires, par exemple lorsqu’il recommande du café à deux clients apparemment similaires mais qu’un seul convertit, il ne peut pas apprendre efficacement. Ce bruit réduit sa capacité à établir des classements précis.
Créer des fonctionnalités adaptées à l’espace d’action
Les fonctionnalités qui correspondent à la même granularité que votre espace d’action fournissent au modèle des signaux de classement bien plus solides. Dans l’exemple du café, une fonctionnalité comme coffee_orders_past_14d indique directement au modèle si un client préfère le café. Une fonctionnalité comme black_tea_orders_past_14d joue le même rôle pour le thé noir. Le modèle peut alors prendre une décision de classement éclairée.
Grâce à des fonctionnalités alignées sur les actions, le modèle peut également détecter la saturation et la lassitude. Si un client présente une valeur coffee_orders_past_14d élevée mais n’a pas converti suite à une récente recommandation de café, le modèle apprend qu’il n’est peut-être pas judicieux de recommander à nouveau du café et commence à tester d’autres options.
Lorsqu’un alignement exact n’est pas possible
Un alignement exact entre fonctionnalités et actions reste l’idéal, mais il est souvent limité par la disponibilité des données. Deux approches peuvent vous aider lorsque vous ne pouvez pas créer de fonctionnalités parfaitement alignées :
Agrégation des données : Si vous ne pouvez pas distinguer les achats de thé noir de ceux de bubble tea, utilisez une fonctionnalité agrégée tea_orders_past_14d. Vous perdez en précision, mais le modèle peut toujours distinguer les amateurs de thé des amateurs de café.
Signaux indirects : Des fonctionnalités qui ne figurent pas directement dans l’espace d’action peuvent tout de même être utiles si elles entretiennent un lien logique avec celui-ci. Par exemple, dessert_purchased_past_30d constitue un indicateur raisonnable d’une préférence pour les produits sucrés, probablement corrélée à une préférence pour le bubble tea. Le modèle peut apprendre de ces signaux indirects, même sans correspondance directe avec une fonctionnalité.
Le principe sous-jacent est simple : des informations plus pertinentes et plus granulaires sont toujours bénéfiques, mais le modèle peut malgré tout apprendre à partir de fonctionnalités imparfaites. Commencez avec ce dont vous disposez, puis affinez au fil du temps à mesure que de nouvelles données deviennent disponibles.