---
title: 'Analiza consumului'
description: Analiza completă a unui singur punct de măsurare a gazelor naturale – calitatea datelor, profilul de consum, cartea tehnică a dispozitivului și jurnalul de evenimente, cu detalii de expertiză opționale.
section: AI Analytics
weight: 1
related:
  - ai-analytics/node-reports/metering-bypass
  - ai-analytics/node-reports/battery-forecast
  - ai-analytics/fleet-reports/top-problem-nodes
---

import Alert from '@/components/docs/Alert.astro';
import Image from '@/components/docs/Image.astro';

Analiza consumului este o examinare metrologică și operațională detaliată a **unui singur punct de măsurare a gazelor naturale** în perioada selectată. Scopul nu este doar de a trasa un grafic de consum, ci de a răspunde la întrebările practice ale serviciului de măsurare. Analiza se sprijină pe documente internaționale de referință din metrologie acolo unde acestea justifică o valoare numerică: ISO 5167 (măsurarea debitului cu diafragmă), EN 12405-1 (dispozitive electronice de conversie a volumului de gaz), OIML R 137 (contoare de gaz), OIML R 140 (sisteme de măsurare pentru combustibili gazoși), ISO 6976 (putere calorifică), EN 1359 (contoare de gaz cu membrană) și EN 14236 (contoare de gaz casnice cu ultrasunete).

## Scop

<Image src="/images/ai-analytics/consumption-analytics/01_hero_block.svg" alt="Antetul raportului" />

_Antetul raportului._ Primul lucru pe care îl vede cititorul: denumirea și adresa punctului de măsurare, tipul de corector, indicatorii principali din ultima oră (P, T), volumul total de date din fereastră (puncte), numărul de evenimente detectate, metoda de analiză (reguli / reguli+LLM / numai LLM; LLM – model lingvistic de mari dimensiuni), durata preluării datelor și perioada acoperită.

Raportul răspunde la întrebările de zi cu zi ale serviciului de măsurare:

- sunt complete datele pentru perioada selectată;
- poate fi folosită arhiva pentru închiderea perioadei de facturare;
- există un gol final la sfârșitul perioadei;
- funcționează telemetria curentă;
- concordă debitul orar cu volumul cumulat;
- există senzori P/T blocați;
- există probleme de comunicație sau de livrare a arhivei;
- sunt suficient de complete datele metrologice din cartea tehnică;
- există tipare suspecte de înregistrare în minus;
- este necesară o deplasare în teren;
- cine trebuie să acționeze: metrologul, dispecerul, inginerul de comunicație, inginerul de integrare, echipa din teren sau analistul de facturare.

<Alert type="warning">
  Raportul **nu este un proces-verbal oficial de constatare a unui incident**. Nu dovedește o
  intervenție neautorizată, ocolirea măsurării sau furtul de gaze naturale. Arată indicatori tehnici și
  metrologici care trebuie verificați. Emiterea unei concluzii cu valoare juridică este un proces
  separat, care necesită obligatoriu o deplasare la fața locului.
</Alert>

## Logica de bază

Raportul separă **trei evaluări ortogonale**, care nu trebuie amestecate:

| Evaluare | Semnificație |
| --- | --- |
| Pregătirea datelor perioadei | dacă arhiva poate fi folosită pentru perioada selectată |
| Starea curentă a telemetriei | dacă punctul de măsurare este activ în momentul generării raportului |
| Pregătirea pentru închiderea comercială | dacă perioada poate fi folosită pentru facturare fără reconciliere manuală |

O perioadă din trecut poate fi pe deplin utilizabilă pentru analiză chiar dacă astăzi punctul de măsurare nu mai transmite date.

**Exemplu de interpretare corectă:**

```
Datele perioadei:                    utilizabile, cu rezerve
Monitorizarea curentă:               degradată
Închiderea perioadei de facturare:   nepregătită pentru închiderea finală
```

Nu este o contradicție. Înseamnă că datele din trecut sunt parțial utilizabile, dar telemetria curentă sau închiderea comercială necesită o verificare suplimentară.

## Glosar

| Termen | Semnificație |
| --- | --- |
| Q | debit orar, m³/h |
| P | presiunea gazului, kPa |
| T | temperatura gazului, °C |
| V | volum cumulat, m³ |
| ΣQ | suma debitelor orare pe perioadă |
| ΔV | creșterea volumului cumulat pe perioadă |
| H_expected | câte ore trebuiau să existe în perioada de raportare |
| H_received | câte înregistrări orare s-au primit efectiv |
| H_validQ | câte înregistrări au o valoare validă a debitului |
| H_nullQ | câte înregistrări există, dar cu debitul NULL |
| H_missing | câte ore lipsesc din arhivă |
| final_tail_gap | lipsa datelor la sfârșitul perioadei |
| internal_gap | gol în interiorul perioadei |
| actualitatea datelor | cât de actuală este ultima oră din arhivă |
| gradul de completare a cărții tehnice | în ce proporție sunt completate datele metrologice din cartea tehnică |
| incident | o problemă grupată care necesită o acțiune |

## Fereastra de timp a analizei

### Începutul și sfârșitul perioadei

Stabiliți începutul și sfârșitul perioadei. Raportul analizează fiecare oră, de la 00:00 din prima zi până la 23:00 din ultima zi:

$$
\text{window\_start} = \text{report\_start } 00{:}00, \quad
\text{window\_end} = \text{report\_end } 23{:}00
$$

### Numărul de ore așteptat

$$
H_\text{expected} = \mathrm{count}(\text{ore de la window\_start la window\_end})
$$

Pentru o perioadă de un an, de regulă $H_\text{expected} \approx 8760$.

## Disponibilitatea arhivei pe categorii

| Categorie | Semnificație |
| --- | --- |
| Oră validă | înregistrarea există și are o valoare corectă a debitului |
| Oră NULL | înregistrarea există, dar debitul lipsește |
| Gol intern | oră lipsă în interiorul perioadei |
| Gol final | ore lipsă la sfârșitul perioadei |
| Oră neacoperită | orice oră fără o valoare validă a debitului |

**Formule:**

$$
H_\text{received} = \mathrm{count}(\text{înregistrări orare})
$$

$$
H_\text{validQ} = \mathrm{count}(\text{înregistrări în care } Q \neq \text{NULL și } Q \geq 0)
$$

$$
H_\text{nullQ} = \mathrm{count}(\text{înregistrări în care } Q = \text{NULL})
$$

$$
H_\text{missing} = \max(0, H_\text{expected} - H_\text{received})
$$

$$
H_\text{unobserved} = H_\text{missing} + H_\text{nullQ}
$$

<Alert type="warning">
  Golul final **nu se contabilizează de două ori**, peste `missing_records`, când orele respective
  intră deja în numărul total de ore lipsă.
</Alert>

## Gradul de completare a datelor

<Image
  src="/images/ai-analytics/consumption-analytics/07_completeness_validity.svg"
  alt="Disponibilitatea, actualitatea și validitatea datelor"
/>

_Disponibilitatea, actualitatea și validitatea_ sunt trei perspective ortogonale din care se verifică, înainte de orice analiză de fond, dacă arhiva poate fi folosită. **Gradul de completare** arată câte dintre orele așteptate au sosit. **Actualitatea datelor** – cât de actuale sunt datele _chiar acum_. **Validitatea** – dacă valorile se încadrează în intervale plauzibile din punct de vedere fizic.

### Formula acoperirii

$$
\mathrm{Coverage}_\text{valid} = \frac{H_\text{validQ}}{H_\text{expected}} \times 100\,\%
$$

Suplimentar:

$$
\mathrm{Coverage}_\text{received} = \frac{H_\text{received}}{H_\text{expected}} \times 100\,\%
$$

Diferența contează:

- `Coverage_received` – dacă înregistrările au sosit sau nu;
- `Coverage_valid` – dacă pot fi folosite pentru analiza debitului.

### Interpretarea acoperirii

| Acoperire | Status | Semnificație |
| --- | --- | --- |
| ≥ 98% | Excelent | arhivă aproape completă |
| 95–98% | Bun | utilizabilă, cu rezerve minore |
| 80–95% | Avertizare | goluri vizibile |
| 50–80% | Major | este necesară reconcilierea manuală |
| < 50% | Critic | nu poate fi folosită pentru majoritatea sarcinilor |

## Golul final

Golul final este lipsa datelor din arhivă la sfârșitul perioadei selectate.

$$
H_\text{tail} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

| Gol final | Status |
| --- | --- |
| ≤ 2 h | acceptabil |
| 2–6 h | avertizare |
| 6–24 h | major |
| > 24 h | critic |
| > 168 h | dispozitivul nu transmite de peste o săptămână – deplasare urgentă în teren |

Golul final răspunde la întrebarea: **poate fi considerată perioada complet încheiată?** Dacă datele lipsesc la sfârșit, raportul poate fi folosit în continuare pentru analiza retrospectivă, dar **nu este pregătit** pentru închiderea comercială finală a perioadei (consultați secțiunea „Concluzia privind măsurarea comercială”).

## Actualitatea datelor

Doi indicatori distincți de actualitate.

### Actualitatea față de sfârșitul perioadei

Se folosește pentru analiza datelor din trecut și pentru facturare:

$$
\mathrm{Lag}_\text{period} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

Răspunde la întrebarea: **există date până la sfârșitul perioadei selectate?**

### Actualitatea față de momentul generării

Se folosește pentru monitorizarea curentă:

$$
\mathrm{Lag}_\text{current} = \text{generation\_time} - \text{last\_valid\_archive\_hour}
$$

Răspunde la întrebarea: **este punctul de măsurare activ chiar acum?**

### Acoperirea ultimelor 24 de ore

$$
\mathrm{Fresh}_{24h} = \frac{H_\text{validQ, last 24h}}{24} \times 100\,\%
$$

### Scorul agregat de actualitate

$$
\mathrm{LagScore} = \max(0, 100 - 2 \times \mathrm{Lag}_\text{period})
$$

$$
\mathrm{FreshnessScore} = \frac{\mathrm{LagScore} + \mathrm{Fresh}_{24h}}{2}
$$

## Starea curentă a telemetriei

<Image
  src="/images/ai-analytics/consumption-analytics/16_telemetry_major.svg"
  alt="Starea curentă a telemetriei și rezumatul punctului de măsurare"
/>

_Monitorizarea curentă și rezumatul punctului de măsurare._ Acest bloc răspunde la întrebarea „se poate acționa chiar acum pe baza acestei arhive?”. Se compară trei momente: ultima oră arhivată, sfârșitul ferestrei de raportare și momentul generării raportului. Dacă sesiunile de comunicație sunt recente, dar arhiva rămâne în urmă, problema **nu este la dispecer**, ci pe partea de server, în parser sau în livrarea arhivei. Comentariul generat de IA oferă dispecerului un rezumat scurt, ușor de citit, **fără a modifica** statusurile formale.

Se calculează **față de momentul generării raportului**, nu față de perioadă:

$$
\mathrm{Lag}_\text{archive, current} = \text{generation\_time} - \text{last\_archive\_hour}
$$

$$
\mathrm{Age}_\text{session} = \text{generation\_time} - \text{last\_session\_time}
$$

| Întârziere | Status |
| --- | --- |
| ≤ 6 h | normal |
| 6–24 h | avertizare |
| 24–72 h | major |
| > 72 h | critic |
| fără date | critic |

**Diagnostic diferențial:**

| Simptom | Cauză probabilă |
| --- | --- |
| sesiuni recente, arhiva rămâne în urmă | problemă de **livrare a arhivei / parser / import** |
| fără sesiuni, fără arhivă | modem / SIM / antenă / alimentare / baterie |

## Validitatea datelor

Verificarea intervalelor fizice pentru fiecare canal:

| Canal | Condiție |
| --- | --- |
| Debit Q | $Q \geq 0$ |
| Presiune P | $0 < P \leq 5000\text{ kPa}$ |
| Temperatură T | $-50\,°\mathrm{C} \leq T \leq 80\,°\mathrm{C}$ |

Pentru fiecare canal:

$$
\mathrm{Validity}_\text{ch} = \frac{N_\text{ok}}{N_\text{total}} \times 100\,\%,
\quad
N_\text{ok} = N_\text{total} - N_\text{null} - N_\text{below} - N_\text{above}
$$

Pe ansamblu:

$$
\mathrm{Validity}_\text{total} = \frac{\sum N_\text{ok}}{\sum N_\text{checked}} \times 100\,\%
$$

## Stabilitatea senzorilor

<Image
  src="/images/ai-analytics/consumption-analytics/06_sensor_health.svg"
  alt="Diagnosticarea stabilității senzorilor"
/>

_Diagnosticarea detaliată a senzorilor P și T._ Pentru fiecare interval de blocare se afișează începutul, sfârșitul, durata și valoarea. Intervalele lungi cu aceeași valoare sunt aproape întotdeauna semnul unei defecțiuni a convertorului analog-digital (ADC), al resetării senzorului sau al opririi debitului din motive de exploatare – **nu** al unui fenomen fizic real. Salturile – variații bruște ≥ pragul într-o oră – sunt, dimpotrivă, un artefact de telemetrie sau o resetare a senzorului.

<Image
  src="/images/ai-analytics/consumption-analytics/05_sensors_critical.svg"
  alt="Starea senzorilor și planul de acțiuni"
/>

_Interpretarea și planul de acțiuni pentru senzori._ „Starea senzorilor: CRITICĂ” este sinteza finală, formulată în cuvinte, pentru ambele canale. Fiecărei probleme detectate i se atribuie automat o recomandare, o prioritate, rolul responsabil și o scurtă descriere a declanșatorului (ce anume a generat semnalarea).

### Senzor blocat

Un senzor se consideră blocat dacă valoarea lui rămâne practic neschimbată pe o durată mai mare decât pragul (24 h):

$$
H_\text{stuck} \geq 24 \text{ h}
$$

Toleranța de egalitate (0,1%):

$$
\mathrm{tol}(x) = \max\bigl(0.05,\ |x| \times 0.001\bigr)
$$

Punctele se consideră egale dacă $|x_i - x_\text{run}| \leq \mathrm{tol}(x_\text{run})$.

### Salt de temperatură

$$
|T_i - T_{i-1}| > 20\,°\mathrm{C / h}
$$

### Salt de presiune

$$
|P_i - P_{i-1}| > \max(1.0, 0.5 \times \overline{P})
$$

### Interpretare

| Indicator | Semnificație |
| --- | --- |
| T blocat timp îndelungat | posibilă defecțiune a senzorului T |
| P blocat timp îndelungat | posibilă defecțiune a senzorului P sau regim `P_const` |
| Multe salturi de P | instabilitate a canalului sau artefact de telemetrie |
| Multe salturi de T | eroare a senzorului sau schimbare bruscă a regimului tehnologic |

<Alert type="warning">
  Un senzor blocat **nu este o dovadă de intervenție neautorizată**. Este în primul rând un risc
  metrologic, care necesită o verificare metrologică conform OIML R 137 / EN 12405-1.
</Alert>

## Scorurile agregate ale calității arhivei

<Image
  src="/images/ai-analytics/consumption-analytics/08_quality_summary.svg"
  alt="Panoul agregat al calității"
/>

_Panoul agregat al calității._ Sus – indicatorii-cheie de performanță (KPI) ai raportului (ore cu date, volum, evenimente, repaus/derivă). Dedesubt – filele secțiunilor (calitatea datelor, profil de consum, carte tehnică, înregistrare în minus și intervenții neautorizate, anomalii și incidente, date zilnice, surse). Pe fila calității datelor – 6 indicatori parțiali pe o scală 0–100, plus o concluzie formulată în cuvinte și ponderile scorului agregat.

Raportul calculează **5 scoruri ortogonale** (fiecare pe o scală 0–100), care acoperă aspecte distincte ale calității:

| Scor | Ce evaluează |
| --- | --- |
| `score_historical_archive` | dacă datele din trecut ale perioadei pot fi folosite |
| `score_data_validity` | corectitudinea valorilor Q/P/T |
| `score_sensor_health` | starea senzorilor (blocări, salturi) |
| `score_timeliness` | actualitatea arhivei și a sesiunilor |
| `score_operational_readiness` | pregătirea pentru monitorizarea curentă |

<Alert type="warning">
  În mod intenționat, nu se calculează un **scor agregat unic** de tip „calitate generală”:
  amestecarea utilizabilității datelor din trecut cu actualitatea lor ar da o imagine înșelător de
  liniștitoare. Fiecare scor se interpretează separat, cu propria concluzie.
</Alert>

## Volumul potențial neacoperit estimat

<Image
  src="/images/ai-analytics/consumption-analytics/14_uncovered_volume.svg"
  alt="Estimarea riscului pentru volumul neacoperit"
/>

_Două estimări diferite ale aceluiași volum._ Media pe perioadă este conservatoare (completarea golului final presupune un profil constant), iar profilul orelor active redă mai bine ritmul zilnic (schimb de lucru / noapte / sfârșit de săptămână). Diferența dintre ele este **intervalul de incertitudine**, nu o valoare unică. Nivelul de risc depinde de durata golului și de debitul mediu caracteristic.

<Image
  src="/images/ai-analytics/consumption-analytics/11_anomalous_month.svg"
  alt="Lună cu consum anormal"
/>

_Lună cu consum anormal._ Anomaliile lunare sunt un semnal separat, evaluat în raport cu ritmul anual (sezonul de încălzire față de vară). Dacă o anumită lună depășește **substanțial** mediana celorlalte (prag × 2), luna respectivă este afișată automat în partea de sus, cu recomandarea de a verifica fluxul de evenimente, cartea tehnică și cauzele tehnologice.

Acest bloc estimează ce volum de gaze naturale ar fi putut trece în orele fără date valide în arhivă.

<Alert type="warning">
  Aceasta **nu este o pierdere confirmată**. Nu este un volum furat și nici o pretenție automată de
  despăgubire. Este o estimare a **zonei oarbe** – volumul neacoperit de o arhivă validă.
</Alert>

### Ore fără date valide

$$
H_\text{blind} = H_\text{missing} + H_\text{nullQ}
$$

### Estimarea pe baza mediei

$$
\overline{Q} = \frac{\sum Q_\text{valid}}{H_\text{validQ}},
\qquad
V_\text{blind, mean} = H_\text{blind} \times \overline{Q}
$$

Este potrivită pentru amplasamentele cu un consum relativ uniform.

### Estimarea pe baza profilului

Debitul tipic pentru ora din zi $h$ (mediana pe perioadă):

$$
\mathrm{Profile}(h) = \mathrm{median}(Q \mid \text{hour\_of\_day} = h)
$$

$$
V_\text{blind, profile} = \sum_{t \in \text{BlindHours}} \mathrm{Profile}(\text{hour}(t))
$$

Dacă profilul pentru o anumită oră nu este fiabil, se folosește $\overline{Q}$.

### Intervalul estimărilor

Se afișează ambele estimări. Dacă sunt apropiate, profilul zilnic este stabil. Dacă diferă semnificativ, amplasamentul are un regim de funcționare pronunțat și este necesară prudență.

## Punct de măsurare în repaus

Dacă un punct de măsurare nu a avut practic niciun consum real în perioada analizată, lipsa debitului **nu este tratată ca un risc**.

### Verificarea regimului de repaus

Pragul adaptiv de debit aproape nul:

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

Punctul de măsurare se consideră în repaus când sunt îndeplinite **ambele** condiții:

$$
\overline{Q} \leq 0.05\text{ m³/h} \quad \text{și} \quad V_\text{blind, mean} < 5\text{ m³}
$$

### Efect

Scala de gravitate devine mai blândă (cel mult `medium` în loc de `critical`), iar raportul afișează:

> Punctul de măsurare a fost practic deconectat / oprit sezonier. Lipsa consumului nu este tratată ca un risc de înregistrare în minus.

## Reconcilierea Q/V

<Image
  src="/images/ai-analytics/consumption-analytics/13_qv_volume.svg"
  alt="Analiza volumului cumulat"
/>

_Reconcilierea debitului orar cu indexul._ Calculul comercial metrologic se bazează pe creșterea lui V, nu pe suma valorilor instantanee ale lui Q. Concordanța ΣQ ≈ ΔV în ≥ 80% din ore este normală pentru un punct de măsurare în stare bună. **Scăderile lui V** (de la o oră la alta, $V_{t+1} < V_t$) și **salturile bruște ale lui V** sunt semne critice ale unei defecțiuni a arhivei și aproape întotdeauna necesită o verificare.

Blocul metrologic principal. Compară suma debitelor orare cu creșterea indexului.

### Mărimi de bază

$$
\Sigma Q = \sum_{h=1}^{n} Q_h, \qquad
\Delta V = V_\text{end} - V_\text{start}
$$

$$
\mathrm{Diff} = \Sigma Q - \Delta V, \qquad
\mathrm{Diff}_\% = \frac{\Sigma Q - \Delta V}{\Delta V} \times 100\,\%
$$

### Interpretarea neconcordanței

| $\vert\mathrm{Diff}_\%\vert$ | Concluzie |
| --- | --- |
| ≤ 2% | `good` (concordant) |
| 2–5% | `warn` (concordant, cu rezerve) |
| > 5% | `bad` (neconcordanță) |
| fără V | `unavailable` |
| baza Q/V necunoscută | necesită verificarea cărții tehnice |

### Monotonia indexului

Indexul trebuie să crească sau să rămână constant.

Scăderea indexului: $\Delta V_h < -0.5\text{ m³}$ → incidentul `V_ROLLBACK`.

Salt brusc: $\Delta V_h > V_\text{jump\_threshold}$ → incidentul `V_JUMP`.

### Reconcilierea orară $Q \cdot 1\text{h} \approx \Delta V$

Pentru fiecare oră în care există atât $Q$, cât și $V$:

$$
\mathrm{Match}_h = \frac{|Q_h - \Delta V_h|}{\max(Q_h, \Delta V_h)}
$$

Ora este concordantă dacă $\mathrm{Match}_h \leq 20\,\%$. Proporția orelor concordante:

$$
\mathrm{Match}_\% = \frac{H_\text{matched}}{H_\text{checked}} \times 100\,\%
$$

### Limitările reconcilierii Q/V

Chiar și o concordanță numerică bună nu înseamnă că datele pot fi folosite comercial. Trebuie să știți:

| Întrebare | De ce contează |
| --- | --- |
| Q – volum în condiții standard sau în condiții de lucru? | bazele diferite introduc o abatere sistematică |
| V – volum în condiții standard sau în condiții de lucru? | este necesară aceeași bază |
| Care este valoarea impulsului? | necesară pentru o reconciliere comercială completă |
| V este monoton? | scăderile indexului pun la îndoială arhiva |
| Există corecții manuale? | pot explica divergența |

Dacă baza nu este cunoscută:

> Reconcilierea Q/V arată o concordanță numerică, dar baza comercială nu este confirmată. Este necesară verificarea cărții tehnice, a valorii impulsului și a bazei de volum (consultați EN 12405-1 §7).

## Comunicația față de arhivă

<Image
  src="/images/ai-analytics/consumption-analytics/12_csq_vs_archive.svg"
  alt="Diagnosticarea CSQ față de arhivă"
/>

_Diagnosticul diferențial „comunicație față de livrarea arhivei”._ Dacă în fereastră există sesiuni, dar nu și arhivă, dispozitivul răspunde prin GSM/CSQ, însă arhiva fie nu se scrie, fie serverul nu o parsează. Aceasta **nu** este o problemă a dispecerului sau a modemului – de ea trebuie să se ocupe inginerul de integrare.

### Formule de bază

$$
N_\text{sessions} = \mathrm{count}(\text{sesiuni}), \quad
N_\text{success} = \mathrm{count}(\text{sesiuni reușite})
$$

$$
\mathrm{SessionSuccess}_\% = \frac{N_\text{success}}{N_\text{sessions}} \times 100\,\%
$$

### Livrarea arhivei

Pentru fiecare gol se verifică dacă în aceeași fereastră de timp au avut loc sesiuni:

- `gap_with_sessions` – gol în arhivă, deși au existat sesiuni;
- `gap_without_sessions` – gol în arhivă, fără nicio sesiune.

### Diagnostic diferențial

| Situație | Cauză probabilă |
| --- | --- |
| fără sesiuni, fără arhivă | modem / SIM / antenă / alimentare |
| sesiuni în regulă, arhiva nu se actualizează | livrarea arhivei orare / parser / import |
| sesiuni în regulă, dar lipsește o parte din arhivă | citire parțială / întreruperea paginării / partea de server |
| sesiuni recente, arhivă neactualizată | **nu este o problemă GSM**, ci o problemă de livrare a arhivei |
| marca temporală a sesiunii este în viitor | ceas desincronizat / fus orar greșit |

### Calitatea semnalului

Dacă calitatea semnalului este raportată ca CSQ:

$$
\mathrm{RSSI}_\text{dBm} \approx -113 + 2 \times \mathrm{CSQ}
$$

Exemplu: CSQ=29 → RSSI ≈ −55 dBm (excelent).

## Datele metrologice din cartea tehnică

### Câmpuri obligatorii și ponderile lor

Cartea tehnică cuprinde 11 câmpuri cu ponderi:

| Câmp | Pondere | De ce |
| --- | --- | --- |
| equipment_serial_number | 1,0 | identificare |
| equipment_type_id | 1,0 | model/tip |
| installation_date | 0,8 | context de exploatare |
| **verification_date** | **1,5** | validitate juridică (OIML R 137, clauza 3) |
| next_verification_date | 1,0 | urmărirea scadenței |
| **flow_range** (Qmin/Qmax) | **1,5** | intervalul de debit conform EN 12405-1 |
| meter_serial_number | 1,0 | identificare la fața locului |
| meter_type | 1,0 | legătura metrologică |
| firmware_version | 0,5 | compatibilitate și erori cunoscute |
| p_const | 0,5 | valoarea de înlocuire a presiunii |
| pulse_weight | 0,8 | pentru reconcilierea Q/V |

### Formula gradului de completare

$$
\mathrm{PassportCompleteness} = \frac{\sum w_\text{filled}}{\sum w_\text{required}} \times 100\,\%
$$

### Interpretare

| Grad de completare | Status |
| --- | --- |
| ≥ 80% | COMPLETE |
| 50–80% | PARTIAL |
| 20–50% | INCOMPLETE |
| < 20% | CRITICAL_INCOMPLETE |

Dacă cartea tehnică este incompletă, concluzia comercială trebuie să conțină o rezervă:

> Datele metrologice din cartea tehnică sunt incomplete. Concluzia comercială necesită reconciliere manuală și trimitere la OIML R 137 / EN 12405-1.

## Tipare suspecte de înregistrare în minus

<Image
  src="/images/ai-analytics/consumption-analytics/03_forensic_signals.svg"
  alt="Triajul semnalelor de înregistrare în minus"
/>

_Triajul semnalelor._ Fiecare semnal este încadrat într-o categorie și are o valoare probatorie (scăzută / medie / ridicată), o prioritate a deplasării în teren, dovezi formale și o acțiune recomandată. **Aceasta nu este o concluzie despre punctul de măsurare** – este o listă de intervale de timp pe care dispecerul sau personalul de service trebuie să le verifice manual.

Acestea sunt **euristici**, nu dovezi.

### Pragul de debit aproape nul

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

### Debit zero în orele active

O oră este suspect de liniștită dacă $Q_h < Q_\text{nearzero}$ ȘI se încadrează în intervalul activ tipic al amplasamentului.

### Presiune prezentă + debit zero (Q≈0 cu P prezent)

Poate indica:

- oprire / robinet din aval închis / oprire sezonieră;
- regim P_const sau defecțiune a senzorului;
- eroare a intrării de impulsuri;
- **posibilă intervenție neautorizată** – dar nedovedită.

<Alert type="warning">
  Tiparul „presiune prezentă + debit zero” **nu este o dovadă de intervenție neautorizată**. Este
  doar un motiv pentru a verifica regimul de funcționare al punctului de măsurare.
</Alert>

### Întrerupere și restabilire a debitului

Tipar: Q normal → Q≈0 → Q normal. O schimbare bruscă de regim, dar nu o dovadă de încălcare. Explicații posibile: oprire planificată / oprirea amplasamentului / închiderea robinetului / defecțiunea canalului / intervenție manuală / eroare de livrare a arhivei.

### Intervenție neautorizată confirmată

Un tipar statistic **nu poate** confirma singur o intervenție neautorizată. Sunt necesare **dovezi directe**:

- deschiderea dulapului (cover_open în evenimentele dispozitivului);
- influențarea cu câmp magnetic;
- modificări ale parametrilor (parameter_change);
- modificarea neautorizată a P_const;
- resetarea arhivei;
- o intervenție confirmată asupra intrării de impulsuri;
- procesul-verbal întocmit la deplasarea în teren;
- fotografii / sigilii / citiri la fața locului.

Formatul corect al concluziei:

```
Intervenție neautorizată confirmată:   NEDETECTATĂ
Tipare suspecte:                       PREZENTE
Pregătire pentru demersuri juridice:   NEPREGĂTIT
```

## Concluzia privind măsurarea comercială

<Image
  src="/images/ai-analytics/consumption-analytics/02_commercial_verdict.svg"
  alt="Concluzia privind măsurarea comercială"
/>

_Statusul pentru conducere._ Cele 7 rânduri răspund la 7 întrebări diferite ale conducerii: se poate închide perioada (facturare), funcționează acum punctul de măsurare (monitorizare), concordă arhiva cu indexul (Q×h față de ΔV), este necesară o deplasare în teren, există tipare suspecte, care este integritatea datelor, există toți parametrii din cartea tehnică. Fiecare rând este interactiv și trimite la blocul de dovezi din raport.

Concluzia principală pentru șeful serviciului de măsurare.

### Regulile pentru arhiva de facturare

**Pregătită:**

- Acoperire ≥ 98%
- Gol final ≤ 2 h
- Q/V concordant (`good`)
- V monoton
- Carte tehnică COMPLETE
- Fără probleme critice ale senzorilor

**Pregătită, cu rezerve:**

- Acoperire 95–98%
- Gol final 2–24 h
- Q/V concordant, cu rezerve (`warn`)
- Carte tehnică PARTIAL
- Niciun factor de blocare critic

**Nepregătită pentru închiderea finală:**

- Gol final > 24 h SAU
- Q/V neclasificat SAU
- Există o scădere a indexului V SAU
- Carte tehnică incompletă la câmpurile comerciale SAU
- Problemă critică a unui senzor

**Inutilizabilă:**

- Acoperire critic de scăzută SAU
- Arhivă coruptă SAU
- V are scăderi/salturi majore SAU
- Q și V complet neconcordante SAU
- Canal-cheie indisponibil

### Monitorizarea curentă – evaluată separat

| Condiție | Status |
| --- | --- |
| arhivă și sesiune recente | utilizabilă |
| arhiva rămâne în urmă, dar există sesiuni | degradată / problemă de livrare |
| arhivă și sesiuni neactualizate | critică / problemă de comunicație |
| marcă temporală invalidă | nefiabilă |

### Inspecția în teren

Deplasarea este necesară dacă este îndeplinită **cel puțin una** dintre condiții:

- golul final nu a fost completat;
- Q/V nu este clasificat;
- există o scădere a indexului;
- cartea tehnică este critic de incompletă;
- senzorul P sau T este blocat;
- există tipare suspecte de înregistrare în minus;
- jurnalul de evenimente nu este disponibil, deși există anomalii puternice;
- telemetria curentă este degradată critic.

## Incidente

Un incident este o problemă **grupată**, nu fiecare înregistrare brută.

### Tipuri

| Tip | Semnificație |
| --- | --- |
| `FINAL_TAIL_GAP` | lipsesc datele la sfârșitul perioadei |
| `COMMUNICATION_GAP` | întrerupere a comunicației |
| `ARCHIVE_DELIVERY_GAP` | există sesiuni, dar arhiva nu a fost livrată |
| `Q_V_MISMATCH` | Q și V nu concordă |
| `V_ROLLBACK` | indexul a scăzut |
| `P_SENSOR_STUCK` | presiune blocată |
| `T_SENSOR_STUCK` | temperatură blocată |
| `PASSPORT_INCOMPLETE` | lipsesc câmpuri din cartea tehnică |
| `TAMPERING_CANDIDATE` | tipar suspect, nu o dovadă |

### Principiul grupării

```
evenimente brute → incidente grupate → incidente prioritare
```

Exemplu: 301 brute → 15 grupate → primele 5 pentru acțiune. Dispecerului nu trebuie să i se afișeze 301 evenimente identice ca 301 probleme separate.

## Plan de acțiuni

<Image
  src="/images/ai-analytics/consumption-analytics/09_action_plan_checklist.svg"
  alt="Planul de acțiuni pe roluri și lista de verificare pentru teren"
/>

_Acțiuni cu prioritățile P0/P1/P2._ Fiecare acțiune are un rol responsabil, un termen (astăzi / în cursul zilei / 1–3 zile) și **cauza** care a adus-o pe listă. Lista de verificare pentru teren se întocmește automat pe baza concluziei și a incidentelor deschise: ce trebuie luat, ce trebuie examinat, ce trebuie măsurat – cu marcajele P0/P1 pentru stabilirea priorităților la fața locului.

Fiecare recomandare este legată de o cauză.

| Câmp | Descriere |
| --- | --- |
| ID | numărul recomandării |
| Prioritate | P0 / P1 / P2 / P3 |
| Acțiune | ce trebuie făcut |
| Rol | cine răspunde |
| Termen | până când trebuie finalizată |
| Cauză | de ce a apărut acțiunea |
| Status | deschisă / atribuită / finalizată / verificată |

### Exemple de reguli

| Condiție | Acțiune |
| --- | --- |
| gol final > 24 h, sesiuni recente | partea de server: restabiliți livrarea arhivei orare |
| gol final > 24 h, fără sesiuni | comunicație: verificați modemul / cartela SIM / alimentarea |
| T blocat ≥ 24 h | metrolog: verificați senzorul T (OIML R 137) |
| P blocat ≥ 24 h | metrolog: verificați senzorul P sau setarea P_const |
| neconcordanță Q/V | metrolog + facturare: reconciliați V, Q și valoarea impulsului (EN 12405-1 §7) |
| carte tehnică incompletă | administrator / metrolog: completați cartea tehnică |
| tipare suspecte | echipa din teren: verificați sigiliile, intrarea de impulsuri, robinetele |

## Lista de verificare pentru teren

### Ce se ia în teren

manometru de control • termometru de control • multimetru • tester de semnal/antenă • trusă de sigilare • proces-verbal de inspecție • acces la arhivă și la cartea tehnică • aparat foto.

### Ce se verifică

sigiliile corectorului și ale contorului • cablul de impulsuri • senzorii P, T • modemul, antena, alimentarea, bateria • robinetele de închidere • o posibilă conductă de ocolire (bypass) • concordanța cărții tehnice cu echipamentele reale.

### Ce se măsoară

P, T de control • Q curent • V cumulat • indexul contoarelor externe • CSQ/RSSI • tensiunea de alimentare • impulsurile de intrare • data/ora corectorului • P_const • Qmin/Qmax • valoarea impulsului.

### Ce se fotografiază

afișajul corectorului (P/T/Q/V) • data/ora de pe dispozitiv • numerele de serie • sigiliile • cablul de impulsuri • senzorii • modemul și antena • vedere de ansamblu • pozițiile robinetelor.

## Sursa în funcție de profilul de comportament

Arhiva din API și câmpul concret se aleg automat în funcție de comportamentul dispozitivului. Trei familii:

### Arhivă orară continuă

Dispozitivul scrie o înregistrare **exact o dată pe oră**. Prioritatea surselor:

1. câmpul direct „debit pe oră” (dacă dispozitivul îl calculează);
2. Δ al volumului cumulat în condiții standard;
3. Δ al volumului cumulat în condiții de lucru.

Intervalul acceptabil între înregistrări – **exact 1 oră**.

### Transmisie în sesiuni de comunicație, cu arhiva stării curente

Dispozitivul scrie înregistrări atunci când se conectează, nu strict o dată pe oră. Sursa principală este **debitul instantaneu** (îl calculează dispozitivul); sursa de rezervă este Δ al volumului cumulat, normalizat:

$$
\dot Q_h = \frac{V_t - V_{t-\Delta t}}{\Delta t / 3600}
$$

Intervalul acceptabil între înregistrări – **până la 6 ore**; dacă $\Delta t > 6\text{ h}$, punctul se consideră invalid (probabil o pierdere de date, nu o descărcare a contorului).

### Module numai de telemetrie

Dispozitivul transmite numai date de comunicație și de stare și nu măsoară gaze naturale – raportul afișează N/A cu mesajul „acest dispozitiv nu are un punct de măsurare”.

### Arhivă de rezervă pentru date rare

Dacă arhiva principală oferă < 50% din punctele așteptate, se încearcă automat arhiva secundară a sesiunilor (așa cum este, fără grilă orară), iar calculul continuă pe baza ei.

## Limitările metodologiei

### Arhivă

Dacă arhiva orară este incompletă, toate estimările pentru orele lipsă sunt **aproximative**.

### Q/V

Reconcilierea Q/V are sens numai dacă Q și V:

- au aceeași bază de volum (condiții standard sau condiții de lucru);
- au o valoare corectă a impulsului;
- provin din aceeași sursă de măsurare;
- sunt sincronizate în timp.

Consultați OIML R 137 pentru procedura de verificare metrologică și EN 12405-1 §7 pentru baza conversiei.

### Carte tehnică

Fără Qmin/Qmax, data verificării metrologice, P_const sau valoarea impulsului, concluzia comercială trebuie să conțină o rezervă.

### Tipare suspecte

Tiparele de înregistrare în minus **nu sunt o dovadă** de intervenție neautorizată. Stabilesc doar prioritatea inspecției.

### Comentariu generat de IA

Comentariul generat de IA **nu are niciun rol** în concluzia cu valoare juridică și nu înlocuiește regulile formale. Ajută doar la explicarea situației într-un limbaj accesibil.

## Cum se interpretează raportul

<Image
  src="/images/ai-analytics/consumption-analytics/04_chart_qpt_profile.svg"
  alt="Debitul, presiunea și temperatura, cu profilul de consum"
/>

_Vizualizarea Q/P/T și profilurile de comportament._ Pe graficul principal, evenimentele sunt evidențiate ca benzi verticale semitransparente, pe tipuri (salt / repaus / scăpare / senzor blocat / fără date); orice tip poate fi afișat sau ascuns cu un clic pe eticheta lui. Mediile mobile pe 7 / 30 de zile netezesc variațiile sezoniere. Profilul de consum este o defalcare dublă: profilul zilnic (ora din zi), separat pentru zilele lucrătoare și pentru sfârșitul de săptămână, și o hartă termică calendaristică „zi a săptămânii × lună”, care arată stabilitatea schimburilor de lucru.

<Image
  src="/images/ai-analytics/consumption-analytics/10_period_compare.svg"
  alt="Comparația cu perioada anterioară"
/>

_Comparația între perioade._ Diferența de la un an la altul comportă două capcane: (1) **modificarea acoperirii perioadei anterioare** (dacă acoperirea a fost de 6%, o creștere „de 33 de ori” a numărului de evenimente este un artefact al împărțirii, nu realitatea) și (2) **lipsa normalizării după durată**. De aceea, la o acoperire < 50%, comparația ascunde Δ% și afișează numai diferențele absolute, pentru a nu-l conduce pe dispecer la concluzii false.

1. Începeți cu **Concluzia privind măsurarea comercială**.
2. Stabiliți dacă perioada este pregătită pentru facturare.
3. Verificați separat monitorizarea curentă.
4. Treceți la **primele 5 incidente**.
5. Dacă există un gol final, mergeți la „comunicația față de arhivă”.
6. Dacă există o neconcordanță Q/V, mergeți la analiza volumului cumulat.
7. Dacă senzorii P/T sunt blocați, mergeți la stabilitatea senzorilor.
8. Dacă cartea tehnică este incompletă, **nu** emiteți o concluzie comercială fermă.
9. Dacă există tipare suspecte, planificați o verificare, dar **nu emiteți o concluzie cu valoare juridică**.
10. Executați planul de acțiuni pe roluri.

## Criterii minime pentru un raport complet

Un raport se consideră complet dacă conține:

- perioada analizei • $H_\text{expected}$ • înregistrările primite • înregistrările valide • înregistrările NULL • golurile interne • golul final • acoperirea • actualitatea datelor • validitatea Q/P/T • starea senzorilor • estimarea volumului neacoperit • reconcilierea Q/V • monotonia lui V • comunicația față de arhivă • gradul de completare a cărții tehnice • primele 5 incidente • planul de acțiuni pe roluri • lista de verificare pentru teren;

- trei note de avertizare obligatorii:
  - despre înregistrarea în minus (este o estimare a zonei oarbe, nu o cifră a pierderilor);
  - despre suspiciunea de intervenție neautorizată (tiparele ≠ dovezi);
  - despre comentariul generat de IA (nu este o concluzie cu valoare juridică).

## Parametrii de rulare

| Parametru | Descriere |
| --- | --- |
| Punct de măsurare nr. | punctul de măsurare analizat |
| Perioadă de la | începutul ferestrei de analiză (implicit: cu un an în urmă) |
| Perioadă până la | sfârșitul ferestrei de analiză (implicit: ieri) |
| Analiză extinsă | încarcă suplimentar arhiva sesiunilor de comunicație și arhiva regimurilor anormale din corector. Activează blocurile „Pregătirea surselor de date”, „Starea comunicației” și „Jurnalul regimurilor anormale ale dispozitivului” și completează matricea cauzelor fundamentale cu nivelul de încredere și cauza fundamentală pentru fiecare eveniment. Adaugă 5–15 secunde la timpul de generare a raportului. |
