SLA informatiques : calculateur Excel – concevoir, mesurer et piloter sans zones grises
Recommandés
Un service numérique n’existe que par la confiance que lui accordent ses utilisateurs : disponibilité, rapidité, rétablissement après incident. Un bon SLA (Service Level Agreement) dit ce qui est promis, comment c’est mesuré et ce qui se passe si l’engagement n’est pas tenu. Voici une méthode opérationnelle, prête à appliquer, pour passer d’un SLA “théorique” à un dispositif mesuré chaque mois, exploitable en comité.
1) À quoi sert vraiment un SLA (et ce qu’il n’est pas)
- Un engagement de service : p.ex. “99,9 % de disponibilité mensuelle, 24/7”.
- Une règle de calcul : périmètre des minutes comptées, fenêtres de maintenance, exemptions.
- Un levier de pilotage : KPIs, pénalités/bonus, plans d’action.
👉 Ce n’est pas un catalogue marketing ni un contrat unique : le SLA s’appuie sur le contrat, les SOP (procédures) et un journal d’incidents.
2) Les briques d’un SLA solide
- Périmètre du service : nom exact, composants inclus, dépendances critiques.
- Niveaux (T1…T4) : T1 = critique, T4 = support.
- Plage horaire : 24/7 ou heures ouvrées (p.ex. 9h–19h, lun–ven).
- Fenêtres de maintenance : x minutes/mois déduites si annoncées/validées.
- Cibles : disponibilité (%), temps de rétablissement (MTTR), latence/temps de réponse si pertinent.
- Mesure : source des données, règles d’horodatage, détection des doublons.
- Rémunération : pénalités/bonus ($/min) et cap (plafond mensuel), modalités d’escalade.
- Exclusions : cas de force majeure, changements demandés par le client, etc.
- Gouvernance : rôles RACI, rituels de revue, processus CAPA (correctives & préventives).
3) Comment mesurer correctement (formules éprouvées)
3.1 Dénominateur : minutes totales du mois
- 24/7 :
minutes_totales = nb_jours * 24 * 60.
Exemple (31 jours) → 31×1440 = 44 640 min. - Heures ouvrées :
minutes_totales = jours_ouvrés * heures_ouvrées_par_jour * 60.
Exemple (22 jours ouvrés, 10 h/jour) → 22×600 = 13 200 min.
3.2 Numérateur : indisponibilité nette
indispo_nette = (somme des durées d’incident)
– (minutes “exonérées”)
– min( minutes de maintenance, plafond mensuel autorisé )
- Exonération : incidents explicitement exclus (ex. demande client).
- Maintenance : seule la partie annoncée et validée est déductible, plafonnée par service.
3.3 Disponibilité et tolérance
disponibilité = 1 – (indispo_nette / minutes_totales)
downtime_toléré = minutes_totales × (1 – cible)
surplus_downtime = max(0, indispo_nette – downtime_toléré)
3.4 Pénalités et KPIs complémentaires
- Pénalité estimée ($) :
- simple :
indispo_nette × tarif_$par_min - ou stricte au SLA :
surplus_downtime × tarif_$par_min(recommandé).
- simple :
- Incidents (#) : nombre d’événements dans le mois.
- MTTR (min) : moyenne des durées d’incident.
- MTBF (min) : minutes_totales / incidents.
- Taux de conformité : % de services OK (≥ cible).
- Maintenance utilisée / crédit restant : suivi du plafond.
4) Exemple chiffré (mensuel)
- Service T1, 24/7, cible 99,9 %, tarif 15 $/min.
- Mois de 31 jours → 44 640 min.
- Incidents du mois (hors fenêtres validées) : 70 min d’indispo nette.
- Disponibilité : 1 − (70 / 44 640) = 99,843 %.
- Tolérance vs 99,9 % : 44 640 × (1 − 0,999) = 44,64 min.
- Surplus : max(0, 70 − 44,64) = 25,36 min.
- Pénalité (sur surplus) : 25,36 × 15 $ ≈ 380,40 $.
- MTTR si 3 incidents de 20/25/25 min → moyenne 23,3 min.
- MTBF : 44 640 / 3 ≈ 14 880 min (≈10,3 jours).
5) Collecte des données : éviter les écueils de base
- Journal d’incidents complet : ticket, service, début/fin, durée auto, catégorie (panne/dégradation/maintenance), priorité, description.
- Saisie date/heure assistée (validation) pour éviter les
#VALEUR!. - Nommage service strict (identique au catalogue) pour que les correspondances fonctionnent.
- Déduplication : un incident ne doit pas être compté deux fois si plusieurs composants tombent pour la même cause.
- Maintenance : tracer ce qui est déduit et le plafond consommé.
6) Gouvernance pratique (RACI & rituels)
- Responsable (R) : équipe Ops/Run — calcule et publie les indicateurs.
- Accountable (A) : propriétaire du service — valide les exemptions/maintenance.
- Consulted (C) : sécurité, produit, partenaires.
- Informed (I) : direction, métiers.
Rituels
- Hebdo : revue des incidents majeurs, CAPA, points de frictions.
- Mensuel : calcul SLA, écarts, pénalités/bonus proposés, décisions.
- Trimestriel : calibration des cibles, des tarifs $/min, et des horaires (24/7 vs ouvré).
7) Anti-patterns (et remèdes rapides)
- Dénominateur incohérent : mesurer en 24/7 un service déclaré “heures ouvrées”. → Aligner le calcul sur la plage contractuelle.
- Exclusions floues : “maintenance à discrétion”. → Plafond mensuel, notification, horodatage.
- Incidents imbriqués : addition des durées au lieu de la durée réelle vécue. → Ligne du temps consolidée.
- Tableau “tout à 0” : correspondances qui échouent (noms différents, fonctions non supportées). → Utiliser INDEX/MATCH, verrouiller la taxonomie des services.
- Se focaliser sur la pénalité au lieu des CAPA. → Un plan d’action vaut plus que 100 $ de malus.
8) Mise en œuvre en 10 étapes
- Cartographier les services et leur criticité (T1…T4).
- Choisir plage horaire (24/7 ou ouvré) et fenêtre de maintenance par service.
- Fixer les cibles (≥99,9 % pour T1 en 24/7 en général).
- Définir le tarif $/min et le cap mensuel.
- Mettre en place le journal d’incidents (saisie guidée, catégories).
- Écrire les règles de calcul (formules, arrondis, priorités).
- Construire le tableau mensuel (dispo, écarts, surplus, pénalités, MTTR, MTBF, conformité).
- Industrialiser la revue mensuelle (OK/NOK, CAPA, décisions).
- Versionner les SOP et le SLA (traces des révisions).
- Former en continu (10 min/mois) et auditer une fois par trimestre.
9) Annexe A — Formules prêtes à transposer (Excel/Sheets)
- Minutes totales 24/7 :
= (End - Start + 1) * 24 * 60 - Minutes totales ouvrées :
= NETWORKDAYS(Start, End) * (heures_ouvrées * 60) - Durée incident (min) :
=MAX(0, (fin − début) * 1440) - Indispo nette :
= Σ(durées) − Σ(exonéré) − MIN(Σ(maintenance), plafond_mensuel) - Disponibilité :
= 1 − (indispo_nette / minutes_totales) - Tolérance :
= minutes_totales × (1 − cible) - Surplus :
= MAX(0, indispo_nette − tolérance) - Pénalité (sur surplus) :
= surplus × $/min - MTTR :
= AVERAGE(durées_incidents) - MTBF :
= minutes_totales / nb_incidents - Taux de conformité :
= COUNTIF(Statut, "OK") / COUNT(services)
10) Annexe B — Lecture d’un tableau mensuel
- Colonnes d’entrée : Service, Tier, Horaire, $/min, Fenêtre maintenance, Incidents (début/fin/catégorie).
- Colonnes de calcul : Minutes totales, Indispo nette, Disponibilité, Cible, Écart, Statut, Tolérance, Surplus, Pénalité, Incidents#, MTTR, MTBF, Maintenance utilisée, Crédit restant.
- Bloc synthèse : Disponibilité moyenne pondérée, Conformité, Indispo totale, Pénalité totale, Top service en risque, Top 3 incidents.
Excel “Calculateur SLA Informatique
Un SLA utile tient en trois choses : des promesses claires, des règles de calcul non ambiguës, et un pilotage régulier orienté amélioration.
1) Architecture (onglets)
- Paramètres – cadre global du mois analysé, heures ouvrées, devise et cibles par Tier.
- Catalogue_Services – liste des services (criticit é, horaire, pénalité $/min, fenêtre de maintenance).
- Suivi_Incidents – journal des indisponibilités (dates/heure début–fin, durée auto, catégorie, priorité).
- SLA_Calcul – calculs par service (minutes du mois, indispo nette, dispo %, écart vs cible, statut, pénalité, KPIs).
- Dashboard – synthèse des KPIs mensuels (dispo moyenne pondérée, conformité, pénalité totale, top risques/incidents).
2) Paramètres (pilotage global)
- B3 = StartMonth, B4 = EndMonth : dates de début/fin du mois (prérempli à 2025-10-01 → 2025-10-31).
- B5 = BizHoursPerDay : heures ouvrées par jour (10 par défaut).
- B6 = IncludeWeekends : Oui/Non (week-ends inclus pour les horaires “Bureau” si Oui).
- B7 = Devise : CAD (affichage des montants).
- D3:E… : table Tier → Cible de disponibilité (T1=0,9995; T2=0,999; T3=0,995; T4=0,990).
- Noms de plages utilisés dans les formules : StartMonth, EndMonth, BizHoursPerDay, IncludeWeekends, Devise, TierTable, TierList.
Effet : tout changement ici recalcule automatiquement les minutes du mois, les cibles, et donc disponibilités/écarts/pénalités.
3) Catalogue_Services (vos données “maître”)
Colonnes :
- Service (A) – libellé exact (sert de clé).
- Tier (B) – liste (T1–T4).
- Owner (C) – équipe responsable.
- Criticité (D) – Faible/Moyenne/Haute.
- Horaire (E) – 24/7 ou Bureau.
- Pénalité $/min (F) – tarif par minute d’indispo.
- Fenêtre maintenance (min/mois) (G) – crédit déductible maximum / mois.
- Commentaires (H).
Sécurisation : listes déroulantes sur Tier / Criticité / Horaire.
Plage nommée “Services” (col. A) pour alimenter les listes de l’onglet Suivi_Incidents.
4) Suivi_Incidents (journal)
Colonnes :
- Ticket (A), Service (B — liste sur Services), Date début (C), Date fin (D).
- Durée (min) (E) – calcul automatique = max(0 ; (fin − début)×1440).
- Exonéré (Oui/Non) (F) – indique si l’incident ne doit pas compter.
- À déduire (min) (G) – = Durée si Exonéré=Oui, sinon 0.
- Catégorie (H – Panne/Dégradation/Maintenance), Priorité (I – P1…P4), Description (J).
Contrôles : validation Date sur C/D, listes déroulantes sur B/F/H/I.
Exemples d’incidents sont préremplis pour montrer le fonctionnement.
5) SLA_Calcul (calcul par service)
Colonnes clés (A → S) :
- A Service – retapé à l’identique du catalogue (ou copié).
- B Tier / C Horaire / D Pénalité $/min – récupérés automatiquement du Catalogue (compatibilité maximale via INDEX/MATCH).
- E Minutes total mois –
- si 24/7 :
(EndMonth − StartMonth + 1) × 24 × 60 - si Bureau :
jours_ouvrés × BizHoursPerDay × 60
(utiliseNETWORKDAYS.INTL, et bascule surNETWORKDAYSsi nécessaire ; inclut les week-ends si IncludeWeekends= »Oui »).
- si 24/7 :
- F Minutes indispo (net) – somme des durées du mois – minutes Exonéré – min(maintenance consommée ; plafond G).
- G Disponibilité % –
1 − F/E(protégée contre division par 0). - H Cible % – lookup depuis la table Paramètres (Tier → Cible).
- I Écart (pp) –
G − H. - J Statut – OK si
G ≥ H, sinon NOK. - K Pénalité estimée $ – par défaut
F × $/min(peut être adapté au surplus). - L Downtime toléré (min) –
E × (1 − H). - M Surplus downtime (min) –
MAX(0 ; F − L). - N Bonus/Malus $ – par défaut
M × $/min(malus). - O Incidents (#) – nombre d’événements du mois.
- P MTTR (min) – moyenne des durées.
- Q MTBF (min) –
E / O. - R Maintenance utilisée (min) – incidents catégorisés “Maintenance” dans le mois.
- S Crédit maintenance restant (min) –
MAX(0 ; plafond − R).
Ligne “TOTAL / MOYENNE” en bas : somme des minutes/pénalités, moyenne des % (dispo/cible), agrégats d’O-S.
Compatibilité Excel : pas de XLOOKUP ; les correspondances utilisent INDEX/MATCH pour fonctionner sur 2016/2019/365. Le classeur est réglé pour recalcul complet à l’ouverture.




6) Dashboard (lecture en 10 s)
- Mois analysé (texte YYYY-MM-DD → YYYY-MM-DD).
- Disponibilité moyenne pondérée (pondérée par les minutes totales E).
- Taux de conformité : % de services OK.
- Indisponibilité totale (min), Pénalité totale, Incidents (total), MTTR moyen.
- Maintenance utilisée et Crédit restant.
- Top service en risque (surplus max) et Top 3 incidents (durées, tickets, services).
7) Flux de calcul (dépendances)
Paramètres → influence SLA_Calcul (E, H, L) et Dashboard.
Catalogue_Services → alimente SLA_Calcul (B/C/D, plafond maintenance).
Suivi_Incidents → alimente SLA_Calcul (F, O-R) → Dashboard.
8) Mode d’emploi rapide
- Renseignez ou ajustez le mois et les cibles (onglet Paramètres).
- Complétez le Catalogue_Services (pénalité $/min, plafond maintenance, horaire).
- Saisissez vos incidents (début/fin ; la durée se calcule) et cochez Exonéré si applicable.
- Lisez SLA_Calcul (OK/NOK, surplus, pénalité) puis Dashboard (synthèse).
Pour ajouter un service au tableau SLA_Calcul :
– créez-le d’abord dans Catalogue_Services,
– copiez une ligne existante de SLA_Calcul (A…S) sous la dernière,
– remplacez la cellule A par le nom exact du service (les formules se mettront à jour).
9) Dépannage (si vous voyez des zéros)
- Calcul automatique d’Excel désactivé → activez Formules → Options de calcul → Automatique.
- Libellés différents entre SLA_Calcul (A) et Catalogue_Services (A) → corriger le nom (tiret long “—”, espaces).
- Version d’Excel sans
NETWORKDAYS.INTL→ le fichier passe automatiquement surNETWORKDAYS. - Dates tapées en texte dans Suivi_Incidents → saisie guidée (validation Date) ou re-sélectionner un vrai format Date.
10) Options d’évolution (si vous le souhaitez)
- Mise en forme conditionnelle étendue (heatmap sur l’écart I).
- Graphiques Dispo vs Cible par service.
- Pénalité sur “surplus uniquement” (N = M×$/min) + cap mensuel/contrat.
- Heures ouvrées strictes : compter uniquement la partie de chaque incident tombant 9h–19h, lun–ven.







