Skip to content

Blog


Construire une expérience de chat unifiée chez DoorDash

8 février 2022

|
Dan Behar

Dan Behar

Résoudre les problèmes des clients à grande échelle n'est pas une tâche facile, c'est pourquoi la solution la plus réalisable est la mise en œuvre d'une fonction de chat ; cependant, rendre ces expériences de chat unifiées et cohérentes est un défi en soi. 

Les clients de DoorDash souhaitent souvent pouvoir parler immédiatement à un représentant du service clientèle. L'un des mécanismes que nous mettons en place sur notre site pour faciliter cette communication est une fonction de chat textuel. Dans un précédent article de blog, nous avons expliqué comment nous avons intégré le chat dans l'application DoorDash. En nous appuyant sur cette base, nous l'avons étendue pour inclure à la fois l'assistance en direct et automatisée.

Les problèmes généraux de notre solution de chat existante 

Notre ancien système de chat était fragmenté entre nos différents types d'utilisateurs (consommateurs, Dashers - notre nom pour les chauffeurs-livreurs - et commerçants), utilisant plusieurs applications fonctionnant sur différentes plateformes (iOS, Android, Web). Cette division des applications clients incluait également les applications d'assistance, ce qui créait de nombreux doublons et rendait plus difficile l'adoption des meilleures pratiques de manière centralisée. 

L'un des principaux problèmes de notre ancienne solution de chat était son incapacité à transmettre les données de l'utilisateur à un agent d'assistance. Un utilisateur était invité à remplir un formulaire, puis était placé dans une file d'attente pour entrer en contact avec un agent. L'agent finissait alors par demander les mêmes informations, alors que l'utilisateur avait déjà rempli le formulaire. Nous avions besoin d'un moyen de transmettre ce contexte à l'agent. 

Nous voulions également automatiser une grande partie du processus d'assistance afin que les clients n'aient pas nécessairement besoin de parler à un agent d'assistance, mais qu'ils puissent obtenir immédiatement les informations dont ils ont besoin par le biais de l'application. 

Construire une meilleure solution de chat

Nous voulions créer une plateforme de support par chat pour tous nos clients, de manière à permettre une réutilisation importante sur toutes les plateformes et à garantir une expérience utilisateur cohérente.

La création d'une meilleure application de chat a impliqué la construction : 

  • Composants d'interface utilisateur communs à toutes les implémentations de chat chez DoorDash
  • Un système d'arrière-plan extensible qui permet d'intégrer différents services tiers.
  •  Un système permettant une grande évolutivité et résilience

Construire des composants d'interface utilisateur communs

Nous voulions créer une implémentation de chat unique qui fonctionnerait avec le support ainsi qu'avec le chat entre le consommateur et Dasher qui est offert pour chaque commande. Récemment, nous avons mis à jour notre chat entre consommateurs et Dasher en utilisant Sendbird. Avant ce changement, lorsqu'un Dasher voulait contacter un consommateur, il envoyait un message que le consommateur recevait sous forme de SMS. Cette messagerie a été migrée pour utiliser Sendbird et intégrée directement dans l'application du consommateur et du Dasher. Nous nous sommes appuyés sur ce travail pour créer une implémentation de chat unique, ce qui nous a permis d'avoir une expérience cohérente à travers tous les chats chez DoorDash. Cela a également permis aux deux flux de bénéficier des améliorations et des fonctionnalités apportées à l'autre flux. 

En définissant tous les composants des applications des plates-formes précédentes dans une seule bibliothèque, nous pourrions créer un système de composants d'interface utilisateur. Nous pourrions ensuite les codifier dans notre application. Bien qu'il ait fallu créer une interface utilisateur pour chacune des différentes plateformes (Web, iOS, Android), une fois créée, nous pouvions réutiliser le composant dans les multiples cas d'utilisation où le chat est affiché pour cette plateforme. Lorsqu'une personnalisation supplémentaire était nécessaire, nous pouvions compter sur le fait que chaque plateforme disposait d'un module unique pouvant être importé dans les applications distinctes et personnalisé selon les besoins. Cela nous a permis de développer les multiples cas d'utilisation plus rapidement que si nous avions dû créer chaque cas d'utilisation indépendamment.

Restez informé grâce aux mises à jour hebdomadaires

Abonnez-vous à notre blog d'ingénierie pour recevoir régulièrement des informations sur les projets les plus intéressants sur lesquels notre équipe travaille.

Construire un système de backend extensible 

Le système dorsal a été construit en plusieurs couches, ce qui nous a permis de répartir les responsabilités entre les services internes et les tiers. Le recours à des tiers pour des fonctionnalités telles que le chat, le traitement du langage naturel (NLP) et la gestion des tickets des agents nous a permis d'avancer plus rapidement sans avoir à construire des fonctionnalités qui ne nous différencient pas directement. Nous avons conservé dans notre moteur de décision les éléments qui sont au cœur de notre logique d'entreprise, comme la détermination de la raison attendue pour contacter le client ou la détermination des solutions possibles pour le client, en tirant parti du travail existant qui avait été réalisé par d'autres équipes. En gardant le contrôle de l'intégration et du parcours client, nous sommes en mesure d'avoir une visibilité sur les différents chats et leur utilisation et de faire facilement des mises à jour.

Pour permettre à la plateforme de traiter des couches communes, nous avons créé une nouvelle passerelle API pour tous les différents rappels de tierces parties. Comme le traitement n'a pas besoin d'être synchrone, nous sommes en mesure de pousser les messages vers une file d'attente de messagerie pour le traitement afin de garantir la fiabilité du traitement des messages. Le traitement en aval est alors indépendant de la source et axé sur les données en fonction des différents événements.

Figure 1 : Flux de données par le biais d'un service de chat centralisé, intégrant des tiers

Résoudre les problèmes par l'automatisation

Comme le chat d'assistance amélioré est maintenant plus profondément intégré au cœur de l'écosystème DoorDash, nous avons commencé à mettre en œuvre l'automatisation mentionnée plus haut. Nous pouvons examiner le chemin parcouru par l'utilisateur pour ouvrir le chat ainsi que l'état actuel pour fournir un retour d'information immédiat à l'utilisateur, ce qui peut à la fois réduire le temps d'attente pour obtenir l'information souhaitée et réduire les coûts liés à l'intervention d'un agent humain. 

En intégrant le chat à notre plateforme Decision Engine, nous avons permis aux opérations d'intégrer n'importe quelle fonctionnalité, y compris des mises à jour sur l'état d'une commande, l'émission de crédits et de remboursements, et l'envoi de messages personnalisés. DoorDash pourra ainsi s'appuyer davantage sur l'automatisation et moins sur les opérateurs humains manuels. Bien sûr, les utilisateurs peuvent toujours escalader à tout moment et obtenir le support DoorDash qu'ils attendent. 

En plus de permettre à un utilisateur de sélectionner un ensemble prédéfini de problèmes, nous lui permettons également de saisir la raison pour laquelle il nous contacte. Cela alimente ensuite un moteur NLP, qui peut permettre de lancer les flux de travail appropriés ou d'escalader les problèmes. Cela devrait également nous permettre de saisir des éléments tels que le sentiment de l'utilisateur et d'identifier les problèmes communs, en nous fournissant des données sur les scénarios de suivi courants que nous devrions ajouter. 

Des pilules de réponse rapide ont également été fournies, permettant à l'utilisateur d'indiquer les réponses les plus courantes.

Figure #2 : Pilule de réponse rapide proposée dans un chat d'assistance DoorDash

Mise en œuvre de la migration

Nous voulions nous assurer que le déploiement de la nouvelle solution de chat se fasse en douceur. Nous avons donc commencé par déployer une fonctionnalité minimale pour un petit sous-ensemble d'utilisateurs, puis nous avons ajouté davantage de fonctionnalités et d'utilisateurs au cours des étapes suivantes.

Le premier scénario que nous avons retenu est celui de l'expérience web, pour les raisons suivantes :

  • Il n'y avait pas de fonctionnalité de chat après la livraison, nous n'avons donc pas eu à nous soucier de casser les fonctionnalités existantes tout en ajoutant de nouvelles fonctionnalités au site.
  • Le volume sur le web est plus faible que sur le mobile, le risque était donc plus faible.
  • Nous avons pu itérer plus rapidement car nous n'étions pas liés aux cycles de publication des téléphones portables.

Une fois le site en ligne, nous avons contrôlé de nombreux indicateurs de performance clés, notamment 

  • Retour d'information des agents et des clients
  • Le taux d'erreur
  • Un indicateur CSAT (satisfaction du client)
  • Temps nécessaire à la résolution des problèmes des clients (AHT = average handle time)
  • Le taux auquel ils nous contacteraient à nouveau pour le même problème (FCR = first contact resolution)
  • Le taux de contact avec un agent (MTO = tâches manuelles par commande)

Une fois que nous avons eu confiance dans l'expérience et que nos mesures de performance ont été bonnes, nous avons rapidement mis en place l'automatisation et des fonctionnalités supplémentaires. Celles-ci comprenaient le téléchargement d'images, la prise en charge des livraisons pendant qu'elles sont encore en cours, l'intégration dans les applications mobiles Cx et Dx, la possibilité pour les agents de transférer des chats et l'automatisation. 

Nous avons utilisé des drapeaux de caractéristiques pour faire monter en puissance chacun d'entre eux de manière indépendante, de sorte que nous puissions monter en puissance lentement ou descendre en puissance rapidement au cas où des problèmes seraient découverts. Les mesures ont été saisies par notre système d'analyse et nous avons pu vérifier le comportement. 

Figure #3 : Le trafic est en train de monter en puissance. Augmentation et diminution du nombre de chats après le déploiement initial.

Conclusion

Nous en voyons déjà les avantages maintenant que le chat d'assistance mis à jour a été développé sur le web, qu'il est en ligne pour les Dashers sur mobile et que l'automatisation a été ajoutée à certaines des réponses. 

  • Nous avons réduit les taux d'escalade et amélioré le CSAT. 
  • Nous sommes désormais en mesure d'automatiser certaines conditions, ce qui réduit le nombre de points de contact manuels nécessaires pour chaque livraison. 
  • Les clients peuvent résoudre leurs problèmes plus rapidement et sans intervention manuelle, tout en ayant la possibilité de s'adresser à une personne. 
  • Nous avons réduit le temps nécessaire à la mise en place d'une automatisation supplémentaire par rapport à ce qui existait auparavant avec le traitement de la plate-forme commune.
  • Grâce aux couches communes de l'interface utilisateur, nous fournissons désormais une image de marque cohérente, ce qui donne l'impression que le chat est beaucoup plus intégré dans nos applications sur toutes les plates-formes. 

A propos de l'auteur

Emplois connexes

Localisation
San Francisco, CA ; Mountain View, CA ; New York, NY ; Seattle, WA
Département
Ingénierie
Localisation
San Francisco, CA ; Sunnyvale, CA
Département
Ingénierie
Localisation
San Francisco, CA ; Sunnyvale, CA ; Seattle, WA
Département
Ingénierie
Localisation
Pune, Inde
Département
Ingénierie
Localisation
San Francisco, CA ; Seattle, WA ; Sunnyvale, CA
Département
Ingénierie