E-commerce

Comment configurer un dashboard temps réel pour prédire une rupture de stock sur shopify et déclencher des campagnes automatiques

Comment configurer un dashboard temps réel pour prédire une rupture de stock sur shopify et déclencher des campagnes automatiques

Dans cet article, je partage mon approche pour construire un dashboard temps réel capable de prédire une rupture de stock sur Shopify et de déclencher automatiquement des campagnes marketing. C'est une configuration que j'ai testé chez plusieurs e-commerces : elle combine données produit, ventes en temps réel, prévisions de consommation et automatisations marketing pour transformer un risque (la rupture) en opportunité (pré-ventes, upsell, fidélisation).

Pourquoi un dashboard temps réel ?

J'ai souvent vu des équipes réagir trop tard à une rupture : perte de chiffre d'affaires, clients déçus, et coûts d'acquisition gaspillés. Un dashboard en temps réel permet de :

  • anticiper les ruptures avant qu'elles ne surviennent,
  • lancer des campagnes ciblées (pré-commande, alternatives, offres substituts),
  • améliorer la satisfaction client et réduire le churn.
  • Mais ce n'est pas seulement de la visualisation : il faut des règles, des modèles et des automatisations qui transforment l'alerte en action.

    Architecture technique que j'utilise

    Voici l'architecture que je recommande — elle est robuste et facilement scalable :

  • Shopify (source des données produit, inventaire, commandes et webhooks)
  • Streaming des événements (Shopify webhooks ou Shopify Activity API)
  • Pipeline de données en temps réel (ex. : Segment, Fivetran Streaming, ou une solution custom avec AWS Lambda / Google Cloud Functions)
  • Data Warehouse / Store temps réel (BigQuery, Redshift ou ClickHouse)
  • Outil d'analyse / dashboarding (Looker Studio, Tableau, Metabase, ou Looker)
  • Moteur de prévision (modèles ML dans BigQuery ML, Prophet, ou un service AutoML)
  • Automatisation / Orchestration (Zapier, Make, ou des workflows avec Klaviyo, HubSpot, ou Shopify Flow pour actions internes)
  • Étapes pratiques pour mettre en place le système

    Je vous détaille les étapes que j'ai suivies, avec des exemples concrets :

    1. Ingestion en continu des données Shopify

    La base, c'est d'avoir un flux d'événements propre :

  • J'active les webhooks Shopify pour les événements suivants : orders/create, orders/updated, inventory_levels/update, products/update. Ces webhooks sont envoyés vers une endpoint (Cloud Function ou un webhook handler dans Segment).
  • Pour la robustesse, j'ajoute une tâche périodique (cron) qui synchronise l'inventaire complet toutes les heures au cas où des webhooks seraient perdus.
  • 2. Stocker et normaliser les données

    Dans mon pipeline, chaque événement est transformé en un enregistrement standard :

  • product_id, sku, location_id, quantity_on_hand, quantity_reserved, timestamp, order_velocity (ventes/heure), lead_time_supplier
  • Je pousse ces événements dans BigQuery (ou Redshift). L'avantage : calculs rapides et support des requêtes temps réel pour alimenter le dashboard.

    3. Calcul des métriques essentielles

    Sur ces données j'extrais plusieurs KPI :

  • Stock actuel (quantity_on_hand - quantity_reserved)
  • Ventes récentes (rolling 24h, 7j, 30j)
  • Vélocité de vente (units/hour)
  • Days of Stock Remaining (DSR) = stock actuel / vélocité
  • Lead time moyen fournisseur
  • Probabilité de rupture (score basé sur DSR vs lead time, ajusté par la variance des ventes)
  • 4. Modèle de prédiction simple et efficace

    Pour la plupart des boutiques, j'ai observé qu'un modèle simple fonctionne très bien :

  • Prédiction de rupture = 1 si DSR < lead_time_supplier + buffer
  • Buffer = z * sigma_vélocité (z selon niveau de confiance, ex. 1.65 pour ~95% sensibilité)
  • Pour plus de précision, j'utilise souvent BigQuery ML ou Prophet pour la prévision de la demande, en tenant compte des saisonnalités, promos et lancements produits.

    5. Dashboard temps réel

    J'affiche les indicateurs suivants dans Looker Studio / Metabase :

    WidgetUtilité
    Liste des produits à risqueProduits avec probabilité de rupture > seuil
    DSR par SKUVisualiser le jour où le stock tombe à zéro
    Vélocité heure/jourVoir évolutions récentes
    Alerte temps réelNotifications Slack / email / webhook

    Je configure des filtres par emplacement, collection, fournisseur, et margin pour prioriser l'action.

    6. Orchestration des campagnes automatiques

    Une fois la rupture prédite, il faut agir rapidement. Voici les playbooks que j'ai automatisés :

  • Pré-commande : envoyer une campagne Klaviyo (ou Shopify Email) aux clients intéressés, avec ETA et option de pré-commander.
  • Recommandation d'alternatives : email + site widget proposant produits substituts similaires (via Algolia ou Recom.ai).
  • Promotion incitative : si rupture probable sur produit à faible marge, proposer upsell sur produits complémentaires.
  • Notification B2B / achats : alertes automatiques au buyer ou fournisseur via Slack, e-mail ou un ticket dans Zendesk.
  • Techniquement, le moteur d'alertes pousse des messages vers Zapier / Make ou directement vers l'API de Klaviyo pour déclencher des flows personnalisés.

    7. Exemple de workflow automatisé

    Voici un workflow que j'ai implémenté :

  • 1) BigQuery détecte SKU avec probabilité de rupture > 80% pour D+7.
  • 2) Une Cloud Function récupère ces SKU et publie un webhook vers Zapier.
  • 3) Zapier envoie : (a) un email segmenté via Klaviyo pour pré-commande, (b) un message Slack à l'équipe achats, (c) met à jour le tag produit sur Shopify ("at_risk").
  • 4) Le tag "at_risk" déclenche un banner sur le site via un script Shopify qui propose alternatives et ETA.
  • Bonnes pratiques et pièges à éviter

    Voici ce que j'apprends souvent à mes clients :

  • Ne pas se fier à un seul indicateur : combinez DSR, variance, lead time et signaux externes (campagnes en cours).
  • Gérer le bruit : définissez des seuils adaptatifs pour éviter les fausses alertes sur produits faiblement vendus.
  • Tracer toutes les actions : stockez les triggers et les réponses pour améliorer le modèle et mesurer l'impact (taux de conversion des pré-commandes, réduction du churn).
  • Impliquer les équipes opérationnelles : les acheteurs et le service client doivent pouvoir intervenir manuellement et modifier les priorités depuis le dashboard.
  • Cas pratique rapide

    Sur une boutique que j'accompagnais, un SKU principal avait une lead time de 10 jours et un buffer fixé à 3 jours. Le DSR projeté en temps réel est passé sous 12 jours : notre système a déclenché un flow Klaviyo proposant la pré-commande. Résultat : 18% des clients ciblés ont pré-commandé, permettant de conserver le CA pendant le réapprovisionnement et de lisser la demande pour le fournisseur. Le retour sur investissement sur l'automation a été visible en moins de 2 semaines.

    Si vous voulez, je peux vous fournir un template de requêtes SQL pour BigQuery, un exemple de JSON pour le webhook et un modèle de flow Klaviyo adapté à votre catalogue. Dites-moi aussi quelles plateformes vous utilisez (Klaviyo, Shopify Plus, Segment, etc.) et j'adapte les instructions.

    Vous devriez également consulter les actualités suivante :