Aller au contenu

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.


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égorieConditionEmoji
ValidéObjectif déjà atteint
GarantiPrévision > +15 %🟣
Confortable+5 % à +15 %🔵
Attendu0 % à +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.


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

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.


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.

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étriqueRôle dans la prévision
CA HT mois en coursRéalisé à date
CA HT N-1 (mois restant)Base saisonnalité pour la portion restante
Croissance CA HT 3 derniers moisSignal de dynamique récente
Objectif CA HT mois completCible à évaluer

Ajoutez ensuite les colonnes calculées suivantes directement dans la requête :

-- CA prévisionnel fin de mois
ROUND(
`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`

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.

Ajoutez un bloc Slack et configurez :

  • Channel : le canal où envoyer le suivi
  • Message Text : la variable slack_message_formatted produite par le bloc de formatage

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.


Ajoutez un bloc Filter avec la condition suivante :

  • Continuer uniquement si Prévision Objectif est é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.


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

VariableValeur à transmettre
start_dateDébut du mois en cours (étape Calcul des dates)
end_dateHier (é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

À 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.