Ce que vous saurez faire
- Construire dashboard commercial avec 10 KPI
- Modèle DAX sous Power BI
- Funnel conversion visible
- Forecast à 30/60/90 jours
Étape 1 — KPI pilotage commercial
Pipeline haut:
- Leads qualifiés MQL
- Taux conv MQL → SQL
- Temps moyen qualification
Pipeline bas:
- Nb opps ouvertes par étape
- Montant pondéré du pipe
- Win rate
- Ticket moyen par segment
Exécution:
- CA signé vs objectif mois
- DSO (délai encaissement)
- Activité (appels, RDV, démos)
Étape 2 — Modèle de données
CREATE TABLE commerciaux (id INT PK, nom TEXT, objectif_mensuel NUMERIC, territoire TEXT);
CREATE TABLE comptes (id INT PK, raison_sociale TEXT, secteur TEXT, commercial_id INT FK);
CREATE TABLE opportunites (
id INT PK, compte_id INT FK, commercial_id INT FK,
montant NUMERIC, proba INT, etape TEXT, date_close_prev DATE, statut TEXT
);
CREATE TABLE activites (
id INT PK, opp_id INT FK, type TEXT, date_act DATE, duree_min INT, resultat TEXT
);
Étape 3 — KPI CA signé DAX
CA Signe = CALCULATE(SUM(Opportunites[montant]), Opportunites[statut] = "gagne")
Objectif Mois = SUMX(Commerciaux, Commerciaux[objectif_mensuel]) *
[Nb Jours Ouvres Ecoules] / [Nb Jours Ouvres Mois]
Atteinte % = DIVIDE([CA Signe], [Objectif Mois])
Flag = SWITCH(TRUE(),
[Atteinte %] >= 1, "objectif atteint",
[Atteinte %] >= 0.8, "en ligne",
"en retard"
)
Étape 4 — Pipe pondéré
Pipe Brut = CALCULATE(SUM(Opportunites[montant]),
Opportunites[statut] = "ouverte")
Pipe Pondere = SUMX(
FILTER(Opportunites, Opportunites[statut] = "ouverte"),
Opportunites[montant] * Opportunites[proba] / 100
)
Coverage = DIVIDE([Pipe Pondere], [Objectif Trim] - [CA Signe])
// coverage > 3 = sain; < 2 = risque
Étape 5 — Funnel conversion
SELECT etape,
COUNT(*) AS nb,
LAG(COUNT(*)) OVER (ORDER BY rang_etape) AS prev,
ROUND(100.0 * COUNT(*) / NULLIF(LAG(COUNT(*)) OVER (ORDER BY rang_etape), 0), 1) AS conv_pct
FROM (
SELECT CASE etape
WHEN 'Lead' THEN 1 WHEN 'MQL' THEN 2
WHEN 'SQL' THEN 3 WHEN 'Demo' THEN 4
WHEN 'Négociation' THEN 5 WHEN 'Gagné' THEN 6 END AS rang_etape,
etape
FROM opportunites
WHERE date_close_prev BETWEEN '2026-01-01' AND '2026-03-31'
) t
GROUP BY etape, rang_etape
ORDER BY rang_etape;
Étape 6 — Vélocité commerciale
Vélocité = (Nb Opp Ouvertes × Win Rate × Ticket Moyen) / Cycle Vente (jours)
Exemple Q1 2026:
42 opps × 0.28 × 450k / 54 jours = 98k FCFA/jour
62 jours ouvrés: ~6 080 000 FCFA attendu
Étape 7 — Layout dashboard
Ligne 1 KPI cards:
CA Mois | Atteinte % | Pipe Pondéré | Coverage | Win Rate 30j
Ligne 2:
Funnel par étape (barres empilées)
Top 10 comptes ouverts (table)
Ligne 3:
CA par commercial vs objectif
Évolution CA 12 derniers mois
Ligne 4:
Table opportunités (filtrable commercial/secteur/étape)
Étape 8 — Forecast 30j
Forecast 30j =
VAR FenetreDebut = TODAY()
VAR FenetreFin = TODAY() + 30
RETURN SUMX(
FILTER(Opportunites,
Opportunites[statut] = "ouverte" &&
Opportunites[date_close_prev] >= FenetreDebut &&
Opportunites[date_close_prev] <= FenetreFin),
Opportunites[montant] * Opportunites[proba] / 100)
Étape 9 — Alertes auto
python pilotage_alerte.py
# Si CA_signe < 0.5 * objectif à mi-mois:
# slack.send("#commercial", f"Alerte: {ca_signe} < 50% objectif")
Étape 10 — Ritualisation
Lundi 9h commercial (30 min):
- KPIs vendredi
- Top 3 deals à pousser
- Top 3 risques à résoudre
Vendredi 17h directeur (45 min):
- Atteinte mois
- Coverage mois suivant
- Actions correctives
Checklist
✓ Modèle star schema
✓ 10 KPI prioritaires
✓ Funnel visible
✓ Forecast 30j automatique
✓ Alertes Slack à mi-mois
✓ Ritualisation hebdo
✓ Drill-down commercial/compte
Besoin d'un site web ?
Confiez-nous la Création de Votre Site Web
Site vitrine, e-commerce ou application web — nous transformons votre vision en réalité digitale. Accompagnement personnalisé de A à Z.
À partir de 250.000 FCFA
Parlons de Votre Projet
Publicité