Obj - Projeter le CA de fin de mois et anticiper les écarts
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.
Ce qu’on construit
Section intitulée « Ce qu’on construit »Un Zap qui se déclenche plusieurs fois par mois et envoie un suivi Slack de l’avancement des objectifs CA pour chaque boutique. Contrairement au bilan mensuel qui regarde le mois passé, ce Zap projette le CA à fin de mois pour anticiper les résultats.
La prévision combine le CA déjà réalisé et une estimation du CA restant à faire, calculée à partir de la saisonnalité N-1 et de la croissance récente — la même méthodologie que le Zap de prévisions mensuelles :
CA Prévisionnel fin de mois = CA réalisé + CA N-1 (mois restant) × (1 + Croissance 3 derniers mois)Les catégories d’atteignabilité :
| Catégorie | Condition | Emoji |
|---|---|---|
| Validé | Objectif déjà atteint | ✅ |
| Garanti | Prévision > +15 % | 🟣 |
| Confortable | +5 % à +15 % | 🔵 |
| Attendu | 0 % à +5 % | 🟢 |
| Court | -5 % à 0 % | 🟡 |
| Ambitieux | -15 % à -5 % | 🟠 |
| Compromis | < -15 % | 🔴 |
Pour les boutiques en Compromis, une analyse d’écart est automatiquement générée en thread via le sous-Zap d’analyse d’écart.
Architecture du Zap
Section intitulée « Architecture du Zap »Schedule → Calcul des dates → Requête boutiques → Formatage → Slack → Boucle (Filtre → Sous-Zap)Trigger — Schedule by Zapier
Section intitulée « Trigger — Schedule by Zapier »Configurez un bloc Schedule by Zapier selon la fréquence souhaitée pour le suivi en cours de mois — par exemple deux fois par semaine ou tous les lundis.
Calcul des dates
Section intitulée « Calcul des dates »Les requêtes Biron nécessitent des dates explicites. Ce bloc les génère dynamiquement à 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 en cours et N-1- Fin du mois en cours et N-1- Hier et hier N-1- Il y a 3 mois et il y a 3 mois N-1
Sortie : retourner un dictionnaire "output" avec toutes les dates au format YYYY-MM-DD.Requête boutiques — prévision fin de mois
Section intitulée « Requête boutiques — prévision fin de mois »Créez dans Biron un chart par boutique récupérant les quatre métriques suivantes, puis copiez le NexusQL et collez-le dans le bloc Biron Query. Remplacez les dates statiques par les variables produites à l’étape précédente.
| Métrique | Rôle dans la prévision |
|---|---|
| CA HT mois en cours | Réalisé à date |
| CA HT N-1 (mois restant) | Base saisonnalité pour la portion restante |
| Croissance CA HT 3 derniers mois | Signal de dynamique récente |
| Objectif CA HT mois complet | Cible à évaluer |
Ajoutez ensuite les colonnes calculées suivantes directement dans la requête :
-- CA prévisionnel fin de moisROUND( `CA HT Mois en Cours` + `CA HT (A-1) Mois restant` * `Croissance CA HT 3 derniers mois`, 2) AS `Objectif Prévisionnel CA HT`,
-- Écart entre prévision et objectif (en %)ROUND( 100 * (`Objectif Prévisionnel CA HT` - `Objectif CA HT`) / `Objectif Prévisionnel CA HT`, 2) AS `Delta Pourcent Prévisionnel CA HT`,
-- Catégorie d'atteignabilitéCASE WHEN `CA HT Mois en Cours` >= `Objectif CA HT` THEN 'Validé' WHEN `Delta Pourcent Prévisionnel CA HT` < -15 THEN 'Compromis' WHEN `Delta Pourcent Prévisionnel CA HT` < -5 THEN 'Ambitieux' WHEN `Delta Pourcent Prévisionnel CA HT` < 0 THEN 'Court' WHEN `Delta Pourcent Prévisionnel CA HT` < 5 THEN 'Attendu' WHEN `Delta Pourcent Prévisionnel CA HT` < 15 THEN 'Confortable' ELSE 'Garanti'END AS `Prévision Objectif`Formatage — message de suivi
Section intitulée « Formatage — message de suivi »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 de suivi des objectifs en cours de mois.
Inputs disponibles (via input_data) :- shops : noms des boutiques (liste séparée par des virgules)- labels : catégorie de chaque boutique (liste séparée par des virgules)- billing_target : objectif de CA (liste séparée par des virgules)- billing_real : CA réalisé depuis le début du mois (liste séparée par des virgules)
Demande :1. Formater tous les montants en euros au format français : séparateur de milliers = espace, décimales = virgule (ex : 12 345,67€).2. Regrouper les boutiques par catégorie dans cet ordre, avec l'emoji associé : ✅ Validé | 🟣 Garanti | 🔵 Confortable | 🟢 Attendu | 🟡 Court | 🟠 Ambitieux | 🔴 Compromis Les catégories inconnues vont dans un groupe ⚪ "Non catégorisé / Autres" en dernier.3. Pour chaque boutique, afficher : • *Nom boutique* : _Réalisé_ 12 345,67€ | _Objectif_ 15 000,00€ Si la catégorie n'est pas Validé, ajouter l'écart restant : | -2 654,33€ (si l'écart est positif, afficher 0).4. Générer un message Slack slack_message_formatted avec : - Titre en gras : *Suivi des Objectifs {Mois} {Année} au {JJ/MM/AAAA}* - Sous-titre en italique : "Comparaison entre le CA Réalisé depuis le début du mois et l'Objectif cible." - Les groupes de boutiques (catégories vides non affichées)5. Retourner le résultat dans output avec la clé slack_message_formatted.Envoi — Slack
Section intitulée « Envoi — Slack »Ajoutez un bloc Slack et configurez :
- Channel : le canal où envoyer le suivi
- Message Text : la variable
slack_message_formattedproduite par le bloc de formatage
Boucle — Looping by Zapier
Section intitulée « Boucle — Looping by Zapier »Ajoutez un bloc Looping by Zapier en lui passant les noms de boutiques et leur Prévision Objectif issus de la requête.
La boucle itère sur chaque boutique et exécute les deux étapes suivantes pour chacune d’elles.
Filtre — Filter by Zapier
Section intitulée « Filtre — Filter by Zapier »Ajoutez un bloc Filter avec la condition suivante :
- Continuer uniquement si
Prévision Objectifest égal àCompromis
Les autres catégories sont stoppées ici — soit la boutique est sur la bonne trajectoire, soit elle a déjà validé son objectif.
Lancement du sous-Zap — analyse d’écart
Section intitulée « Lancement du sous-Zap — analyse d’écart »Pour chaque boutique en Compromis, déclenchez le sous-Zap d’analyse d’écart en lui transmettant les quatre variables attendues :
| Variable | Valeur à transmettre |
|---|---|
start_date | Début du mois en cours (étape Calcul des dates) |
end_date | Hier (étape Calcul des dates) |
shop_id | Nom ou identifiant de la boutique (boucle en cours) |
slack_ts | TS du message Slack envoyé à l’étape précédente |
Résultat attendu
Section intitulée « Résultat attendu »À chaque exécution, votre équipe reçoit dans Slack un état des lieux de l’avancement des objectifs du mois en cours. Les boutiques dont la trajectoire est compromise reçoivent automatiquement une analyse d’écart en thread — assez tôt dans le mois pour pouvoir corriger le tir.