méthodologie · transparence

Comment on calcule le score, et sur quelles sources.

WattMind transforme le réseau électrique français en un chiffre exploitable : l'intensité carbone (gCO₂eq/kWh) et un score composite 0-100. Cette page explique la méthode, sans boîte noire — pour que vous, et vos propres clients ou auditeurs, puissiez lui faire confiance.

13 APIs RTE · ADEME Base Carbone® · Ember — sources publiques et officielles

vue-d-ensemble

Un chiffre, quatre questions.

À chaque instant, WattMind interroge en parallèle les données publiques du gestionnaire du réseau français (RTE), les combine, et en dérive un score de 0 à 100. Plus le score est haut, plus le moment est favorable pour consommer de l'électricité — pour le portefeuille comme pour le climat.

1

Collecte des données réseau

13 APIs RTE interrogées en parallèle : mix de production, prix de gros, signaux Ecowatt et Tempo, flux aux frontières, marges, indisponibilités…

2

Quatre sous-scores indépendants

Chaque dimension — prix, carbone, réseau, adéquation — est notée séparément de 0 à 100. Chacune répond à une question concrète.

3

Moyenne pondérée → score global

Les 4 sous-scores sont combinés selon une pondération (par défaut 30 / 30 / 20 / 20), que vous pouvez adapter à votre métier (§ Profils).

4

Score, niveau, recommandation & fiabilité

La réponse contient le score 0-100, un niveau lisible, une recommandation textuelle et un indice de fiabilité (§ Fiabilité).

Le score global se lit en trois niveaux :

Optimal — score ≥ 70 · créneau favorable Acceptable — 40 à 69 · conditions correctes Défavorable — < 40 · à reporter si possible

les-4-dimensions

Quatre dimensions, quatre questions métier.

Chaque sous-score isole une question que se pose un décideur. Les barèmes précis sont calibrés sur le marché français ; on détaille ici la logique et les sources — dépliez « le détail du calcul » pour aller plus loin.

Prixprice 30 %

« Combien coûte l'électricité en ce moment ? »

Source : prix spot EPEX (la bourse de l'électricité), signaux Tempo & pointe (RTE)

Plus l'électricité est chère sur le marché de gros, plus la note baisse. Le score tient compte des heures creuses, de la couleur Tempo du jour et des périodes de pointe signalées par RTE.

Voir le détail du calcul
Prix spot EPEX → note de base (interpolation linéaire par segments)
Prix (€/MWh)Note
≤ 0 (négatif)100
0 → 20100 → 85
20 → 5085 → 65
50 → 10065 → 40
100 → 20040 → 15
200 → 50015 → 0
> 5000
Ajustements appliqués ensuite sur la note de base
ConditionΔ note
Tempo bleu+10
Tempo blanc0
Tempo rouge−20
Heures creuses (22h–6h, dimanche, jour férié)+10
Période de pointe PP1/PP2 active−15

Le résultat est borné à [0, 100]. Si le prix spot est indisponible, la note de base vaut 70 en heures creuses et 40 en heures pleines, puis les ajustements Tempo s'appliquent normalement.

Carbonecarbon 30 %

« L'électricité est-elle bas-carbone ? »

Source : mix de production réel (RTE), intensité carbone des imports (Ember)

La note reflète la part d'électricité bas-carbone effectivement produite (nucléaire, hydraulique, éolien, solaire, biomasse), corrigée de l'électricité importée des pays voisins.

Voir le détail du calcul
  • Part domestique bas-carbone = production décarbonée / production totale. Filières comptées bas-carbone : nucléaire, éolien (terrestre & en mer), solaire, hydraulique (toutes formes, pompage compris), biomasse. Tout le reste (gaz, fioul, charbon, déchets, autres) compte pour 0.
  • Quand la France importe, le score devient une moyenne pondérée par les volumes : part domestique × f + score des imports × (1−f), où f = production domestique / (production + imports nets).
Propreté d'un pays exportateur : facteur = 1 − intensité / 900, borné à [0, 1]
Pays (intensité Ember ≈ 2025)Facteur
Suisse — 39 g0,96
France — 41 g0,95
Belgique — 150 g0,83
Espagne — 154 g0,83
Royaume-Uni — 217 g0,76
Italie — 285 g0,68
Allemagne — 330 g0,63
Pays non catalogué — 400 g0,56
Malus d'indisponibilité nucléaire (multiplicatif)
Part du parc nucléaire indisponibleMultiplicateur
> 50 %× 0,80
> 30 %× 0,90
≤ 30 %× 1,00

Le dénominateur 900 g est une convention de normalisation, pas une mesure : il correspond à l'ordre de grandeur d'un réseau très fossile (charbon dominant). Il rend le facteur homogène à une part bas-carbone, ce qui permet de moyenner domestique et imports sur la même échelle.

À ne pas confondre avec les facteurs d'émission en gCO₂eq/kWh exposés par /v1/carbon/intensity, qui s'appuient sur les facteurs ADEME Base Carbone® : estimatedGCo2PerKwh n'intègre pas les imports, estimatedGCo2PerKwhConsumption les intègre (§ Sources). Ce sous-score n'est aucun des deux — c'est un score 0-100, pas une intensité.

Réseaugrid 20 %

« Le réseau est-il fiable maintenant ? »

Source : Ecowatt, marge offre/demande, équilibrage (RTE)

Un réseau sous tension augmente le risque de coupure et incite à ne pas consommer davantage. Cette dimension combine trois signaux temps réel.

Voir le détail du calcul

Trois composantes, pondérées ainsi :

Ecowatt (météo du réseau)50 %
Marge offre / demande30 %
Stress d'équilibrage20 %
Composante Ecowatt
SignalNote
Vert — situation normale100
Favorable75
Orange — système tendu30
Rouge — système très tendu5
Signal indisponible50
Marge offre/demande : (production + imports nets − consommation − pertes) / consommation
MargeNote
< 0 (déficit)0
0 → 5 %0 → 30
5 % → 15 %30 → 70
≥ 15 %100
Stress d'équilibrage : volume absolu d'écart global sur le créneau
|Écart|Note
> 3 000 MW10
> 1 500 MW40
> 500 MW70
≤ 500 MW100

Si seul Ecowatt est disponible, il fait foi à lui seul (repli automatique).

Adéquationadequacy 20 %

« La situation va-t-elle tenir dans les heures qui viennent ? »

Source : prévisions de production & consommation, capacités d'import (RTE)

À la différence du Réseau (temps réel), cette dimension est prévisionnelle : elle anticipe si l'offre couvrira la demande sur l'horizon proche.

Voir le détail du calcul

Trois composantes prévisionnelles, pondérées ainsi :

Marge de production prévue (H+4)50 %
Marge d'import restante (NTC)30 %
Tendance des indisponibilités (H+24)20 %
Marge de production prévue à H+4 (mêmes seuils que la marge temps réel)
Marge prévisionnelleNote
< 0 (déficit)0
0 → 5 %0 → 30
5 % → 15 %30 → 70
≥ 15 %100
Marge d'import restante : NTC total d'import − imports nets actuels
Marge restanteNote
< 00
0 → 2 000 MW0 → 40
2 000 → 5 000 MW40 → 70
≥ 5 000 MW100
Tendance des indisponibilités sur 24 h : capacité qui revient − capacité qui part
SoldeNote
< −2 000 MW (capacité majoritairement partante)20
−2 000 → 0 MW20 → 50
0 → 2 000 MW50 → 75
≥ 2 000 MW (capacité majoritairement revenante)100

NTC = capacité d'échange encore disponible aux frontières si la France doit importer davantage. Si une composante manque, les poids des autres sont redistribués proportionnellement. Si les trois manquent, le sous-score vaut 50 (neutre).

Une seule formule, verrouillée par un test

Le score global est une moyenne pondérée des 4 sous-scores, sans traitement caché : tous les ajustements (bonus, malus, seuils) sont déjà intégrés dans chaque sous-score. Cette formule unique sert à la fois au calcul temps réel et à la reconstruction de l'historique — garantissant qu'un point d'historique est identique au chiffre servi ce jour-là (§ Sources & audit).

prévision · 1 à 48 h

Comment la prévision est construite.

/v1/score/forecast applique exactement le même calcul que le score temps réel, heure par heure, sur des données projetées. Ce qui change d'une heure à l'autre, c'est la qualité de ces projections — et elle n'est pas uniforme sur l'horizon. Voici précisément ce qui est prévu, ce qui est reporté, et où la prévision perd en finesse.

Traitement de chaque famille de données sur l'horizon
DonnéeTraitement
Éolien, solairePrévisions RTE réelles
Nucléaire, hydraulique, gazReport de la dernière valeur réalisée
Prix spot EPEXRéel jusqu'à la fin de J+1, puis repli HC/HP
ConsommationPrévisions RTE court terme
EcowattSignal J à J+3, au plus proche de l'heure visée
TempoCalendrier du jour visé
Flux, NTC, équilibrage, indisposFigés à leur valeur du moment du calcul

Le report des filières pilotables

RTE publie des prévisions pour les filières fatales (éolien, solaire) mais pas pour les filières pilotables. Pour celles-ci, WattMind reporte la dernière production réalisée sur tout l'horizon. L'hypothèse — nucléaire et hydraulique ont une forte inertie, leurs rampes sont lentes — est solide à quelques heures, et se fragilise à mesure qu'on s'éloigne. Une prévision à H+48 décrit donc un réseau où seule la part renouvelable a bougé.

La fin de couverture du marché day-ahead

Le prix spot EPEX est un marché day-ahead : il n'existe pas au-delà de la fin de la journée J+1. Passé cette borne — soit entre H+24 et H+48 selon l'heure d'appel — la dimension Prix bascule sur son repli heures creuses / heures pleines (note de base 70 ou 40) au lieu d'un prix réel. Ce n'est pas silencieux : l'indice de fiabilité de ces heures perd les 30 points du prix spot, et chaque heure de la réponse porte son propre indice. Filtrez dessus si votre décision dépend du prix.

Chaque heure porte aussi ses grandeurs physiques

La réponse ne contient pas que des scores. Chaque créneau porte son spotPriceEurPerMWh et son carbonIntensityGco2Kwh — de quoi annoncer un coût ou un CO₂ prévisionnel sans avoir à les déduire d'un score.

L'intensité prévisionnelle est calculée sur le mix projeté de l'heure, par le même code que /v1/carbon/intensity : mêmes facteurs ADEME, même frontière production. Elle hérite donc des deux limites ci-dessus — à H+48 elle décrit un réseau où seule la part renouvelable a bougé. Ce n'est pas une valeur auditable : l'auditable est l'historique constaté de /v1/score/history.

La prévision ne porte pas la frontière consommation, et c'est un refus assumé, pas un manque. Les flux physiques aux frontières sont récupérés une seule fois à l'instant courant puis propagés inchangés sur tout l'horizon : une intensité consommation prévisionnelle reposerait donc sur une hypothèse d'imports constants pendant deux jours. Ce serait une précision affichée que la prévision n'a pas. Le mix domestique, lui, a de vraies prévisions RTE pour l'éolien et le solaire — c'est ce qui rend l'une défendable là où l'autre ne le serait pas.

Quand le prix vaut null, c'est que le créneau dépasse la couverture day-ahead. Le null est l'information : il distingue une heure tarifée d'une heure estimée sans avoir à interpréter l'indice de fiabilité.

Les signaux figés (flux transfrontaliers, capacités d'échange, écarts d'équilibrage, indisponibilités) sont lus une fois au moment du calcul et appliqués à toutes les heures. Ils font peu varier le score d'une heure à l'autre : leur rôle est de situer le niveau général de tension de la période, pas de discriminer deux créneaux voisins.

fiabilité · confidence

Un score fiable, ou un signal clair qu'il ne l'est pas.

Toutes les sources RTE ne répondent pas systématiquement (timeout, maintenance…). Plutôt que de servir un chiffre trompeur, WattMind accompagne chaque score d'un indice de fiabilité de 0 à 100 et d'un statut explicite. Vous filtrez dans votre code avant de déclencher une action coûteuse (un effacement, une recharge de flotte).

Comment l'indice est calculé

Chaque source dispose d'un poids de fiabilité ; l'indice est la somme des poids des sources effectivement disponibles au moment du calcul. Le prix spot et le mix de production réel sont les deux sources structurantes : si les deux manquent, le score perd son sens physique et l'indice est plafonné à 30, quel que soit le reste.

Voir les poids de fiabilité par source
Poids de fiabilité (total = 100)
SourcePoids
Prix spot EPEX30
Ecowatt25
Mix de production réel25
Flux transfrontaliers5
Consommation court terme5
Capacités d'échange (NTC)5
Indisponibilités de production5

Ces poids sont fixes : ils ne suivent pas la pondération métier que vous appliquez au score. Sur un profil qui met le prix à 0 (ev-charging), l'indice continue donc de compter 30 points pour une source qui ne contribue pas à votre score. C'est une limite connue, décrite en Limites.

L'indice se traduit en trois statuts, exploitables directement côté intégration :

ok Sources fraîches et synchrones — score à utiliser tel quel. 200 OK
degraded Données partielles — l'en-tête X-WattMind-Confidence: degraded vous alerte ; décidez selon votre tolérance. 200 + en-tête
insufficient Pas assez de fraîcheur pour décider — votre code reçoit un 503 explicite, pas un faux zéro. HTTP 503

profils métier · 7 presets

Le même score, pondéré selon votre métier.

Un opérateur de recharge VE et une PME qui optimise sa facture ne priorisent pas les mêmes dimensions. Passez un simple paramètre ?profile= et le score se recalcule selon vos priorités — sans rien recoder. Cliquez un profil pour voir sa pondération :

prix
30 %
carbone
30 %
réseau
20 %
adéquation
20 %
GET /v1/score?profile=balanced — Usage général

Besoin d'un réglage sur mesure ? Passez vos propres poids : ?wPrice=0.2&wCarbon=0.5&wGrid=0.15&wAdequacy=0.15 — la somme doit valoir 1.0. La réponse indique toujours le profil réellement appliqué.

sources & auditabilité

Des sources officielles, un historique auditable.

Aucune donnée propriétaire opaque : WattMind s'appuie uniquement sur des sources publiques, officielles et traçables. C'est ce qui rend le score défendable dans un reporting CSRD scope 2 ou face à un auditeur.

RTE

13 APIs officielles

Le gestionnaire du réseau de transport français : Ecowatt, Tempo, mix de production, marché de gros, flux aux frontières, marges, indisponibilités, prévisions…

ADEME Base Carbone®

licence Etalab 2.0

Les facteurs d'émission de référence (gCO₂eq/kWh) par filière, synchronisés automatiquement. La réponse expose leur source, licence et date de version pour l'audit.

Ember

licence CC-BY 4.0

L'intensité carbone réelle des mix électriques étrangers, utilisée pour pondérer l'électricité importée. Synchronisée automatiquement.

Où se situe cette donnée dans les référentiels ?

Le GHG Protocol définit deux méthodes de comptabilisation du scope 2, et demande de publier les deux. Elles n'utilisent pas les mêmes données — et une seule des deux peut venir d'un fournisseur extérieur.

Location-based Market-based
Repose sur L'intensité carbone du réseau Vos instruments contractuels
Données d'entrée Mix électrique constaté Garanties d'origine, PPA, contrats verts — à défaut, mix résiduel
Qui les détient WattMind Vous, et vous seuls

Ce que WattMind fournit, et ce qu'il ne fournit pas

WattMind produit une intensité carbone location-based à résolution horaire, calculée sur le mix de production national. C'est exactement la granularité qui manque à un facteur annuel moyen — et c'est la brique de base d'un matching 24/7 CFE (Carbon-Free Energy), le cadre horaire qui vérifie que la consommation d'une heure est couverte par du décarboné de cette même heure.

WattMind ne produit pas de facteur market-based, et ne le pourra jamais : il dépend de contrats d'achat que vous êtes seuls à détenir. Un fournisseur de données réseau ne peut pas le calculer à votre place. Nous apportons l'axe temporel ; vous apportez l'axe contractuel.

Quel périmètre couvre exactement le chiffre ?

Une intensité carbone n'a de sens qu'accompagnée de sa frontière : ce qu'elle compte, et ce qu'elle ne compte pas. Voici la nôtre, sans arrondi.

Depuis août 2026, /v1/carbon/intensity sert deux chiffres côte à côte, pour le même créneau horaire et sur les mêmes données. Ils ne se corrigent pas l'un l'autre : ils comptent deux choses différentes, et l'écart entre les deux est lui-même une mesure.

Ce que chaque frontière compte, et ce qu'elle ne compte pas
ÉlémentestimatedGCo2PerKwh
frontière production
…Consumption
frontière consommation
Production nationale, par filièreOuiOui
Émissions amont des filières (analyse de cycle de vie)Oui — facteurs ADEME en ACVOui
Électricité importéeNonOui — pondérée par l'intensité du pays d'origine
Électricité exportéeNon déduiteNon déduite
Pertes de transport et de distributionNonNon

Pourquoi deux chiffres plutôt qu'un corrigé

Nous aurions pu remplacer le premier par le second. Nous ne l'avons pas fait, et c'est délibéré : un client ayant intégré la valeur actuelle aurait vu son chiffre changer sous lui, sans rien avoir demandé — et sur une grandeur qui alimente des reportings réglementaires.

Surtout, aucune des deux n'est la version corrigée de l'autre. La frontière production sert à comptabiliser : elle décrit ce que le parc français a émis pour produire, et une frontière de comptabilité doit être stable, vérifiable et reconstructible sur toute la profondeur de la série. La frontière consommation décrit ce qui a physiquement été consommé sur le territoire à cette heure-là, imports compris. Un opérateur qui veut annoncer le CO₂ d'une session de recharge veut la seconde ; un auditeur qui reconstruit une série veut la première.

Le sous-score carbone du score composite, lui, pondère les imports depuis l'origine : il sert à décider maintenant. Cette cohérence entre le sous-score et la nouvelle frontière est désormais explicite, là où elle était auparavant une divergence non dite.

Nous servons aussi l'écart entre les deux (consumptionBoundaryDelta) plutôt que de le laisser calculer. C'est le chiffre qu'un client veut citer, et le laisser dériver inviterait chacun à le recalculer un peu différemment. C'est aussi une grandeur que peu d'acteurs peuvent produire : il faut les deux frontières, à la même heure, sur la même donnée de production.

Pourquoi l'écart avec le facteur annuel de l'ADEME subsiste, même maintenant

L'ADEME publie un facteur annuel pour le mix français d'environ 52 gCO₂eq/kWh. Nos deux valeurs horaires restent en dessous, y compris celle en frontière consommation. Ce n'est toujours pas un écart de méthode — il reste trois différences de périmètre, que voici plutôt que de laisser deviner :

1. Les pertes réseau. Le facteur ADEME est en frontière consommation avec pertes, c'est-à-dire « à la prise ». Le nôtre s'arrête au point d'injection. Les pertes de transport et de distribution représentent de l'ordre de 7 % en France : c'est la principale différence restante. Nous ne l'avons pas intégrée dans le même champ à dessein — mélanger deux changements de frontière dans une seule valeur rendrait l'écart inexplicable. Nous la mesurons avant de décider si elle mérite un troisième chiffre.

2. L'annualisation. Un facteur annuel est une moyenne pondérée sur 8 760 heures, tirée vers le haut par les heures de pointe hivernales. Une valeur horaire d'un après-midi d'été n'a aucune raison de lui ressembler : c'est précisément l'information qu'un facteur annuel efface, et la raison d'être d'une série horaire.

3. Le pompage. Nous comptons les STEP en production hydraulique bas-carbone sans déduire l'énergie de pompage (voir ci-dessous). Effet borné à 1-2 % du mix, dans le sens qui nous avantage — nous le signalons pour cette raison.

Une limite de la frontière consommation, à connaître avant de citer le chiffre

Le terme domestique est horaire : il vient du mix de production réel du créneau. Le terme d'import est pondéré par une intensité annuelle par pays (source : Ember). La granularité n'est donc pas homogène de bout en bout, et nous préférons le dire plutôt que de laisser croire à une intensité horaire complète.

C'est la meilleure donnée publique disponible sur les mix étrangers. Le jour où des intensités horaires par pays le seront, ce terme s'affinera — et ce changement sera marqué dans la donnée, pas appliqué en silence.

Enfin : quand les flux physiques ne sont pas disponibles sur un créneau, la valeur en frontière consommation vaut null. Elle ne retombe jamais sur la valeur en frontière production — deux frontières qui coïncideraient silencieusement seraient indiscernables d'un créneau réellement sans imports, qui est une situation physique normale.

Le cas particulier du pompage (STEP)

Les stations de transfert d'énergie par pompage sont comptées comme une production hydraulique bas-carbone, au facteur ADEME de l'hydraulique. L'électricité consommée pour remonter l'eau n'est pas déduite.

C'est une simplification, et nous la signalons plutôt que de la laisser découvrir : physiquement, une STEP restitue une énergie prélevée quelques heures plus tôt, à l'intensité du réseau de ce moment-là. L'ADEME elle-même considère le pompage comme un usage de l'électricité réseau, pas comme une filière de production. Le pompage représentant de l'ordre de 1 à 2 % du mix français, l'effet sur l'intensité est borné et connu. Le traitement net est en feuille de route.

Un historique reconstructible à l'identique

L'historique national est construit en continu (un point toutes les 10 minutes), indépendamment des appels clients. Parce que le score global est une moyenne pondérée pure des 4 sous-scores archivés, il peut être recalculé pour n'importe quelle pondération, à l'identique du chiffre servi en temps réel — une propriété verrouillée par un test automatisé. Chaque point porte en outre l'empreinte du jeu de facteurs d'émission qui l'a produit : on peut donc établir, des mois plus tard, avec quels facteurs exacts un créneau a été calculé. C'est la base d'une preuve auditable.

limites & honnêteté

Ce que la méthode n'est pas.

  • Des barèmes calibrés, pas des vérités universelles. Les seuils et courbes sont ajustés sur le marché français et resteront révisables à mesure que nous accumulons des données d'usage réelles.
  • Un score national. Le score décrit l'état du réseau électrique français dans son ensemble, pas la situation locale d'un site précis.
  • Un service best-effort. WattMind ne s'engage pas contractuellement sur une disponibilité (pas de SLA) ; l'indice de fiabilité et le 503 explicite sont là précisément pour que votre code décide en connaissance de cause.
  • Un indice de fiabilité indépendant de votre pondération. Les poids de fiabilité par source sont fixes : ils ne se réalignent pas sur le profil métier que vous appliquez. Conséquence concrète : la perte d'une seule source structurante peut laisser le statut à ok alors qu'elle pèse lourd dans votre pondération. Nous savons le corriger ; le faire modifie les valeurs de fiabilité déjà archivées, donc ce n'est pas un changement que nous livrons à la légère.

Voir la méthode à l'œuvre.

Créez une clé Découverte gratuite et appelez le score en une requête — ou explorez la référence complète dans Scalar.