Aller au contenu

Obj - Estimer l'atteignabilité des objectifs en début 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 envoie dans Slack une estimation de l’atteignabilité des objectifs CA pour chaque boutique.

La prévision combine deux signaux :

  • La saisonnalité : le CA réalisé sur le même mois l’année précédente (N-1)
  • La dynamique récente : le taux de croissance des 3 derniers mois vs N-1
CA Prévisionnel = CA N-1 (mois) × (1 + Croissance 3 derniers mois)

L’écart entre le CA prévisionnel et l’objectif détermine une catégorie d’atteignabilité, de Compromis à Garanti.


Schedule → Calcul des dates → Requête prévisions → Formatage → Slack

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 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 de type tableau par boutique avec les trois 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étriqueDescription
CA HT mois complet N-1Base de référence saisonnalité
CA HT (3 derniers mois) vs N-1Signal de croissance récente
Objectif CA HT mois en coursCible à évaluer

Une fois la requête en place, ajoutez les trois colonnes calculées suivantes directement dans le NexusQL :

-- CA Prévisionnel : saisonnalité N-1 ajustée par la croissance récente
ROUND(
`CA HT (A-1) Mois` * (1 + `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 `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` < 5 THEN 'Attendu'
WHEN `Delta Pourcent Prévisionnel CA HT` < 15 THEN 'Confortable'
ELSE 'Garanti'
END AS `Prévision Objectif`

Les catégories produites et leur signification :

CatégorieÉcart prévision / objectifEmoji
Garanti> +15 %🔵
Confortable+5 % à +15 %🟢
Attendu-5 % à +5 %🟡
Ambitieux-15 % à -5 %🟠
Compromis< -15 %🔴

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 : Formater des données boutiques pour un message Slack de suivi des objectifs mensuels.
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_predicted : CA prévu (liste séparée par des virgules)
Demande :
1. Regrouper les boutiques par catégorie dans cet ordre, avec l'emoji associé :
🔵 Garanti | 🟢 Confortable | 🟡 Attendu | 🟠 Ambitieux | 🔴 Compromis
Les boutiques à catégorie inconnue vont dans un groupe ⚪ "Non catégorisé"
affiché en dernier.
2. Pour chaque boutique, afficher :
• *Nom boutique* : _Cible_ 12 345,00€ | _Prévu_ 11 200,00€
(séparateur de milliers, 2 décimales)
3. Générer un message Slack slack_message_formatted avec :
- Titre en gras : *Prévisions Objectifs {Mois en français} {Année}*
- Sous-titre en italique : "Le CA Prévu est calculé à partir de la performance
de l'année précédente (A-1) ajustée par la croissance des 3 derniers mois."
- Les groupes de boutiques (catégories vides non affichées)
4. Retourner le résultat dans output avec la clé slack_message_formatted.

Ajoutez un bloc Slack et configurez :

  • Channel : le canal où envoyer les prévisions
  • Message Text : la variable slack_message_formatted produite par le bloc de formatage

Le 1er de chaque mois à 9h, votre équipe reçoit dans Slack un message structuré classant chaque boutique de Compromis à Garanti selon l’atteignabilité estimée de son objectif mensuel — pour orienter les priorités dès le début du mois.