We use cookies
We use cookies and similar technologies to improve your experience, analyse traffic, and personalise content. You can accept all cookies or reject non-essential ones.
10 Sep 2026
Environ un client sur huit remplit votre enquête. Vos rapports reposent sur ces réponses. Les sept autres ne vous disent rien — mais vous avez déjà leurs données : ce qu’ils ont acheté, la date de leur dernière connexion, la fréquence de leurs contacts avec le support, ce sur quoi ils ont cliqué. Vous savez ce qu’ils ont fait. Vous ignorez seulement ce qu’ils en ont pensé.
Cet article montre, écran par écran, comment combler cet écart dans SurveyAnalytica : joindre les données, créer les variables, entraîner le modèle sur vos réponses d’enquête prises comme étiquettes, puis scorer les clients qui n’ont jamais répondu.
Environ un client sur huit remplit votre enquête. Vos rapports reposent sur ces réponses.
Les sept autres ne vous disent rien. Mais vous avez déjà leurs données : ce qu’ils ont acheté, la date de leur dernière connexion, la fréquence de leurs contacts avec le support, ce sur quoi ils ont cliqué. Vous savez ce qu’ils ont fait. Vous ignorez seulement ce qu’ils en ont pensé.
C’est cet écart que l’on comble ici.
Vous les avez pour tout le monde, en permanence. Elles montrent ce que les gens ont fait, pas ce qu’ils ont ressenti.
Seule une petite partie répond. Mais ce sont les seuls à vous avoir dit ce qu’ils ont ressenti.
Alors, plutôt que de courir après un meilleur taux de réponse, servez-vous des réponses que vous avez déjà pour apprendre à un modèle ce que signifient ces comportements. Puis appliquez-le à tout le monde.
Votre enquête cesse d’être le rapport. Elle devient le corrigé.
Sept étapes. Chaque écran ci-dessous est réel, avec les boutons nommés tels que vous les trouverez.
Étape 01
Workspace ▸ Data ▸ Create Data Hub · Contact Lists ▸ Import Contacts
Il vous faut deux choses. Un jeu de données contient les événements : commandes, sessions, tickets, clickstream. Une liste de contacts contient les personnes auxquelles ces événements se rattachent. Choisissez From a flow si les données continuent d’arriver, ou Upload a file pour un import ponctuel.
Le clickstream a sa propre porte d’entrée : Connectors Marketplace ▸ Clickstream Publisher ▸ Create Clickstream workflow, puis installez le SDK — Vanilla JS, Next.js, React, React Native, Flutter ou iOS.
Les contacts arrivent des deux mêmes façons : Upload CSV, ou un flow qui les ajoute au fur et à mesure qu’ils apparaissent dans vos systèmes. Configurez ensuite les champs — c’est là que la réponse du modèle sera écrite plus tard.
| Field ID | Display Label | Type |
|---|---|---|
| plan | Plan | Dropdown |
| tenure_months | Tenure (months) | Number |
| experience_flag | Experience | Dropdown |
Ajoutez experience_flag dès maintenant et laissez-le vide. L’étape 07 y écrira la prédiction. Sur ce même écran, vous filtrerez ensuite dessus pour construire un segment.
Étape 02
Workspace ▸ Analytics model ▸ Data & Relationships
Glissez vos sources sur le canevas et reliez-les. La liste de contacts est la colonne vertébrale : tout s’y rattache, parce que c’est la seule table qui s’accorde sur l’identité du client.
Si vous avez diffusé l’enquête vers une liste de contacts, vous n’avez rien à réconcilier. Chaque invitation porte un identifiant de session généré avec l’ID du contact, sa liste, son e-mail et son nom, si bien que la réponse revient estampillée de son auteur.
Et vous envoyez généralement une enquête à propos de quelque chose : une commande qui vient de partir, un ticket qui vient d’être clos, une livraison qui vient d’arriver. Transmettez cette référence sous forme de variable personnalisée — numéro de commande, numéro de ticket, ID de transaction — et elle se retrouve elle aussi sur la réponse. Idem pour les enquêtes envoyées depuis votre propre routeur e-mail ou via un lien sur votre site.
La réponse ne revient donc pas flottante au niveau du client. Elle revient attachée à l’objet précis dont elle parlait.
Les options de rapprochement ci-dessous concernent donc les systèmes que vous ne maîtrisez pas : la base de commandes, l’export du helpdesk, le tableur de la finance. Vos données de feedback, elles, arrivent propres.
Pour ceux-là, How to match et Normalize keys règlent les écarts sans lancer de chantier de nettoyage de données.
customers · contactId · email · plan · tenure_months · experience_flag
csat_responses · contactId · orderId · sid
orders_2026 · orderId · customer_email
Observez la forme : le comportement est renseigné pour tout le monde, les réponses d’enquête seulement pour certains. Cet écart est tout l’enjeu. Les lignes avec réponse entraînent le modèle. Les lignes sans réponse sont celles que vous prédisez.
Cela mérite qu’on s’y arrête, car c’est ce que la plupart des outils d’enquête ne savent pas faire. Une note qui arrive avec un numéro de commande vous dit quelle commande l’a provoquée. Vous ne devinez pas laquelle des quarante transactions d’un client a déclenché l’avis à deux étoiles — vous le savez, et le modèle aussi.
Vous avez donc deux façons de construire le jeu d’entraînement, et le choix dépend de la question posée :
Les deux sont utiles et répondent à des questions différentes. Le premier attrape une mauvaise expérience tant qu’elle est encore rattrapable. Le second vous dit qui appeler ce mois-ci. Vous pouvez construire les deux à partir de la même vue jointe ; l’agrégation se fait à l’étape suivante.
Étape 03
Analytics ▸ Predictions ▸ Feature Engineering ▸ Open Studio
Choisissez une transformation dans la liste, ou écrivez l’expression vous-même. Idem pour l’étiquette : une note brute de 0 à 10 est difficile à prédire, mais regroupée en promoteurs, passifs et détracteurs, elle devient simple.
Les commentaires écrits comptent aussi. Word Count et TF-IDF transforment le champ libre que personne n’avait le temps de lire en quelque chose d’exploitable par le modèle.
Étape 04
Analytics ▸ Predictions ▸ Model Selection → Data Preparation → Training
Le catalogue couvre Classification, Regression, Forecasting, Clustering, Image et Text. Si vous préférez ne pas choisir, AI Recommend propose un modèle et une cible à partir de vos colonnes.
Étape 05
Analytics ▸ Predictions ▸ Results & Comparison ▸ Versions
Regardez la précision et le rappel plutôt que l’exactitude. Entraînez un second modèle, comparez les deux, et appuyez sur Mark as Live pour celui en qui vous avez confiance.
| Version | Primary metric | Trained | |
|---|---|---|---|
| v3 · Boosted Tree | 0.91 ROC AUC | today | LIVE |
| v2 · Logistic Reg. | 0.84 ROC AUC | 2 days ago | Mark as Live |
Feature Importance et Confusion Matrix se trouvent sous Detailed Metrics.
Étape 06
Predictions ▸ Deploy as Agent, then Agents ▸ open the agent ▸ Deploy
Le déploiement vous donne un service qui sait quelles entrées il lui faut et ce qu’il renvoie. Le code généré est modifiable, vous pouvez donc ajouter la sortie dont votre équipe a réellement besoin.
Déclarez experience_flag dans l’onglet Output Schema pour qu’il apparaisse dans le Flow Designer.
Faites la conversion ici, une fois pour toutes. Placez plutôt le seuil de 0,7 dans neuf automatisations distinctes, et le réentraînement du modèle rendra silencieusement les neuf fausses.
Étape 07
Flows ▸ Design ▸ Trigger, then Add Component
Alors démarrez le flow au moment où la chose se produit. Clickstream pour ce que les gens font sur votre site ou votre application. Webhook pour votre système de commandes ou votre helpdesk. Survey Response quand un feedback arrive. Contact List quand une fiche change.
Le nœud AI Agent appelle votre modèle. Condition envoie ensuite les clients sur des chemins différents.
Glissez un nœud depuis Add Component, déposez-le sur le canevas, reliez-le. Une Condition sépare le chemin ; tout ce qui se trouve sous une branche ne s’exécute que pour les enregistrements qui l’ont satisfaite.
Les trois mêmes briques gèrent l’entrant. Quand un client vous écrit sur WhatsApp, par e-mail ou via un formulaire web, un déclencheur Message Channel lance le flow. Le modèle lit son message avec tout ce que vous savez déjà de lui, et la branche décide si cela demande un humain ou peut recevoir une réponse immédiate.
Même déclencheur, même modèle, même condition, pointés vers un autre signal. Un client à risque qui écrit atteint un humain. Tous les autres obtiennent une réponse immédiate.
Écrivez d’abord le champ dans la liste via Manage Fields ▸ Add Custom Field, puis filtrez dessus dans Advanced Filters et appuyez sur Create Dynamic List — le segment se réévalue à chaque envoi.
Gardez un déclencheur Schedule pour ce qui est vraiment lent : renouvellements de contrat, ancienneté, un passage mensuel sur tous ceux que le flux d’événements n’a jamais touchés. Signaux rapides sur l’événement, signaux lents sur une planification. Ce qu’il faut éviter, c’est un signal urgent qui attend dans un traitement de nuit.
Une prédiction est une supposition, pas une citation. Le modèle pense que ce client est mécontent. Le client, lui, n’a jamais rien dit. Gardez les deux séparés dans vos rapports, et ne dites jamais à quelqu’un que vous savez ce qu’il ressent.
C’est aussi pour cela qu’il faut continuer à interroger. Les nouvelles réponses sont ce qui permet de vérifier que le modèle a toujours raison. Et quand un modèle dérive, il dérive en silence : les scores continuent d’arriver, tout le monde continue de leur faire confiance, et de moins en moins de vraies réponses arrivent pour le détecter.
No comments yet. Be the first to comment!