---
title: 'Référence des formules'
description: Chaque métrique, score et seuil utilisé dans l'ensemble des rapports AI Analytics, sur une seule page.
section: AI Analytics
weight: 3
related:
  - ai-analytics/methodology
---

Chaque formule utilisée dans l'ensemble des rapports, rassemblée en un seul endroit. Chaque formule est annotée du rapport auquel elle appartient et du contexte dans lequel elle s'applique. Les expressions mathématiques sont rendues avec KaTeX.

## Scoring composite — logique multiplicative

Combine des signaux indépendants comme s'il s'agissait de probabilités indépendantes. Utilisé par **Metering Bypass** (nœud et flotte).

$$
S_\text{composite} = 100 \cdot \left(1 - \prod_{i=1}^{N}(1 - p_i)\right)
$$

où $p_i \in [0, 1]$ est la probabilité dérivée de la sévérité du $i$-ième motif déclenché :

$$
p_i = \begin{cases}
0.00 & \text{severity}=\text{info} \\
0.10 & \text{severity}=\text{low} \\
0.30 & \text{severity}=\text{medium} \\
0.50 & \text{severity}=\text{high} \\
0.65 & \text{severity}=\text{high\_plus}
\end{cases}
$$

**Exemple.** Deux motifs high+ donnent $S = 100 \cdot (1 - 0.35^2) = 87.75$. Le score ne **peut** délibérément pas atteindre 100 par la seule détection de motifs — la saturation à 100 exige des événements appareil confirmés (plafond de confiance = medium en leur absence).

## Scoring par somme pondérée

**Top Problem Nodes** (cinq mesures) :

$$
S_\text{composite} = \sum_{k \in K} w_k \cdot s_k, \quad K = \{\text{battery}, \text{telem}, \text{quality}, \text{risk}, \text{events}\}
$$

Pondération égale, $w_k = 20\%$ chacune.

**Top Gas Leaks** (quatre sous-scores, pondérations inégales) :

$$
S_\text{leak} = 0.4 \cdot s_\text{quiet} + 0.3 \cdot s_\text{baseline} + 0.2 \cdot s_\text{drip} + 0.1 \cdot s_\text{drift}
$$

## Détecteurs de motifs — Metering Bypass

**Motif 1 — débit nul à une pression par défaut** (sévérité = high+, p = 0.65) :

$$
\text{trigger} = (\bar Q \leq 0.5\,\text{m³/h over a window} \geq 6\,\text{h}) \land (\sigma_P < 0.1\,\text{kPa}) \land (P \in \mathcal{D})
$$

$\mathcal{D} = \{100.0, 101.325, 103.0, 105.0\}_{\pm 0.5} \cup \{0.0\}_{\pm 0.3}$ (kPa). Ce sont les valeurs par défaut canoniques vers lesquelles un calculateur de débit se rabat lorsque le transmetteur de pression est déconnecté ou substitué.

**Motif 2 — débit nul avec une pression bloquée** (sévérité = medium, p = 0.30). Violation de la loi de Gay-Lussac pour un volume de gaz scellé.

$$
\text{trigger} = (\bar Q \leq 0.5\,\text{m³/h}) \land (\Delta T \geq 1\text{°C}) \land (\sigma_P < 0.1\,\text{kPa})
$$

ΔP attendu selon Gay-Lussac (processus isochore) :

$$
\frac{P_1}{T_1} = \frac{P_2}{T_2} \;\Longrightarrow\; \Delta P_\text{expected} = P_\text{abs}^{(1)} \cdot \frac{\Delta T_K}{T_1^{(K)}}
$$

où :

- $P_\text{abs}^{(1)} = P_\text{gauge} + 101.325$ kPa si $P_\text{gauge} < 50$ kPa (capteur relatif) ; sinon $P_\text{abs} = P_\text{kPa}$
- $T^{(K)} = T_{°C} + 273.15$
- $\Delta T_K = |T_2^{(K)} - T_1^{(K)}| = |T_2^{°C} - T_1^{°C}|$ (écart en Kelvin ≡ écart en Celsius)

« P est figé » se déclenche lorsque :

$$
\frac{\Delta P_\text{expected}}{\sigma_P} \geq 3
$$

**Garde anti-faux-positif — nœud réseau.** La loi de Gay-Lussac ne s'applique qu'à un **volume fermé**. Dans un nœud raccordé à la conduite principale de gaz, la pression relative est maintenue par le régulateur du réseau, et non par la physique du gaz. Avant le déclenchement du détecteur :

$$
\text{is\_network} = (\text{median}(P_\text{gauge}) < 10\,\text{kPa}) \land (\sigma_P^\text{(window)} < 2\,\text{kPa}) \land \neg \text{is\_p\_sensor\_broken}
$$

Si le nœud est un nœud réseau, tous les événements de pression bloquée sont exclus du score et une carte informative est ajoutée.

**Motif 3 — reprise après une plage de débit nul** (sévérité = high, p = 0.50). Bond synchrone de Q + P immédiatement après une longue plage de débit nul :

$$
\text{trigger} = \exists\, t \in [\text{end}_\text{run}, +2\text{h}] : Q(t) \geq 10 \land |\Delta P| \geq 20\,\text{kPa}
$$

**Motif 4 — interruption avec sessions saines** (sévérité = medium, p = 0.30). Heures d'archive manquantes alors que l'appareil était manifestement joignable :

$$
\text{trigger} = (\text{missing\_hours} \geq 24) \land (\text{successful\_sessions\_in\_gap} \geq 1)
$$

### Pré-filtres (gardes anti-faux-positifs)

| Signal               | Seuil                                                                      | Effet                                               |
| -------------------- | -------------------------------------------------------------------------- | --------------------------------------------------- |
| Capteur P défaillant | P figé ≥ 168 h à tout moment dans la fenêtre                               | tous les détecteurs basés sur P désactivés          |
| Raccordé au réseau   | median(P_gauge) < 10 kPa ET σ_P < 2 kPa ET non défaillant                  | motif de pression bloquée exclu du score            |
| Pic de télémétrie    | $P > 500$ kPa OU ($Q > 20 \times \text{median}(Q)$ tant que Q > 1000 m³/h) | ligne remplacée par NULL avant la logique de fraude |

Plafond de sévérité, appliqué après tous les détecteurs et avant le score de suspicion :

| Composition des événements | Niveau maximal autorisé |
| -------------------------- | ----------------------- |
| comporte high+             | very high               |
| comporte high              | high                    |
| deux medium ou plus        | high                    |
| exactement un medium       | medium                  |
| uniquement low ou rien     | medium                  |

## Couverture et qualité des données — Consumption Analytics

$$
\text{cov} = \frac{H_\text{OK} + H_\text{NULL}}{H_\text{expected}}, \quad
\text{unobs}_\% = (1 - \text{cov}) \cdot 100\%
$$

| Condition         | Sévérité |
| ----------------- | -------- |
| `tail_h > 168` h  | critical |
| `unobs_pct > 30%` | high     |
| `unobs_pct > 10%` | medium   |
| sinon             | low      |

**Volume non observé estimé (deux méthodes).** Extrapolation par le débit moyen :

$$
V^{(\text{mean})}_\text{unobs} = \bar Q_\text{OK} \cdot H_\text{unobs}
$$

Reconstruction par profil journalier :

$$
V^{(\text{profile})}_\text{unobs} = \sum_{h \in \text{unobs}} \bar Q_h
$$

**Seuil d'inactivité opérationnelle :**

$$
\frac{|\{h : Q(h) < 0.05\}|}{H_\text{OK}} > 0.95 \Rightarrow \text{idle mode (zero consumption is not penalised)}
$$

**Réconciliation Q/V :**

$$
\Delta V_\text{integral} = \sum_h Q(h) \cdot 1\text{h}, \quad \Delta V_\text{counter} = V(t_\text{end}) - V(t_\text{start})
$$

$$
\text{raise Q/V mismatch if } \frac{|\Delta V_\text{counter} - \Delta V_\text{integral}|}{\Delta V_\text{counter}} > 5\%
$$

La tolérance de 5 % suit la classe 1.0 d'OIML R 137 plus une marge d'arrondi d'intégration.

## Sous-scores — Top Problem Nodes

**Pré-classement rapide (métadonnées uniquement) :**

$$
S_\text{fast} = d_\text{pts}(\text{days\_since\_last\_session}) + s_\text{pts}(\text{status})
$$

$$
d_\text{pts}(d) = \begin{cases}
100 & d \geq 60 \\
60 + (d-30) \cdot 1.33 & 30 \leq d < 60 \\
20 + (d-7) \cdot 1.74 & 7 \leq d < 30 \\
d \cdot 2.85 & d < 7
\end{cases}
$$

$s_\text{pts} = 30$ si l'état de l'appareil n'est pas « operational », sinon 0.

**Sous-score batterie (mV) :**

$$
v_\text{pts} = \begin{cases}
100 & V_\text{last} < 3000 \\
80 & V_\text{last} < 3200 \\
50 & V_\text{last} < 3400 \\
25 & V_\text{last} < 3600 \\
0 & \text{otherwise}
\end{cases}
$$

$$
S_\text{battery} = \min(100, v_\text{pts} + d_\text{pts}(\text{drop\_pct}))
$$

où $d_\text{pts} = 30$ si la chute > 10 %, 15 si la chute > 5 %, sinon 0.

**Sous-score de risque :**

$$
S_\text{risk} = \frac{1}{1.85} \sum_i \min(\text{cap}_i, \alpha_i \cdot n_i)
$$

| Signal $n_i$     | $\alpha_i$ | cap |
| ---------------- | ---------- | --- |
| `quiet_n_pct`    | 0.8        | 40  |
| `n_plateau`      | 4          | 20  |
| `n_neg` (binary) | 25         | 25  |
| `n_live_p`       | 8          | 40  |
| `n_pt_resets`    | 6          | 30  |
| `n_drop_rec`     | 5          | 30  |

**Sous-score événements :**

| Condition                              | $S_\text{events}$ |
| -------------------------------------- | ----------------- |
| physique ET substitution               | 100               |
| physique uniquement                    | 80                |
| substitution uniquement                | 60                |
| erreur métrologie / système uniquement | 30                |
| aucun événement                        | 0                 |

## Seuil batterie — Battery Forecast et Fleet Battery Forecast

**Score par source (% ou mV) :**

$$
S_\text{metro} = \text{clip}_{[0,100]}\left(\frac{V - V_\text{crit}}{V_\text{fresh} - V_\text{crit}} \cdot 100\right)
$$

| Échelle                | $V_\text{crit}$ | $V_\text{fresh}$ |
| ---------------------- | --------------- | ---------------- |
| % (comptage Li-SOCl₂)  | 20              | 90               |
| mV (télémétrie Li-pol) | 3300            | 3600             |

**Composite (maillon le plus faible) :**

$$
S_\text{battery} = \min(S_\text{metro}, S_\text{telem})
$$

**Prévision $T_\text{crit}$ (trois scénarios) :**

$$
T_\text{crit}^{(\text{opt})} = t_\text{now} + \frac{V_\text{now} - V_\text{crit}}{|\text{drop\_rate}|}
$$

$$
T_\text{crit}^{(\text{real})} = T_\text{crit}^{(\text{opt})} \cdot (1 - \alpha_\text{accel})
$$

$$
T_\text{crit}^{(\text{pess})} = T_\text{crit}^{(\text{real})} \cdot 0.5
$$

Lorsqu'un événement de remplacement est détecté dans la fenêtre du rapport, toutes les régressions linéaires sont restreintes à la période postérieure au remplacement. Sinon, le bond de tension au remplacement (par exemple, 3225 → 4197 mV) produit une pente positive parasite — physiquement impossible pour une batterie Li-pol non rechargeable.

$$
\text{slope}_\text{real} = \text{linreg}\big(\{(t_i, v_i) : t_i \geq t_\text{replacement}\}\big)
$$

**Remplacement de bloc de télémétrie.** Pour les appareils dont la batterie est un pack de télémétrie non cyclé, la prévision du « jour critique d'après la décharge » ne s'applique pas. La décision de remplacement est prise comme le **pire des trois** critères indépendants.

Âge calendaire :

$$
\text{age\_status} = \begin{cases}
\text{ok}   & y_\text{age} < 0.75 \cdot y_\text{expected} \\
\text{plan} & 0.75 \cdot y_\text{expected} \leq y_\text{age} < y_\text{expected} \\
\text{due}  & y_\text{age} \geq y_\text{expected}
\end{cases}
$$

où $y_\text{expected} = 3$ ans (durée de vie nominale Li-pol).

Sessions consommées sur le budget du pack :

$$
\text{sessions\_status} = \begin{cases}
\text{ok}   & \text{ratio} < 0.75 \\
\text{plan} & 0.75 \leq \text{ratio} < 1.0 \\
\text{due}  & \text{ratio} \geq 1.0
\end{cases}, \quad \text{ratio} = \frac{\text{sessions\_used}}{2000}
$$

Le budget de 2000 sessions correspond à un pack de 2000 mAh (≈ 1 mAh par session sous charge TX).

Dégradation sous charge (30 derniers j contre 180–150 j auparavant) :

$$
\text{deg\_pct} = 100 \cdot \frac{\min(V_\text{old}) - \min(V_\text{recent})}{\min(V_\text{old})}
$$

$$
\text{deg\_status} = \begin{cases}
\text{ok}       & \text{deg\_pct} < 3\% \\
\text{watch}    & 3\% \leq \text{deg\_pct} < 8\% \\
\text{degraded} & \text{deg\_pct} \geq 8\%
\end{cases}
$$

Verdict final (pire des trois) :

$$
\text{overall} = \begin{cases}
\text{due}  & \text{any of } \{\text{age, sessions, deg}\} \in \{\text{due, degraded}\} \\
\text{plan} & \text{else if any} \in \{\text{plan, watch}\} \\
\text{ok}   & \text{otherwise}
\end{cases}
$$

**Capacité batterie pour les modèles de signal / consommation :**

$$
\Delta V_\text{period} = V_\text{first} - V_\text{last}, \quad
\Delta C_\text{used} = \Delta V \cdot \frac{C_\text{mAh}}{1200\text{ mV}}
$$

où 1200 mV est l'amplitude de tension Li-pol du nominal à la décharge complète (3.0 → 4.2 V). La détection de chute anormale se déclenche lorsque le taux de chute sur les 30 derniers jours dépasse le double de la référence sur 90 jours.

## Détection de fuites — Top Gas Leaks

**Seuil adaptatif par station :**

$$
\theta_\text{leak} = \max(0.05, P_{95}(Q) \cdot 0.05)
$$

5 % du p95 propre à chaque station — adaptatif, de sorte que les sites commerciaux ne soient pas signalés au même seuil que les sites résidentiels.

**Sous-scores :**

$$
s_\text{quiet} = 100 \cdot \frac{\min_{h \in [2,5]} Q(h)}{\theta_\text{leak}} \text{ (capped at 100)}
$$

$$
s_\text{baseline} = 100 \cdot \frac{P_5(Q)}{\theta_\text{leak}} \text{ (capped at 100)}
$$

$$
s_\text{drip} = 100 \cdot \frac{|\{h : 0.5\theta \leq Q(h) \leq 2\theta\}|}{|H|}
$$

$$
s_\text{drift} = 100 \cdot \tanh\left(\frac{\text{slope}(P_5)}{\theta_\text{leak} / \text{month}}\right)
$$

## Calculs de CO₂e — Decarbonization et Emissions and Energy

**Méthane → CO₂e :**

$$
m_\text{CH4} = V_\text{leak} \cdot \phi_\text{CH4} \cdot \rho_\text{CH4}, \quad \rho_\text{CH4} = 0.68 \text{ kg/m³}
$$

$$
m_\text{CO2e}^{(\text{GWP100})} = m_\text{CH4} \cdot 28, \quad m_\text{CO2e}^{(\text{GWP20})} = m_\text{CH4} \cdot 84
$$

Facteurs GWP selon IPCC AR6 (le facteur à 20 ans reflète l'impact de réchauffement à court terme, pertinent pour les objectifs d'atténuation à brève échéance).

**CO₂ direct (issu du gaz brûlé) :**

$$
m_\text{CO2,direct} = V_\text{consumed} \cdot \text{EF}_\text{CO2}, \quad \text{EF}_\text{CO2} = 1.96 \text{ kg/m³}
$$

**Énergie :**

$$
E_\text{GJ} = V \cdot \text{HHV}, \quad \text{HHV} = 37.0 \text{ MJ/m³}
$$

$$
E_\text{kWh} = E_\text{GJ} \cdot \frac{1000}{3.6}
$$

## Scénarios d'investissement — Decarbonization et Automation ROI

**CAPEX / OPEX (par nœud) :**

$$
\text{CAPEX}_\text{total} = N \cdot \text{capex\_per\_node}, \quad \text{OPEX}/\text{year} = N \cdot \text{opex\_per\_node\_per\_year}
$$

**Valeur / Retour sur investissement :**

$$
\text{Value}/\text{year} = \sum_\text{hot spots}(\text{gas} + \text{carbon}_\text{GWP100})
$$

$$
\text{Payback}_\text{months} = \begin{cases}
\dfrac{\text{CAPEX}}{\text{Value} - \text{OPEX}} \cdot 12 & \text{Value} > \text{OPEX} \\
\text{none} & \text{otherwise}
\end{cases}
$$

**ROI / TCO :**

$$
\text{ROI} = \frac{\text{Value/year} - \text{OPEX/year}}{\text{CAPEX}_\text{total}} \cdot 100\%
$$

$$
\text{TCO}_5 = \text{CAPEX}_\text{total} + 5 \cdot \text{OPEX/year}
$$

## Prévision de la demande — Gas Demand Forecast

**Modèle linéaire (OLS) :**

$$
Q(t) = \beta_0 + \beta_1 t + \sum_{k=1}^{2}[\alpha_k \sin(2\pi k t/365) + \gamma_k \cos(2\pi k t/365)] + \sum_{j=1}^{6} w_j \mathbb{1}_{\text{dow}=j} + \delta \cdot \text{HDD}(t) + \varepsilon
$$

Tendance + saisonnalité annuelle à deux harmoniques + variables indicatrices du jour de la semaine + un terme de degrés-jours de chauffage.

**HDD :**

$$
\text{HDD}(t) = \max(0, 18°C - \bar T(t))
$$

**IC à 95 % :**

$$
\hat Q(t) \pm 1.96 \cdot \hat\sigma_\varepsilon \cdot \sqrt{1 + h(t)}
$$

**Backtest :**

$$
\text{MAE} = \frac{1}{N} \sum_t |Q(t) - \hat Q(t)|, \quad \text{MAPE} = \frac{1}{N} \sum_t \frac{|Q(t) - \hat Q(t)|}{Q(t)} \cdot 100\%
$$

$$
\text{Coverage}_{95\%} = \frac{1}{N} \sum_t \mathbb{1}_{Q(t) \in [\hat Q_t \pm 1.96\hat\sigma]}
$$

Ajustement sain : couverture ≈ 95 %, MAPE < 15 %.

## Anomalies de pression — Pressure Anomalies

**Coupure :**

$$
\text{outage}(t) = \mathbb{1}_{P(t) = \text{null} \lor P(t) = 0}
$$

**Chute brutale :**

$$
\text{drop}(t) = \mathbb{1}_{P(t-1) - P(t) > 5 \text{ kPa/h}}
$$

**Dérive de référence :**

$$
\text{drift}_{30d} = \frac{P_5^{(\text{last 30d})} - P_5^{(\text{first 30d})}}{P_5^{(\text{first 30d})}} \cdot 100\%
$$

Déclencher un incident de dérive de référence si |drift| > 20 % sur la période analysée.

**Instabilité (glissante) :**

$$
\text{instability}(t) = \frac{\sigma_P^{(24h)}}{\bar P^{(24h)}}
$$

Déclencher un incident d'instabilité si le ratio dépasse 0.3 sur une fenêtre ≥ 6 heures.

## Sessions longues — détection par IQR

**Seuil par station :**

$$
\theta_\text{long} = Q_3 + 1.5 \cdot \text{IQR}, \quad \text{IQR} = Q_3 - Q_1
$$

Un détecteur d'aberrations robuste — meilleur que le z-score pour la distribution asymétrique des durées de sessions d'interrogation.

**Score de sévérité :**

$$
S = 40 \cdot \text{long\_frac} + 30 \cdot \frac{\bar t_\text{anomaly}}{\theta_\text{long}} + 30 \cdot \text{n\_incidents\_critical}
$$

## Énergie domestique — Household Report

**Modèle de répartition (maison individuelle) :**

| Poste                | Part |
| -------------------- | ---- |
| Chauffage des locaux | 60%  |
| Eau chaude sanitaire | 20%  |
| Cuisson              | 10%  |
| Autre                | 10%  |

**Économies issues de l'isolation :**

$$
\Delta V_\text{insulation} = V_\text{heating} \cdot 0.15 \text{ (typical retrofit)}
$$

**Intérêts composés (économies placées au taux r) :**

$$
\text{Reinvest}_T = \text{Savings} \cdot \frac{(1 + r)^T - 1}{r}
$$

## Classification de sévérité — échelle unifiée

| Plage  | Sévérité | Couleur | Contexte                              |
| ------ | -------- | ------- | ------------------------------------- |
| 0–9    | OK       | vert    | composite, top problem nodes          |
| 10–29  | Low      | bleu    | composite                             |
| 30–49  | Medium   | jaune   | composite                             |
| 50–69  | High     | orange  | composite, alerte top problem nodes   |
| 70–100 | Critical | rouge   | composite, top problem nodes critique |

Top Problem Nodes utilise les seuils 30 / 60 — une plus grande partie de la bande verte est traitée comme l'état « normal ».

## Cadre de confiance — Decarbonization et Metering Bypass

| Confiance  | Condition                                       |
| ---------- | ----------------------------------------------- |
| **High**   | deep score ≥ 80 avec ≥ 6 mois de données        |
| **Medium** | deep score ≥ 50 ou historique de données limité |
| **Low**    | score faible / estimation de repli              |

## Priorité d'investigation terrain — Metering Bypass

| Condition                                | Priorité             |
| ---------------------------------------- | -------------------- |
| Événement physique récent (≤ 7 j)        | **P0** (prioritaire) |
| Événement physique plus ancien (> 7 j)   | **P1**               |
| score ≥ 70 avec confiance medium ou high | **P0**               |
| score ≥ 70 avec confiance low            | **P1**               |
| score ≥ 50                               | **P1**               |
| score ≥ 30                               | **P2**               |
| score < 30                               | **P3**               |

## Référence des constantes

| Symbole                               | Valeur     | Source                    | Utilisé dans                          |
| ------------------------------------- | ---------- | ------------------------- | ------------------------------------- |
| $\text{EF}_\text{CO2}$                | 1.96 kg/m³ | IPCC AR6                  | Decarbonization, Emissions and Energy |
| $\text{HHV}$                          | 37.0 MJ/m³ | gaz naturel typique (IEA) | Emissions and Energy                  |
| $\rho_\text{CH4}$                     | 0.68 kg/m³ | conditions normales       | Decarbonization                       |
| $\text{GWP}_{100}$                    | 28         | IPCC AR6, 100 ans         | Decarbonization, Emissions and Energy |
| $\text{GWP}_{20}$                     | 84         | IPCC AR6, 20 ans          | Decarbonization, Emissions and Energy |
| Débit quasi nul                       | 0.5 m³/h   | empirique                 | Metering Bypass                       |
| Plage min. de débit nul               | 6 h        | empirique                 | Metering Bypass                       |
| σ de pression bloquée                 | 0.1 kPa    | empirique                 | Metering Bypass                       |
| ΔT min. pour Gay-Lussac               | 1.0 °C     | empirique                 | Metering Bypass                       |
| Q min. de reprise                     | 10 m³/h    | empirique                 | Metering Bypass                       |
| ΔP min. de reprise                    | 20 kPa     | empirique                 | Metering Bypass                       |
| P max. physique                       | 500 kPa    | limite physique           | pré-filtre Metering Bypass            |
| Multiplicateur de pic Q               | 20×        | empirique                 | pré-filtre Metering Bypass            |
| Durée de blocage capteur-P-défaillant | 168 h      | empirique                 | santé capteur Metering Bypass         |
| Température de base HDD               | 18 °C      | IPCC                      | Gas Demand Forecast                   |
| Fraction de fuite par défaut          | 0.5%       | moyenne de flotte IEA     | repli Decarbonization                 |

Références méthodologiques : IPCC AR6 (WG I, ch. 7) pour les GWP et les facteurs d'émission ; OIML R 137-1 pour les classes de précision des compteurs de débit ; ISO 5167 et AGA Report No. 3 pour le calcul de débit par pression différentielle ; EN 1776 pour les conventions de conception des postes de comptage ; GHG Protocol Scope 1 pour la comptabilité du CO₂ de combustion directe.
