Aller au contenu

Obj - Classer les boutiques et analyser les écarts de fin de mois

Ce use case illustre une utilisation concrète du plugin Biron dans Zapier. Si vous n’êtes pas encore familier avec son fonctionnement (authentification, structure d’une requête, gestion des variables), consultez d’abord le guide Biron × Zapier avant de continuer.


Un Zap qui se déclenche le 1er de chaque mois et produit deux choses :

  1. Un message Slack récapitulatif classant chaque boutique par niveau de réussite sur le mois écoulé
  2. Des analyses d’écart en thread pour les boutiques aux résultats extrêmes — celles qui ont surperformé ou échoué — générées via le sous-Zap d’analyse d’écart

Les niveaux de réussite sont définis ainsi :

NiveauSeuilEmoji
Incroyable≥ 140 % de l’objectif🚀
Réussite100 % à 140 %🟢
Échec90 % à 100 %🟠
Catastrophe< 90 %🔴

Schedule → Calcul des dates → Requête boutiques → Formatage → Slack → Boucle (Filtre → Sous-Zap)

Configurez un bloc Schedule by Zapier :

  • Frequency : Every Month
  • Day : 1
  • Time : 9:00 AM

Les requêtes Biron nécessitent des dates explicites. Ce bloc génère dynamiquement les bornes du mois précédent à chaque exécution.

Ajoutez un bloc Code by Zapier (Python). Utilisez le prompt suivant pour générer le code, puis collez le résultat dans le bloc :

Rôle : Expert Python pour Zapier.
Objectif : Créer un script de calcul de dates relatives.
Calculer les dates suivantes en gérant les spécificités du calendrier
(années bissextiles, fins de mois) :
- Début du mois précédent
- Fin du mois précédent
Sortie : retourner un dictionnaire "output" avec toutes les dates au format YYYY-MM-DD.

Créez dans Biron un chart par boutique récupérant le taux d’atteinte de l’objectif sur le mois précédent. Copiez le NexusQL, collez-le dans le bloc Biron Query et remplacez les dates statiques par les variables produites à l’étape précédente.

Ajoutez ensuite la colonne calculée suivante directement dans la requête pour catégoriser chaque boutique :

CASE
WHEN `% Atteint Objectif CA HT` < 0.90 THEN 'Catastrophe'
WHEN `% Atteint Objectif CA HT` < 1 THEN 'Echec'
WHEN `% Atteint Objectif CA HT` < 1.40 THEN 'Réussite'
ELSE 'Incroyable'
END AS result_tier

Les données Biron doivent être converties en message Slack lisible. Ajoutez un bloc Code by Zapier (Python) et utilisez ce prompt pour générer le code :

Rôle : Expert Python pour Zapier.
Objectif : Générer un message Slack récapitulatif des performances des boutiques
par rapport à leurs objectifs sur le mois précédent.
Inputs disponibles (via input_data) :
- boutiques : noms des boutiques (liste séparée par des virgules)
- objectifs : taux d'atteinte de l'objectif en % (liste séparée par des virgules)
- tiers : catégorie de performance (liste séparée par des virgules)
Demande :
1. Calculer automatiquement le nom du mois précédent en français et l'année.
2. Regrouper les boutiques par catégorie dans cet ordre, avec l'emoji associé :
🚀 Incroyable | 🟢 Réussite | 🟠 Echec | 🔴 Catastrophe
Les catégories inconnues vont dans un groupe ⚪ Autres affiché en dernier,
avec la catégorie d'origine entre parenthèses.
3. Pour chaque boutique, afficher : ▪️ Nom boutique : 97%
4. Générer un message Slack slack_message avec :
- Titre en gras : *📊 Récapitulatif des Objectifs par Boutique - {Mois} {Année}*
- Les groupes de boutiques, nom de catégorie en majuscules
- Les catégories vides ne sont pas affichées
5. Retourner le résultat dans output avec la clé slack_message.

Ajoutez un bloc Slack et configurez :

  • Channel : le canal où envoyer le récapitulatif
  • Message Text : la variable slack_message produite par le bloc de formatage

Ajoutez un bloc Looping by Zapier en lui passant les noms de boutiques et leur result_tier issus de la requête.

La boucle itère sur chaque boutique et exécute les deux étapes suivantes pour chacune d’elles.


Ajoutez un bloc Filter avec la condition suivante :

  • Continuer uniquement si result_tier est parmi : Incroyable, Echec, Catastrophe

Les boutiques en Réussite sont stoppées ici — leur résultat est conforme et ne nécessite pas d’analyse approfondie.


Pour chaque boutique passant le filtre, déclenchez le sous-Zap d’analyse d’écart en lui transmettant les quatre variables attendues :

VariableValeur à transmettre
start_dateDébut du mois précédent (étape Calcul des dates)
end_dateFin du mois précédent (étape Calcul des dates)
shop_idNom ou identifiant de la boutique (boucle en cours)
slack_tsTS du message Slack envoyé à l’étape précédente

Le 1er de chaque mois à 9h, votre équipe reçoit un récapitulatif Slack du mois écoulé. Les boutiques aux résultats extrêmes — en surchauffe ou en difficulté — reçoivent automatiquement une analyse d’écart en thread, expliquant les causes du résultat et les leviers d’action.