---
title: 'Isteʼmol tahlili'
description: Bitta gaz hisob tugunining toʻliq tahlili — maʼlumotlar sifati, isteʼmol profili, qurilma pasporti va hodisalar jurnali, ixtiyoriy forenzik tafsilot bilan.
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';

Isteʼmol tahlili — tanlangan davr ichida **bitta gaz hisob tuguni** boʻyicha batafsil metrologik va ekspluatatsion chuqur tekshiruv. Maqsad shunchaki isteʼmol grafigini chizish emas, balki hisob xizmatining amaliy savollariga javob berish. Tahlil raqamni asoslantirgan joylarda xalqaro metrologiya andozalarini qoʻllaydi: ISO 5167 (torayuvchi qurilma usuli bilan oʻlchash), EN 12405-1 (gaz hajmining elektron korrektorlari), OIML R 137 (gaz hisoblagichlari), OIML R 140 (gaz yoqilgʻisi uchun oʻlchash tizimlari), ISO 6976 (kaloriyalilik), EN 1359 (membranali gaz hisoblagichlari) va EN 14236 (ultratovushli maishiy gaz hisoblagichlari).

## Maqsad

<Image src="/images/ai-analytics/uz/consumption-analytics/01_hero_block.svg" alt="Hisobot shapkasi" />

_Hisobot shapkasi._ Oʻquvchi birinchi koʻradigan narsa: tugun nomi va manzili, korrektor turi, soʻnggi soatning kalit metrikalari (P, T), oynadagi maʼlumotlarning umumiy hajmi (nuqtalar), topilgan hodisalar soni, tahlil usuli (qoidalar / qoidalar+LLM / faqat LLM), maʼlumotlarni yuklash davomiyligi va qamrab olingan davr.

Hisobot hisob xizmatining kundalik savollariga javob beradi:

- tanlangan davr uchun maʼlumotlar toʻliqmi;
- arxiv davrni kommertsiya tomonidan yopish uchun yaroqlimi;
- davr oxirida quyruq oʻtkazib yuborilishi bormi;
- joriy telemetriya ishlayaptimi;
- soatlik sarf toʻplangan hajm bilan mosmi;
- biror P/T sensori yopishganmi;
- aloqa yoki arxivni yetkazib berish bilan bogʻliq muammolar bormi;
- metrologik pasport yetarli darajada toʻldirilganmi;
- hisobni chetlab oʻtishning shubhali patternlari bormi;
- dala chiqishi kerakmi;
- qaysi rol harakat qilishi kerak: metrolog, dispetcher, aloqa muhandisi, integratsiya muhandisi, dala brigadasi yoki bilingda tahlilchi.

<Alert type="warning">
  Hisobot **buzilish toʻgʻrisidagi rasmiy akt emas**. U aralashuv, hisobni chetlab oʻtish yoki gazni
  oʻgʻirlash faktini isbotlamaydi. U tekshirishni talab qiluvchi texnik va metrologik belgilarni
  koʻrsatadi. Yuridik xulosa — majburiy dala tekshiruvini talab qiluvchi alohida jarayon.
</Alert>

## Asosiy mantiq

Hisobot **uchta ortogonal bahoni** ajratadi, ularni aralashtirish mumkin emas:

| Baho                                     | Maʼnosi                                                   |
| ---------------------------------------- | --------------------------------------------------------- |
| Davr maʼlumotlari tayyorligi             | arxiv tanlangan davr uchun yaroqlimi                      |
| Joriy telemetriya holati                 | hisobot yaratilgan paytda tugun ishlayaptimi              |
| Kommertsiya tomonidan yopishga tayyorlik | qoʻlda solishtirishsiz davrni bilingda ishlatish mumkinmi |

Tarixiy davr tahlilga toʻliq yaroqli boʻlishi mumkin, hatto tugun bugun jim boʻlsa ham.

**Toʻgʻri talqin misoli:**

```
Davr maʼlumotlari:      ogohlantirishlar bilan yaroqli
Joriy monitoring:       degradatsiya
Bilingda yopish:        yakuniy yopishga tayyor emas
```

Bu ziddiyat emas. Bu shuni anglatadi: tarixiy maʼlumotlar qisman yaroqli, ammo joriy telemetriya yoki kommertsiya yopilishi qoʻshimcha tekshirishni talab qiladi.

## Lugʻat

| Termin                | Maʼnosi                                        |
| --------------------- | ---------------------------------------------- |
| Q                     | soatlik sarf, m³/soat                          |
| P                     | gaz bosimi, kPa                                |
| T                     | gaz harorati, °C                               |
| V                     | toʻplangan hajm, m³                            |
| ΣQ                    | davr boʻyicha soatlik sarflar yigʻindisi       |
| ΔV                    | davr boʻyicha toʻplangan hajm oʻsishi          |
| H_expected            | hisobot davrida nechta soat boʻlishi kerak edi |
| H_received            | nechta soatlik yozuv haqiqatan olingan         |
| H_validQ              | nechta yozuvda sarfning valid qiymati bor      |
| H_nullQ               | nechta yozuv mavjud, lekin sarf NULL           |
| H_missing             | arxivda nechta soat yoʻq                       |
| final_tail_gap        | davr oxirida maʼlumotlarning yoʻqligi          |
| internal_gap          | davr ichidagi oʻtkazib yuborilish              |
| freshness             | arxivning oxirgi soati qanchalik dolzarb       |
| passport completeness | metrologik pasportning toʻldirilganligi        |
| incident              | harakat talab qiluvchi guruhlangan muammo      |

## Tahlilning vaqt oynasi

### Davrning boshlanishi va tugashi

Davr boshlanishi va tugashini siz belgilaysiz. Hisobot birinchi kunning 00:00 dan oxirgi kunning 23:00 gacha boʻlgan har bir soatni tahlil qiladi:

$$
\text{window\_start} = \text{report\_start } 00{:}00, \quad
\text{window\_end} = \text{report\_end } 23{:}00
$$

### Kutilayotgan soatlar soni

$$
H_\text{expected} = \mathrm{count}(\text{hours from window\_start to window\_end})
$$

Yillik davr uchun odatda $H_\text{expected} \approx 8760$.

## Arxivning mavjudligi boʻyicha taqsimi

| Kategoriya                  | Maʼnosi                                   |
| --------------------------- | ----------------------------------------- |
| Valid soat                  | yozuv bor va sarfning toʻgʻri qiymati bor |
| NULL-soat                   | yozuv bor, lekin sarf boʻsh               |
| Ichki oʻtkazib yuborilish   | davr ichida soat yoʻq                     |
| Quyruq oʻtkazib yuborilishi | davr oxirida yetishmayotgan soatlar       |
| Qamrab olinmagan soat       | sarfning valid qiymatisiz har qanday soat |

**Formulalar:**

$$
H_\text{received} = \mathrm{count}(\text{hourly records})
$$

$$
H_\text{validQ} = \mathrm{count}(\text{records where } Q \neq \text{NULL and } Q \geq 0)
$$

$$
H_\text{nullQ} = \mathrm{count}(\text{records where } 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">
  Quyruq oʻtkazib yuborilishi `missing_records` ustiga **ikki marta hisoblanmaydi**, agar bu soatlar
  yetishmayotgan yozuvlarning umumiy soniga allaqachon kirgan boʻlsa.
</Alert>

## Maʼlumotlarning toʻliqligi

<Image
  src="/images/ai-analytics/uz/consumption-analytics/07_completeness_validity.svg"
  alt="Maʼlumotlar mavjudligi, yangiligi va haqiqiyligi"
/>

_Mavjudlik, yangilik va haqiqiylik_ — har qanday mazmunli tahlildan oldin arxivning yaroqliligini tekshirishdagi uchta ortogonal kesim. **Toʻliqlik** javob beradi: kutilgan soatlardan qancha keldi. **Yangilik** — maʼlumotlar _hozir_ qanchalik dolzarb. **Haqiqiylik** — qiymatlar fizik jihatdan mantiqiy diapazonga tushadimi.

### Qamrov formulasi

$$
\mathrm{Coverage}_\text{valid} = \frac{H_\text{validQ}}{H_\text{expected}} \times 100\,\%
$$

Qoʻshimcha:

$$
\mathrm{Coverage}_\text{received} = \frac{H_\text{received}}{H_\text{expected}} \times 100\,\%
$$

Farq muhim:

- `Coverage_received` — yozuvlar umuman kelganmi;
- `Coverage_valid` — ular sarf tahlili uchun yaroqlimi.

### Qamrovni izohlash

| Qamrov  | Status    | Maʼnosi                               |
| ------- | --------- | ------------------------------------- |
| ≥ 98 %  | Excellent | arxiv deyarli toʻliq                  |
| 95–98 % | Good      | kichik ogohlantirishlar bilan yaroqli |
| 80–95 % | Warning   | sezilarli oʻtkazib yuborishlar        |
| 50–80 % | Major     | qoʻlda solishtirish kerak             |
| < 50 %  | Critical  | koʻp vazifalar uchun yaroqsiz         |

## Quyruq oʻtkazib yuborilishi

Quyruq oʻtkazib yuborilishi = tanlangan davr oxirida arxiv maʼlumotlarining yoʻqligi.

$$
H_\text{tail} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

| Quyruq     | Status                                                |
| ---------- | ----------------------------------------------------- |
| ≤ 2 soat   | qabul qilinadi                                        |
| 2–6 soat   | warning                                               |
| 6–24 soat  | major                                                 |
| > 24 soat  | critical                                              |
| > 168 soat | qurilma haftadan koʻp jim — shoshilinch dala chiqishi |

Quyruq oʻtkazib yuborilishi shu savolga javob beradi: **davrni toʻliq yopilgan deb hisoblash mumkinmi?** Agar oxirida maʼlumot boʻlmasa, hisobot retrospektiv tahlil uchun yaroqli boʻlishi mumkin, lekin yakuniy kommertsiya yopilishiga **tayyor emas** (Kommertsiya hisobi verdikti boʻlimiga qarang).

## Maʼlumotlarning yangiligi

Yangilikning ikkita alohida koʻrsatkichi.

### Davr oxiriga nisbatan yangilik

Tarixiy tahlil va biling uchun ishlatiladi:

$$
\mathrm{Lag}_\text{period} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

Shu savolga javob beradi: **tanlangan davr oxirigacha maʼlumot bormi?**

### Generatsiya momentiga nisbatan yangilik

Joriy monitoring uchun ishlatiladi:

$$
\mathrm{Lag}_\text{current} = \text{generation\_time} - \text{last\_valid\_archive\_hour}
$$

Shu savolga javob beradi: **tugun hozir ishlayaptimi?**

### Soʻnggi 24 soat qamrovi

$$
\mathrm{Fresh}_{24h} = \frac{H_\text{validQ, last 24h}}{24} \times 100\,\%
$$

### Yangilikning kompozitsion bahosi

$$
\mathrm{LagScore} = \max(0, 100 - 2 \times \mathrm{Lag}_\text{period})
$$

$$
\mathrm{FreshnessScore} = \frac{\mathrm{LagScore} + \mathrm{Fresh}_{24h}}{2}
$$

## Joriy telemetriya holati

<Image
  src="/images/ai-analytics/uz/consumption-analytics/16_telemetry_major.svg"
  alt="Joriy telemetriya holati va tugun yigʻmasi"
/>

_Joriy monitoring va tugun yigʻmasi._ Bu blok «hozir aynan shu arxiv asosida harakat qilish mumkinmi?» degan savolga javob beradi. Uchta moment taqqoslanadi: soʻnggi arxiv soati, hisobot oynasining oxiri va hisobot generatsiyasi momenti. Agar aloqa yangi, arxiv esa kechikayotgan boʻlsa — muammo **dispetcherda emas**, server tomonidagi parser/yuklashda. LLM-izoh operator uchun qisqa human-readable yakun beradi, **rasmiy statuslarni almashtirmaydi**.

**Generatsiya momentiga nisbatan** hisoblanadi, davrga nisbatan emas:

$$
\mathrm{Lag}_\text{archive, current} = \text{generation\_time} - \text{last\_archive\_hour}
$$

$$
\mathrm{Age}_\text{session} = \text{generation\_time} - \text{last\_session\_time}
$$

| Kechikish     | Status   |
| ------------- | -------- |
| ≤ 6 soat      | normal   |
| 6–24 soat     | warning  |
| 24–72 soat    | major    |
| > 72 soat     | critical |
| maʼlumot yoʻq | critical |

**Differensial diagnostika:**

| Belgi                           | Ehtimoliy sabab                                        |
| ------------------------------- | ------------------------------------------------------ |
| seanslar yangi, arxiv kechikadi | **arxivni yetkazib berish / parser / import** muammosi |
| seanslar ham, arxiv ham yoʻq    | modem / SIM / antenna / quvvat / batareya              |

## Maʼlumotlarning haqiqiyligi

Kanallarning fizik chegaralari tekshiriladi:

| Kanal     | Shart                                          |
| --------- | ---------------------------------------------- |
| Sarf Q    | $Q \geq 0$                                     |
| Bosim P   | $0 < P \leq 5000\text{ kPa}$                   |
| Harorat T | $-50\,°\mathrm{C} \leq T \leq 80\,°\mathrm{C}$ |

Har bir kanal uchun:

$$
\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}
$$

Umumiy:

$$
\mathrm{Validity}_\text{total} = \frac{\sum N_\text{ok}}{\sum N_\text{checked}} \times 100\,\%
$$

## Sensorlarning barqarorligi

<Image
  src="/images/ai-analytics/uz/consumption-analytics/06_sensor_health.svg"
  alt="Sensorlar barqarorligi diagnostikasi"
/>

_P va T sensorlarining batafsil diagnostikasi._ Har bir «yopishgan» interval start/end/uzunlik/qiymat oladi. Bir xil qiymat bilan uzun intervallar — deyarli har doim ADC nosozligi / sensor reset / ekspluatatsion oqim toʻxtashi belgisi, **haqiqiy fizika emas**. Spike-lar — bir soat ichida ≥ chegaradan ortiq keskin sakrashlar — aksincha, telemetriya artefakti yoki sensor reset belgisi.

<Image
  src="/images/ai-analytics/uz/consumption-analytics/05_sensors_critical.svg"
  alt="Sensorlar holati va harakatlar rejasi"
/>

_Sensorlar boʻyicha talqin va harakatlar rejasi._ «Sensorlar holati: TANQIDIY» — har ikki kanal boʻyicha yakuniy ogʻzaki yigʻma. Topilgan har bir muammoga avtomatik ravishda tavsiya, prioritet, rol-ijrochi va qisqa trigger (aniq nima ishladi) bilan teg qoʻyiladi.

### Yopishgan sensor

Sensor yopishgan deb hisoblanadi, agar qiymat chegaradan uzoqroq vaqt deyarli oʻzgarmasa (24 soat):

$$
H_\text{stuck} \geq 24 \text{ soat}
$$

Bir xillik dopuski (0.1 %):

$$
\mathrm{tol}(x) = \max\bigl(0.05,\ |x| \times 0.001\bigr)
$$

Nuqtalar bir xil deb hisoblanadi, agar $|x_i - x_\text{run}| \leq \mathrm{tol}(x_\text{run})$.

### Haroratning spikei

$$
|T_i - T_{i-1}| > 20\,°\mathrm{C / h}
$$

### Bosimning spikei

$$
|P_i - P_{i-1}| > \max(1.0, 0.5 \times \overline{P})
$$

### Izohlash

| Belgi             | Maʼnosi                                                |
| ----------------- | ------------------------------------------------------ |
| T uzoq yopishishi | T sensorining nosozligi ehtimoli                       |
| P uzoq yopishishi | P sensorining nosozligi yoki `P_const` rejimi ehtimoli |
| P koʻp spikelari  | kanalning nostabilligi yoki telemetriya artefakti      |
| T koʻp spikelari  | sensor xatosi yoki keskin texnologik rejim             |

<Alert type="warning">
  Yopishgan sensor aralashuvning **isboti emas**. Bu birinchi navbatda OIML R 137 / EN 12405-1
  boʻyicha tekshirishni talab qiluvchi metrologik xavf.
</Alert>

## Arxiv sifatining yigʻma bahosi

<Image
  src="/images/ai-analytics/uz/consumption-analytics/08_quality_summary.svg"
  alt="Sifatning yigʻma paneli"
/>

_Sifatning yigʻma paneli._ Yuqorida — hisobotning asosiy KPI (maʼlumotlar soatlari, hajm, hodisalar, toʻxtash/drift). Quyida — boʻlim yorliqlari (maʼlumotlar sifati, isteʼmol profili, texnik pasport, hisobga olinmaslik va aralashish, anomaliyalar va insidentlar, sutkalik, manbalar). Maʼlumotlar sifati yorligʻida — 6 sub-indikator 0–100 plus ogʻzaki verdikt va kompozit score ogʻirliklari.

Hisobot sifatning alohida qirralarini qamrab oluvchi **5 ortogonal score** (har biri 0–100) shakllantiradi:

| Score                         | Nima haqida                               |
| ----------------------------- | ----------------------------------------- |
| `score_historical_archive`    | davrning tarixiy maʼlumotlari yaroqliligi |
| `score_data_validity`         | Q/P/T qiymatlarining toʻgʻriligi          |
| `score_sensor_health`         | sensorlar holati (yopishish, spikelar)    |
| `score_timeliness`            | arxiv va seanslar yangiligi               |
| `score_operational_readiness` | joriy monitoring uchun tayyorlik          |

<Alert type="warning">
  Yagona **kompozitsion skalar** «umumiy sifat» ataylab shakllantirilmaydi — tarixiy yaroqlilikni
  yangilik bilan aralashtirish yolgʻon-tinchlantiruvchi manzara beradi. Har bir score oʻzining
  xulosasi bilan alohida oʻqiladi.
</Alert>

## Potentsial qamrab olinmagan hajmni baholash

<Image
  src="/images/ai-analytics/uz/consumption-analytics/14_uncovered_volume.svg"
  alt="Qamrab olinmagan hajmning xavf bahosi"
/>

_Bir xil hajmning ikki xil bahosi._ Davr boʻyicha oʻrtacha konservativ (tekis profilda quyruqni qayta tiklash), faol soatlar profili esa sutkalik ritmni (ish smenasi / tun / dam olish) aniqroq hisobga oladi. Ular orasidagi farq — bu **noaniqlik diapazoni**, bitta nuqta emas. Xavf darajasi teshikning davomiyligi va xarakterli oʻrtacha sarfga bogʻliq.

<Image
  src="/images/ai-analytics/uz/consumption-analytics/11_anomalous_month.svg"
  alt="Anomal isteʼmol oyi"
/>

_Anomal isteʼmol oyi._ Oylik anomaliyalar — alohida signal boʻlib, yillik ritm (isitish mavsumi vs yoz) fonida baholanadi. Agar muayyan oy boshqalar medianasidan **sezilarli darajada** yuqori boʻlsa (chegara × 2), u avtomatik tarzda yuqoriga chiqariladi va hodisalar lentasini, pasportni hamda texnologik sabablarni tekshirish taklif qilinadi.

Bu blok valid arxiv maʼlumotlarisiz soatlarda qancha gaz oʻtgan boʻlishi mumkinligini baholaydi.

<Alert type="warning">
  Bu **tasdiqlangan yoʻqotish emas**. Oʻgʻirlik summasi emas va avtomatik zarar daʼvosi emas. Bu
  **blind spot** bahosi — valid arxiv tomonidan qamrab olinmagan hajm.
</Alert>

### Valid maʼlumotsiz soatlar

$$
H_\text{blind} = H_\text{missing} + H_\text{nullQ}
$$

### Oʻrtacha boʻyicha baho

$$
\overline{Q} = \frac{\sum Q_\text{valid}}{H_\text{validQ}},
\qquad
V_\text{blind, mean} = H_\text{blind} \times \overline{Q}
$$

Nisbatan bir tekis isteʼmoli boʻlgan obyektlar uchun mos.

### Profil boʻyicha baho

Kunning $h$-soati uchun tipik sarf (davr boʻyicha mediana):

$$
\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))
$$

Agar biror soat uchun profil ishonchsiz boʻlsa, $\overline{Q}$ ishlatiladi.

### Baholash diapazoni

Har ikkala baho koʻrsatiladi. Agar ular yaqin boʻlsa — sutkalik profil barqaror. Agar ular sezilarli farq qilsa — obyektning ish rejimi aniq boʻlib, ehtiyotkorlik kerak.

## Ishlamayotgan tugun

Agar tugun davr davomida deyarli real isteʼmolga ega boʻlmagan boʻlsa — sarfning yoʻqligi **xavf sifatida talqin qilinmaydi**.

### Idle-tekshirish

Adaptiv near-zero chegarasi:

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

Tugun ishlamayotgan deb hisoblanadi, agar **ikkala shart ham** bajarilsa:

$$
\overline{Q} \leq 0.05\text{ m³/h} \quad \text{and} \quad V_\text{blind, mean} < 5\text{ m³}
$$

### Effekt

Severity shkalasi yumshoqroq boʻladi (`critical` oʻrniga max `medium`), va hisobot quyidagini yozadi:

> Tugun fakt boʻyicha ishlamagan / mavsumiy toʻxtatilgan. Isteʼmolning yoʻqligi hisobga olinmaganlik xavfi sifatida baholanmaydi.

## Q/V-solishtirish

<Image
  src="/images/ai-analytics/uz/consumption-analytics/13_qv_volume.svg"
  alt="Toʻplangan hajm tahlili"
/>

_Soatlik oqimni toʻplagich bilan solishtirish._ Metrologik kommertsiya hisobi oniy Q qiymatlari yigʻindisi boʻyicha emas, V oʻsishi boʻyicha olib boriladi. ΣQ ≈ ΔV ≥ 80 % soatlar mosligi — sogʻlom tugun uchun norma. **V orqaga qaytishlari** (soatdan soatga, $V_{t+1} < V_t$) va **V keskin sakrashlari** — arxiv uzilishining tanqidiy belgilari va deyarli har doim tekshirishni talab qiladi.

Kalit metrologik blok. Soatlik sarflar yigʻindisini toʻplagich oʻsishi bilan solishtiradi.

### Asosiy miqdorlar

$$
\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\,\%
$$

### Farqni izohlash

| $\vert\mathrm{Diff}_\%\vert$ | Verdict                        |
| ---------------------------- | ------------------------------ |
| ≤ 2 %                        | `good` (aligned)               |
| 2–5 %                        | `warn` (aligned with caveats)  |
| > 5 %                        | `bad` (mismatch)               |
| V yoʻq                       | `unavailable`                  |
| Q/V bazasi nomaʼlum          | requires passport verification |

### Toʻplagichning monotonligi

Toʻplagich oʻsishi yoki doimiy qolishi kerak.

Qaytarish: $\Delta V_h < -0.5\text{ m³}$ → insident `V_ROLLBACK`.

Keskin sakrash: $\Delta V_h > V_\text{jump\_threshold}$ → insident `V_JUMP`.

### Soatlik solishtirish $Q \cdot 1\text{h} \approx \Delta V$

Ham $Q$ ham $V$ mavjud har bir soat uchun:

$$
\mathrm{Match}_h = \frac{|Q_h - \Delta V_h|}{\max(Q_h, \Delta V_h)}
$$

Soat moslangan deb hisoblanadi, agar $\mathrm{Match}_h \leq 20\,\%$. Moslangan soatlar ulushi:

$$
\mathrm{Match}_\% = \frac{H_\text{matched}}{H_\text{checked}} \times 100\,\%
$$

### Q/V-solishtirishning cheklovlari

Hatto yaxshi raqamli mos kelish ham kommertsiya yaroqliligiga teng emas. Bilish kerak:

| Savol                          | Nima uchun muhim                             |
| ------------------------------ | -------------------------------------------- |
| Q — standart yoki ishchi hajm? | turli bazalar siljish beradi                 |
| V — standart yoki ishchi hajm? | bir xil baza kerak                           |
| Impulsning narxi qancha?       | toʻliq kommertsiya solishtirishi uchun zarur |
| V monotonmi?                   | qaytarishlar arxivni shubha ostiga qoʻyadi   |
| Qoʻlda korreksiyalar bormi?    | ular farqni tushuntirishi mumkin             |

Agar baza nomaʼlum boʻlsa:

> Q/V-solishtirish raqamli moslangan, lekin kommertsiya bazasi tasdiqlanmagan. Pasportni, impuls narxini va hajm bazasini tekshirish kerak (EN 12405-1 §7 ga qarang).

## Aloqa vs arxiv

<Image
  src="/images/ai-analytics/uz/consumption-analytics/12_csq_vs_archive.svg"
  alt="CSQ vs arxiv diagnostikasi"
/>

_«Aloqa vs yuklash» differensial diagnostikasi._ Agar oynada sessiyalar boʻlsa, lekin arxiv boʻlmasa — qurilma GSM/CSQ orqali javob beradi, ammo arxiv yo yozilmayapti, yo server tomonidan parsing qilinmayapti. Bu **dispetcher / modem muammosi emas** — uni integratsiya muhandisi hal qilishi kerak.

### Asosiy formulalar

$$
N_\text{sessions} = \mathrm{count}(\text{sessions}), \quad
N_\text{success} = \mathrm{count}(\text{successful sessions})
$$

$$
\mathrm{SessionSuccess}_\% = \frac{N_\text{success}}{N_\text{sessions}} \times 100\,\%
$$

### Arxivni yetkazib berish

Har bir oʻtkazib yuborilish uchun aynan oʻsha vaqt oynasida seanslar boʻlganligi tekshiriladi:

- `gap_with_sessions` — arxiv oʻtkazib yuborilgan, lekin seanslar boʻlgan;
- `gap_without_sessions` — arxiv ham, seanslar ham boʻlmagan.

### Differensial diagnostika

| Holat                                        | Ehtimoliy sabab                                     |
| -------------------------------------------- | --------------------------------------------------- |
| seanslar yoʻq, arxiv yoʻq                    | modem / SIM / antenna / quvvat                      |
| seanslar bor, arxiv yangilanmayapti          | hourly archive yetkazish / parser / import          |
| seanslar bor, lekin arxivning bir qismi yoʻq | toʻliq oʻqilmaganlik / sahifalar uzilishi / backend |
| seanslar yangi, arxiv eski                   | **GSM muammosi emas**, arxivni yetkazish muammosi   |
| seans timestampi kelajakda                   | clock / timezone mismatch                           |

### Aloqa sifati

Agar signal sifati CSQ sifatida uzatilsa:

$$
\mathrm{RSSI}_\text{dBm} \approx -113 + 2 \times \mathrm{CSQ}
$$

Misol: CSQ=29 → RSSI ≈ −55 dBm (aʼlo).

## Metrologik pasport

### Majburiy maydonlar va ularning ogʻirliklari

Pasport ogʻirliklar bilan 11 ta maydonni belgilaydi:

| Maydon                     | Ogʻirlik | Nima uchun                           |
| -------------------------- | -------- | ------------------------------------ |
| equipment_serial_number    | 1.0      | identifikatsiya                      |
| equipment_type_id          | 1.0      | modeli/turi                          |
| installation_date          | 0.8      | ekspluatatsion kontekst              |
| **verification_date**      | **1.5**  | yuridik yaroqlilik (OIML R 137 b. 3) |
| next_verification_date     | 1.0      | muddatni nazorat qilish              |
| **flow_range** (Qmin/Qmax) | **1.5**  | EN 12405-1 boʻyicha diapazon         |
| meter_serial_number        | 1.0      | joyida identifikatsiya               |
| meter_type                 | 1.0      | metrologik bogʻlanish                |
| firmware_version           | 0.5      | moslik va maʼlum xatolar             |
| p_const                    | 0.5      | almashtiruvchi bosim                 |
| pulse_weight               | 0.8      | Q/V-solishtirish uchun               |

### Toʻliqlik formulasi

$$
\mathrm{PassportCompleteness} = \frac{\sum w_\text{filled}}{\sum w_\text{required}} \times 100\,\%
$$

### Izohlash

| Toʻliqlik | Status              |
| --------- | ------------------- |
| ≥ 80 %    | COMPLETE            |
| 50–80 %   | PARTIAL             |
| 20–50 %   | INCOMPLETE          |
| < 20 %    | CRITICAL_INCOMPLETE |

Agar pasport toʻliq emas boʻlsa, kommertsiya xulosasi quyidagi ogohlantirishni oʻz ichiga olishi shart:

> Metrologik pasport toʻliq emas. Kommertsiya xulosasi qoʻlda solishtirishni va OIML R 137 / EN 12405-1 ga murojaat qilishni talab qiladi.

## Hisobni chetlab oʻtishning shubhali patternlari

<Image
  src="/images/ai-analytics/uz/consumption-analytics/03_forensic_signals.svg"
  alt="Hisobga olinmaslik signallari triaji"
/>

_Signallar triaji._ Har bir signal kategoriya boʻyicha tasniflanadi, dalil darajasiga (past / oʻrta / yuqori), dala prioritetiga, rasmiy dalilga va tavsiya etilgan harakatga ega boʻladi. **Bu tugun uchun hukm emas** — bu operator yoki servis xizmati tomonidan qoʻlda tekshirilishi kerak boʻlgan oynalar roʻyxati.

Bu **evristikalar**, isbotlar emas.

### Near-zero chegarasi

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

### Faol soatlarda nol sarf

Soat shubhali tinch deb hisoblanadi, agar $Q_h < Q_\text{nearzero}$ VA u obyektning tipik faol intervaliga tegishli boʻlsa.

### Live-P + zero (P tirik holatda Q≈0)

Boʻlishi mumkin:

- toʻxtash / yopiq downstream-klapan / mavsumiy toʻxtash;
- P_const rejimi yoki sensor nosozligi;
- impulsli kirish xatosi;
- **hisobni chetlab oʻtish ehtimoli** — lekin isbotlanmagan.

<Alert type="warning">
  Live-P + zero aralashuvning **isboti emas**. Bu faqat tugunning ish rejimini tekshirish uchun
  sabab.
</Alert>

### Break-recovery

Pattern: normal Q → Q≈0 → normal Q. Rejimning keskin oʻzgarishi, lekin buzilish isboti emas. Mumkin tushuntirishlar: rejalashtirilgan oʻchirish / obyektning toʻxtatilishi / kranning yopilishi / kanal nosozligi / qoʻlda aralashuv / arxivni yetkazib berish xatosi.

### Tasdiqlangan aralashuv

Faqat statistik pattern aralashuvni tasdiqlay **olmaydi**. **Hard-evidence** kerak:

- korpusning ochilishi (device events da cover_open);
- magnit taʼsiri;
- parametrlarning oʻzgarishi (parameter_change);
- P_const ning ruxsatsiz oʻzgarishi;
- arxivni tashlash;
- impulsli kirish bilan tasdiqlangan manipulyatsiya;
- dala tekshiruvi akti;
- foto / plomba / joyidagi koʻrsatkichlar.

Toʻgʻri xulosa formati:

```
Confirmed tampering: NOT DETECTED
Suspicious patterns:  PRESENT
Legal readiness:      NOT READY
```

## Kommertsiya hisobi verdikti

<Image
  src="/images/ai-analytics/uz/consumption-analytics/02_commercial_verdict.svg"
  alt="Kommertsiya hisobi verdikti"
/>

_Boshqaruv statusi._ 7 qator rahbar darajasidagi 7 ta turli savolni yopadi: davrni yopish mumkinmi (biling), tugun hozir ishlayaptimi (monitoring), arxiv va toʻplagich mosmi (Q×h vs ΔV), dala chiqishi kerakmi, shubhali patternlar bormi, maʼlumotlar qanchalik yaxlit, barcha pasport parametrlari bormi. Har bir qator klikable va hisobotning isbotlovchi qismiga olib boradi.

Hisob xizmati rahbari uchun asosiy xulosa.

### Bilingdagi arxiv — qoidalar

**Ready:**

- Coverage ≥ 98 %
- Tail gap ≤ 2 soat
- Q/V aligned (`good`)
- V monoton
- Passport COMPLETE
- Sensorlarda kritik muammolar yoʻq

**Ready with caveats:**

- Coverage 95–98 %
- Tail gap 2–24 soat
- Q/V aligned with caveats (`warn`)
- Passport PARTIAL
- Kritik blocker yoʻq

**Not ready for final closure:**

- Tail gap > 24 soat YOKI
- Q/V tasniflanmagan YOKI
- V rollback mavjud YOKI
- Pasport kommertsiya maydonlarida toʻliq emas YOKI
- Sensorda kritik muammo

**Not usable:**

- Coverage kritik past YOKI
- arxiv shikastlangan YOKI
- V katta rollback/spikes ga ega YOKI
- Q/V toʻliq moslanmagan YOKI
- asosiy kanal mavjud emas

### Joriy monitoring — alohida baholanadi

| Shart                         | Status                         |
| ----------------------------- | ------------------------------ |
| arxiv va seans yangi          | usable                         |
| arxiv kechikadi, seanslar bor | degraded / delivery issue      |
| arxiv ham, seanslar ham eski  | critical / communication issue |
| timestamp xato                | unreliable                     |

### Dala inspektsiyasi

Dala chiqishi kerak, agar **hech boʻlmaganda bittasi**:

- quyruq oʻtkazib yuborilishi tiklanmagan;
- Q/V tasniflanmagan;
- toʻplagich qaytarishi bor;
- pasport kritik toʻliq emas;
- P yoki T sensori yopishgan;
- hisobni chetlab oʻtishning shubhali patternlari bor;
- kuchli anomaliyalar mavjud holda hodisalar jurnali mavjud emas;
- joriy telemetriya kritik degradatsiyaga uchragan.

## Insidentlar

Insident — **guruhlangan** muammo, har bir raw-yozuv emas.

### Turlari

| Tur                    | Maʼnosi                           |
| ---------------------- | --------------------------------- |
| `FINAL_TAIL_GAP`       | davr oxirida maʼlumot yoʻq        |
| `COMMUNICATION_GAP`    | aloqa uzilishi                    |
| `ARCHIVE_DELIVERY_GAP` | seanslar bor, arxiv yetkazilmagan |
| `Q_V_MISMATCH`         | Q va V mos kelmaydi               |
| `V_ROLLBACK`           | toʻplagich qaytdi                 |
| `P_SENSOR_STUCK`       | bosim yopishdi                    |
| `T_SENSOR_STUCK`       | harorat yopishdi                  |
| `PASSPORT_INCOMPLETE`  | pasport maydonlari yetishmaydi    |
| `TAMPERING_CANDIDATE`  | shubhali pattern, isbot emas      |

### Guruhlash printsipi

```
raw events → grouped incidents → top priority incidents
```

Misol: 301 raw → 15 grouped → harakat uchun Top-5. Operatorga 301 ta bir xil hodisani 301 ta alohida muammo sifatida koʻrsatmaslik kerak.

## Harakatlar rejasi

<Image
  src="/images/ai-analytics/uz/consumption-analytics/09_action_plan_checklist.svg"
  alt="Rollar boʻyicha harakatlar rejasi va dala cheklisti"
/>

_P0/P1/P2 prioritetli harakatlar._ Har bir harakatda rol-ijrochi, muddat (bugun / kun davomida / 1–3 kun) va u roʻyxatga **qanday sababga** koʻra tushgani koʻrsatiladi. Dala cheklisti verdikt va ochiq insidentlardan avtomatik shakllanadi: nima olish, qayerga qarash, nimani oʻlchash — joyida prioritetlash uchun P0/P1 belgilari bilan.

Har bir tavsiya sababga bogʻlangan.

| Maydon    | Tavsif                             |
| --------- | ---------------------------------- |
| ID        | tavsiyaning raqami                 |
| Prioritet | P0 / P1 / P2 / P3                  |
| Harakat   | nima qilish kerak                  |
| Rol       | kim javobgar                       |
| Muddat    | qachon bajarish                    |
| Sabab     | nima uchun bu harakat paydo boʻldi |
| Status    | open / assigned / done / verified  |

### Qoidalar misollari

| Shart                            | Harakat                                                              |
| -------------------------------- | -------------------------------------------------------------------- |
| quyruq > 24 soat, seanslar yangi | backend: hourly archive yetkazib berishni tiklash                    |
| quyruq > 24 soat, seanslar yoʻq  | aloqa: modem/SIM/quvvatni tekshirish                                 |
| T stuck ≥ 24 soat                | metrolog: T sensorini tekshirish (OIML R 137)                        |
| P stuck ≥ 24 soat                | metrolog: P sensorini yoki P_const sozlamasini tekshirish            |
| Q/V mismatch                     | metrolog + biling: V, Q, impuls narxini solishtirish (EN 12405-1 §7) |
| pasport toʻliq emas              | administrator / metrolog: pasportni toʻldirish                       |
| suspicious patterns              | dala brigadasi: plombalarni, impulsli kirishni, kranlarni tekshirish |

## Dala cheklisti

### Nimani olib chiqish

etalon manometr • etalon termometr • multimetr • signal/antenna testeri • plomba toʻplami • tekshirish protokoli • arxiv va pasportga kirish • fotofiksatsiya.

### Nimani tekshirish

korrektor va hisoblagich plombalari • impulsli kabel • P, T sensorlari • modem, antenna, quvvat, batareya • yopish armaturasi • mumkin baypas • pasportning haqiqiy jihozga muvofiqligi.

### Nimani oʻlchash

etalon P, T • joriy Q • toʻplangan V • tashqi hisoblagich koʻrsatkichlari • CSQ/RSSI • taʼminot kuchlanishi • kirishdagi impulslar • korrektor sanasi/vaqti • P_const • Qmin/Qmax • impuls narxi.

### Nimani suratga olish

korrektor displeyi (P/T/Q/V) • qurilmadagi sana/vaqt • seriya raqamlari • plombalar • impulsli kabel • sensorlar • modem va antenna • umumiy koʻrinish • kranlar holati.

## Xulq-atvor profili boʻyicha manba

Aniq API arxivi va maydon qurilmaning xulq-atvori boʻyicha avtomatik tanlanadi. Uchta oila:

### Uzluksiz soatlik arxiv

Qurilma koʻrsatkichlarni **qatʼiy soatiga bir marta** yozadi. Manba prioriteti:

1. toʻgʻridan-toʻgʻri «soatdagi sarf» maydoni (agar qurilma uni hisoblasa);
2. toʻplangan standart hajmning Δ si;
3. toʻplangan ishchi hajmning Δ si.

Ruxsat etilgan tanaffus — **aniq 1 soat**.

### Joriy holat arxivi bilan sessiyali uzatish

Qurilma koʻrsatkichlarni aloqaga chiqqanda yozadi, qatʼiy har soatda emas. Asosiy manba — **oniy sarf** (qurilma hisoblaydi); fallback — normalizatsiya bilan toʻplangan hajm Δ si:

$$
\dot Q_h = \frac{V_t - V_{t-\Delta t}}{\Delta t / 3600}
$$

Ruxsat etilgan tanaffus — **6 soatgacha**; agar $\Delta t > 6\text{ h}$ boʻlsa nuqta yaroqsiz hisoblanadi (ehtimoliy maʼlumotlar yoʻqolishi, hisoblagich razryadi emas).

### Sof telemetriya bloklari

Qurilma faqat aloqa/holatni uzatadi, gazni oʻlchamaydi — hisobot N/A ni «bu qurilmada hisob nuqtasi yoʻq» belgisi bilan koʻrsatadi.

### Sparse-fallback

Agar asosiy arxiv kutilgan nuqtalarning < 50 % ni bersa, avtomatik ravishda ikkinchi darajali seanslar arxivi sinab koʻriladi (qanday boʻlsa shunday, soatlik tarmoqsiz) va hisob undan davom etadi.

## Metodikaning cheklovlari

### Arxiv

Agar soatlik arxiv toʻliq emas boʻlsa, oʻtkazib yuborilgan soatlar uchun barcha baholar **taxminiy**.

### Q/V

Q/V-solishtirish faqat Q va V quyidagi shartlarni qondirganda maʼnoga ega:

- bir hajm bazasini (standart yoki ishchi) boʻlishadi;
- toʻgʻri impuls narxiga ega;
- bir hisob manbasiga tegishli;
- vaqt boʻyicha sinxronlangan.

Tekshiruv tartibi uchun OIML R 137 ga va qayta hisoblash bazasi uchun EN 12405-1 §7 ga qarang.

### Pasport

Qmin/Qmax, tekshiruv sanasi, P_const yoki impuls narxisiz kommertsiya xulosasi ogohlantirish bilan boʻlishi kerak.

### Shubhali patternlar

Hisobni chetlab oʻtish patternlari — aralashuvning **isboti emas**. Ular faqat tekshirish prioritetini belgilaydi.

### LLM-izoh

LLM-izoh yuridik xulosada **ishtirok etmaydi** va rasmiy qoidalarni almashtirmaydi. U faqat vaziyatni inson tilida tushuntirishga yordam beradi.

## Hisobotni qanday oʻqish kerak

<Image
  src="/images/ai-analytics/uz/consumption-analytics/04_chart_qpt_profile.svg"
  alt="Sarf, bosim va harorat isteʼmol profili bilan"
/>

_Q/P/T vizualizatsiyasi va xulq-atvor profillari._ Asosiy grafikda hodisalar yarim shaffof vertikal polosalar bilan turlari boʻyicha (sakrash / toʻxtash / oqish / yopishgan sensor / maʼlumot yoʻq) belgilanadi — istalgan turni uning chipini bosish orqali yashirish/koʻrsatish mumkin. 7 / 30 kunlik koʻchma oʻrtachalar mavsumiy silliqlash beradi. Isteʼmol patterni — ikki tomonlama boʻlinish: sutkalik profil (kun soati) ish kunlari/dam olish boʻyicha ajratilgan va kalendar heatmap «hafta kuni × oy», bu ish smenalarining barqarorligini koʻrsatadi.

<Image
  src="/images/ai-analytics/uz/consumption-analytics/10_period_compare.svg"
  alt="Avvalgi davr bilan solishtirish"
/>

_Davrlararo solishtirish._ Year-over-year delta ikkita tuzoq bilan keladi: (1) **avvalgi davr qamrovining oʻzgarishi** (agar u 6 % boʻlsa, hodisalarning «33×» oʻsishi — bu boʻlinish artefakti, real emas) va (2) **oyna uzunligi boʻyicha normallashtirishning yoʻqligi**. Shuning uchun qamrov < 50 % boʻlganda solishtirish Δ % ni yashiradi va faqat absolyut deltalarni koʻrsatadi, operatorni notoʻgʻri xulosaga olib bormaslik uchun.

1. **Kommertsiya hisobi verdikti** dan boshlang.
2. Davr bilingga tayyormi yoki yoʻqligini koʻring.
3. Joriy monitoringni alohida tekshiring.
4. **Top-5 insidentlarga** oʻting.
5. Quyruq boʻlsa — «aloqa vs arxiv» ga oʻting.
6. Q/V kelishmovchiligi boʻlsa — toʻplangan hajm tahliliga oʻting.
7. P/T sensorlari yopishgan boʻlsa — sensorlar barqarorligiga oʻting.
8. Pasport toʻliq emas boʻlsa — qatʼiy kommertsiya xulosasini **chiqarmang**.
9. Shubhali patternlar boʻlsa — tekshirishni rejalashtiring, lekin **yuridik vediktni chiqarmang**.
10. Rollar boʻyicha harakatlar rejasini bajaring.

## Toʻliq hisobotning minimal mezonlari

Hisobot toʻliq deb hisoblanadi, agar u oʻz ichiga olsa:

- tahlil davri • $H_\text{expected}$ • olingan yozuvlar • valid yozuvlar • NULL-yozuvlar • ichki oʻtkazib yuborishlar • quyruq oʻtkazib yuborilishi • qamrov • yangilik • Q/P/T haqiqiyligi • sensorlar holati • qamrab olinmagan hajm bahosi • Q/V-solishtirish • V monotonligi • aloqa vs arxiv • pasport toʻliqligi • Top-5 insidentlar • rollar boʻyicha harakatlar rejasi • dala cheklisti;

- uchta majburiy disklaymer:
  - hisobga olinmaganlik boʻyicha (bu blind-spot bahosi, yoʻqotish summasi emas);
  - aralashuv shubhasi boʻyicha (patternlar ≠ isbot);
  - LLM-izoh boʻyicha (yuridik xulosa emas).

## Ishga tushirish parametrlari

| Parametr              | Tavsif                                                                                                                                                                                                                                                                                                                                                    |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Hisob tuguni #        | tahlil qilinadigan hisob tuguni                                                                                                                                                                                                                                                                                                                           |
| Davr boshi            | tahlil oynasining boshi (standart: bir yil orqaga)                                                                                                                                                                                                                                                                                                        |
| Davr oxiri            | tahlil oynasining oxiri (standart: kecha)                                                                                                                                                                                                                                                                                                                 |
| Kengaytirilgan tahlil | qoʻshimcha ravishda aloqa-seanslari arxivini va korrektorning shtatdan tashqari hodisalari arxivini yuklaydi. Maʼlumot manbasi tayyorligi, Aloqa sogʻligi va Qurilma shtatdan tashqari jurnali bloklarini yoqadi va Root Cause Matrix ni har bir hodisa boʻyicha ishonchlilik va asosiy sabab bilan toʻldiradi. Hisobot tuzilishiga 5–15 soniya qoʻshadi. |
