Article

9min lecture

E-commerce : quels sont les jours et les heures “chaudes” ?

Dans le domaine de l’amélioration des conversion (CRO), on étudie peu l’aspect temporel des données que l’on manipule. En pratique, les expériences sont toujours effectuées simultanément, justement pour s’abstraire de toute fluctuation temporelle. Les tests statistiques utilisés reflètent bien cette approche : seules les sommes des nombres de visiteurs et de conversions effectuées sur la période sont utilisés pour identifier la variation gagnante. Cependant, l’aspect temporel de ces données est très intéressant à étudier. Focus sur les quelques insights qui permettent de comprendre le pourquoi de certaines règles empiriques d’expérimentation. Et comme le dit l’adage : “Le temps, c’est de l’argent”.

Comment exploiter les données ?

Nous avons exporté un mois de données de conversions (c’est-à-dire d’achats) d’une plateforme e-commerce, et notamment l’heure à laquelle ces achats ont eu lieu. Plus exactement, la donnée utilisée est ce ce qu’on appelle le timestamp ou horodatage en français : on sait donc très précisément quand la vente a eu lieu et accessoirement quel appareil a été utilisé (ordinateur de bureau, tablette ou mobile).  Pour le moment, seule la colonne “time” nous intéresse, on considérera donc l’ensemble des devices. Il s’agit d’une seule enseigne, mais la plupart des sites similaires présentent des résultats globalement identiques.

Pour rendre ces données plus facilement lisibles, on utilise la technique de “fenêtre glissante”. On définit la taille d’une fenêtre (ici : une heure), on comptabilise le nombre d’achats faits durant cette période – ce qui nous donne un point de la courbe -, puis on déplace la fenêtre d’une demi-heure, et on recommence. Résultat, on obtient une courbe telle que celle ci :

Sur l’axe horizontal est représenté le temps (avec pour unité, l’heure). L’axe vertical représente quant à lui le nombre de ventes réalisées dans une fenêtre.

On remarque tout de suite l’alternance jour / nuit, avec un pic de conversions le jour et un creux la nuit, ce qui peut sembler logique. Mais ce point n’est pas si évident : les données ne tombent jamais complètement à 0, même au milieu de la nuit !

Si on zoome, on observe que, même à l’intérieur de la journée, il existe probablement des “régimes” différents. Toutefois, il y a trop de “bruit” pour bien voir ce qu’il se passe…

Quel modèle d’analyse des données ?

Étant donné la nature cyclique de ce type de data, il existe un moyen intuitif de réduire ce bruit aléatoire. Imaginez que l’on replie ce graphe sur lui-même pour superposer chaque heure avec la même heure des autres jours. Il n’y aurait alors plus qu’à faire la moyenne, en espérant que la partie aléatoire s’annule avec elle-même, laissant apparaître la tendance de fond qui régit une journée.

Malheureusement, en pratique, cela fonctionne difficilement car il y a aussi des variations importantes selon les jours de la semaine. Typiquement, le profil journalier d’un lundi est différent de celui d’un samedi par exemple, et faire la moyenne des deux ne donnera pas une mesure plus précise, au contraire. Pour contourner ce problème, une solution consiste à construire un modèle bayésien hiérarchique (avec la librairie Pymc3) qui reflète ce processus complexe. Schématiquement, cela veut dire qu’on considère qu’il y a un modèle d’un profil journalier général, assez souple pour englober les spécificités des différents jours de la semaine.

Le profil journalier

Sur ce schéma, on représente le profil d’une journée type. L’axe horizontal représente le temps en heure et l’axe vertical représente le nombre de ventes réalisées durant cette heure. Le tracé plein représente le “centre” du modèle, les tracés en pointillés en illustre les “extrémités”.

On constate que le creux d’activité se situe entre minuit et 5h du matin. L’activité démarre doucement après 5-6 heures du matin pour atteindre un plateau vers 10h, en légère croissance jusqu’à 20h. On note aussi qu’il peut y avoir un pic après 20h. Nous allons donc voir, dans la partie suivante, que ce pic n’existe que certains jours de la semaine. Voilà pourquoi le modèle général de jour l’intègre même s’il n’est pas représenté de manière “central”.

Le profil hebdomadaire

On crée maintenant un modèle par jour de la semaine, dérivant du modèle général. En terme bayésien, on dit que le profil journalier général est un prior pour le profil des jours spécifiques de la semaine. L’avantage de cette approche est qu’elle permet d’affiner les mesures même avec peu de données. Par exemple, sur un mois de données, on a 30 jours pour modéliser l’évolution horaire au cours d’une journée, typiquement l’alternance jour / nuit. Sur une telle mesure globale, il n’y a alors besoin que de peu d’exemples pour affiner le déroulement de chaque jour de la semaine, qui sont tous subtilement différents les uns des autres.

Nous allons maintenant regarder les profils des différents jours de la semaine.

Première constatation : seule l’alternance jour / nuit est commune à chaque jour de la semaine. Pour autant, chaque jour semble avoir un profil très différent.

Ce point met en lumière un conseil d’expérimentation en CRO : il faut tester sur une période couvrant tous les jours de la semaine. Donc même si un site a suffisamment de trafic pour générer des données significatives avec seulement une journée de trafic, il est fortement déconseillé de le faire. Le comportement des visiteurs n’est pas le même selon le jour de la semaine.

Pour faciliter la lecture de ces courbes, nous allons donc les représenter sur des graphiques différents.

Sur ce graphique-ci, nous avons regroupé des profils journaliers similaires : lundi, mardi, jeudi, dimanche. On remarque alors :

  • Un plateau de 10h à 20h.
  • Un pic d’activité vers 21h
  • Chose intéressante, le “dimanche est un jour de semaine”. C’est même ce jour-là que le pic est le plus haut (vers 20h). La seule différence notable avec un jour de semaine est que l’activité démarre plus tardivement.

Les jours restants : mercredi, vendredi, samedi ont des profils nettement différents.

  • Le mercredi, même si son allure générale a l’air de ressembler à un lundi ou à un mardi, l’activité est significativement plus importante. C’est d’ailleurs la journée où il y a le plus d’achat (presque 20% de plus). L’activité de l’après-midi est quasiment à la hauteur du pic maximal de 20h. Donc faire un test A/B uniquement sur ce jour risque fort d’amener à des conclusions erronées. Car même si c’est le jour le plus actif, cela ne représente que près de 20% de l’activité totale.
  • Le vendredi est nettement le jour le plus calme de la semaine, on peut aussi noter (comme le samedi) l’absence totale du pic de 20h.
  • Le samedi, le pic de 20h est absent, mais on note aussi un démarrage d’activité notablement plus tardive (comme le dimanche).

Conclusions

Nous avons donc vu comment il était possible d’extraire des profils d’activité à partir de données temporelles. De même, des spécificités e-commerce (par opposition au commerce classique) sont apparues :

  • Le mercredi est la plus grosse journée (presque 20% de plus que les autres jours !).
  • Le vendredi et le samedi sont les moins bonnes journées.
  • Le dimanche, par contre, contrairement au commerce classique, est tout à fait comparable aux jours les plus actifs.
  • Le soir (après 20h) est une heure généralement propice aux achats…
  • …Sauf les vendredis et samedis soirs où l’activité chute après 20h (en plus d’être de base plus basse que les autres jours).
  • Et, naturellement, les samedis et dimanches matins sont peu actifs…

Ces constats confirment l’importance de faire durer les tests A/B au minimum sur une, idéalement deux, semaines complètes, et ce quel que soit le volume de trafic. Vous pourrez ainsi bien couvrir les comportements très différents que l’on peut observer selon les jours de la semaine.
Attention toutefois : cela n’est pas pris en compte dans les tests statistiques qui ne tiennent compte que du nombre total de visiteurs et de conversions pour chaque variation.

Dans un prochain article, nous nous intéresserons donc aux différences selon le type de device utilisé…

Abonnez-vous à
notre Newsletter

bloc Newsletter FR

AB Tasty traite et stocke vos données personnelles pour vous envoyer des communications tel que détaillé dans notre politique de confidentialité ici.