---
title: 'تحلیل مصرف'
description: تحلیل کامل یک گرهٔ اندازه‌گیری گاز — کیفیت داده، پروفایل مصرف، پاسپورت دستگاه و ژورنال رویدادها، با امکان جزئیات فارنزیک.
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';

تحلیل مصرف یک بررسی متروژیک و عملیاتی عمیق و مفصل دربارهٔ **یک گرهٔ اندازه‌گیری گاز** در دورهٔ انتخاب‌شده است. هدف صرفاً ترسیم نمودار مصرف نیست، بلکه پاسخ‌گویی به پرسش‌های عملی واحد اندازه‌گیری است. تحلیل، در جایی که یک عدد را توجیه می‌کند، مراجع متروژیک بین‌المللی را به کار می‌گیرد: ISO 5167 (اندازه‌گیری با وسیلهٔ تنگ‌کننده)، EN 12405-1 (تصحیح‌کننده‌های الکترونیکی حجم گاز)، OIML R 137 (کنتورهای گاز)، OIML R 140 (سامانه‌های اندازه‌گیری سوخت گازی)، ISO 6976 (محاسبهٔ ارزش حرارتی)، EN 1359 (کنتورهای دیافراگمی) و EN 14236 (کنتورهای اولتراسونیک خانگی).

## هدف

<Image src="/images/ai-analytics/fa/consumption-analytics/01_hero_block.svg" alt="سربرگ گزارش" />

_سربرگ گزارش._ نخستین چیزی که خواننده می‌بیند: نام و آدرس گره، نوع مصحح، شاخص‌های کلیدی ساعت اخیر (P، T)، حجم کلی دادهٔ پنجره (نقاط)، تعداد رویدادهای کشف‌شده، روش تحلیل (قواعد / قواعد+LLM / فقط LLM)، زمان بازیابی و دورهٔ پوشش‌داده‌شده.

گزارش به پرسش‌های روزمرهٔ واحد اندازه‌گیری پاسخ می‌دهد:

- آیا داده‌های دورهٔ انتخاب‌شده کامل است؛
- آیا آرشیو برای بستن دورهٔ تجاری قابل استفاده است؛
- آیا در انتهای دوره شکاف انتهایی وجود دارد؛
- آیا تله‌متری جاری کار می‌کند؛
- آیا جریان ساعتی با حجم انباشته مطابقت دارد؛
- آیا حسگرهای P یا T گیر کرده‌اند؛
- آیا مشکلات ارتباطی یا تحویل آرشیو وجود دارد؛
- آیا پاسپورت متروژیک به‌اندازهٔ کافی پر شده است؛
- آیا الگوهای مشکوک کم‌شماری دیده می‌شود؛
- آیا بازرسی میدانی لازم است؛
- کدام نقش باید عمل کند: متروژیست، دیسپچر، مهندس ارتباطات، مهندس یکپارچه‌سازی، گروه میدانی یا تحلیل‌گر صورت‌حساب.

<Alert type="warning">
  این گزارش **سند رسمی تخلف نیست**. وقوع دستکاری، دور زدن اندازه‌گیری یا سرقت گاز را اثبات نمی‌کند.
  تنها نشانه‌های فنی و متروژیکی را که نیازمند بررسی هستند نشان می‌دهد. حکم حقوقی فرایندی جداگانه است
  که بازرسی میدانی الزامی دارد.
</Alert>

## منطق اصلی

گزارش **سه ارزیابی متعامد** را از هم تفکیک می‌کند که نباید با هم درآمیخته شوند:

| ارزیابی                | مفهوم                                                    |
| ---------------------- | -------------------------------------------------------- |
| آمادگی دادهٔ دوره      | آیا آرشیو برای دورهٔ انتخاب‌شده قابل استفاده است         |
| وضعیت کنونی تله‌متری   | آیا گره در لحظهٔ تولید گزارش زنده است                    |
| آمادگی برای بستن تجاری | آیا دوره برای صورت‌حساب بدون تطبیق دستی قابل استفاده است |

یک دورهٔ تاریخی می‌تواند برای تحلیل کاملاً قابل استفاده باشد حتی اگر گره امروز ساکت باشد.

**نمونهٔ تفسیر صحیح:**

```
Period data:           usable with caveats
Current monitoring:    degraded
Billing closure:       not ready for final closure
```

این تناقض نیست. یعنی دادهٔ تاریخی تا حدی قابل استفاده است، اما تله‌متری جاری یا بستن تجاری نیازمند بررسی اضافی است.

## واژه‌نامه

| اصطلاح                | مفهوم                                                 |
| --------------------- | ----------------------------------------------------- |
| Q                     | جریان ساعتی، m³/h                                     |
| P                     | فشار گاز، kPa                                         |
| T                     | دمای گاز، °C                                          |
| V                     | حجم انباشته، m³                                       |
| ΣQ                    | مجموع جریان‌های ساعتی در دوره                         |
| ΔV                    | افزایش حجم انباشته در دوره                            |
| H_expected            | تعداد ساعاتی که در دورهٔ گزارش انتظار می‌رفت          |
| H_received            | تعداد رکوردهای ساعتی واقعاً دریافت‌شده                |
| H_validQ              | تعداد رکوردهای دارای مقدار جریان معتبر                |
| H_nullQ               | تعداد رکوردهایی که وجود دارند ولی Q در آن‌ها NULL است |
| H_missing             | تعداد ساعات غایب از آرشیو                             |
| final_tail_gap        | نبود دادهٔ پایان دوره                                 |
| internal_gap          | شکاف داخل دوره                                        |
| freshness             | تازگی آخرین ساعت آرشیو                                |
| passport completeness | نرخ کامل بودن پاسپورت متروژیک                         |
| incident              | مسئلهٔ گروه‌بندی‌شده که نیازمند اقدام است             |

## پنجرهٔ زمانی تحلیل

### آغاز و پایان دوره

شما آغاز و پایان دوره را تعیین می‌کنید. گزارش تمام ساعات از 00:00 روز نخست تا 23:00 روز پایانی را تحلیل می‌کند:

$$
\text{window\_start} = \text{report\_start } 00{:}00, \quad
\text{window\_end} = \text{report\_end } 23{:}00
$$

### تعداد ساعت‌های مورد انتظار

$$
H_\text{expected} = \mathrm{count}(\text{hours from window\_start to window\_end})
$$

برای دورهٔ سالانه معمولاً $H_\text{expected} \approx 8760$.

## توزیع دسترس‌پذیری آرشیو

| دسته           | مفهوم                                     |
| -------------- | ----------------------------------------- |
| ساعت معتبر     | رکورد وجود دارد و مقدار جریان آن صحیح است |
| ساعت NULL      | رکورد وجود دارد ولی جریان خالی است        |
| شکاف داخلی     | ساعتی که داخل دوره غایب است               |
| شکاف انتهایی   | ساعت‌های گم‌شده در انتهای دوره            |
| ساعت پوشش‌نشده | هر ساعتی که مقدار جریان معتبر ندارد       |

**فرمول‌ها:**

$$
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">
  شکاف انتهایی **دو بار شمارش نمی‌شود** و در صورتی که آن ساعت‌ها از قبل بخشی از کل ساعات غایب باشند،
  جداگانه به `missing_records` افزوده نمی‌شود.
</Alert>

## کامل بودن داده‌ها

<Image
  src="/images/ai-analytics/fa/consumption-analytics/07_completeness_validity.svg"
  alt="دسترس‌پذیری، تازگی و اعتبار داده‌ها"
/>

_دسترس‌پذیری، تازگی و اعتبار_ — سه برش متعامد در «بررسی صلاحیت آرشیو» پیش از هر تحلیل محتوایی. **کامل بودن** پاسخ می‌دهد: چند ساعت از ساعت‌های مورد انتظار رسیده است. **تازگی** — داده در همین لحظه چقدر به‌روز است. **اعتبار** — آیا مقادیر در بازه‌های فیزیکی منطقی قرار دارند.

### فرمول پوشش

$$
\mathrm{Coverage}_\text{valid} = \frac{H_\text{validQ}}{H_\text{expected}} \times 100\,\%
$$

علاوه بر آن:

$$
\mathrm{Coverage}_\text{received} = \frac{H_\text{received}}{H_\text{expected}} \times 100\,\%
$$

تفاوت اهمیت دارد:

- `Coverage_received` — آیا رکوردها اصلاً رسیده‌اند؛
- `Coverage_valid` — آیا برای تحلیل جریان قابل استفاده‌اند.

### تفسیر پوشش

| پوشش    | وضعیت     | مفهوم                                 |
| ------- | --------- | ------------------------------------- |
| ≥ 98 %  | Excellent | آرشیو تقریباً کامل است                |
| 95–98 % | Good      | با تحفظات جزئی قابل استفاده           |
| 80–95 % | Warning   | شکاف‌های قابل توجه                    |
| 50–80 % | Major     | تطبیق دستی لازم است                   |
| < 50 %  | Critical  | برای بیشتر کاربردها قابل استفاده نیست |

## شکاف انتهایی

شکاف انتهایی = نبود دادهٔ آرشیوی در انتهای دورهٔ انتخاب‌شده.

$$
H_\text{tail} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

| شکاف انتهایی | وضعیت                                                |
| ------------ | ---------------------------------------------------- |
| ≤ 2 h        | قابل قبول                                            |
| 2–6 h        | warning                                              |
| 6–24 h       | major                                                |
| > 24 h       | critical                                             |
| > 168 h      | دستگاه بیش از یک هفته سکوت کرده — بازرسی میدانی فوری |

شکاف انتهایی به این پرسش پاسخ می‌دهد: **آیا دوره را می‌توان به‌طور کامل بسته‌شده تلقی کرد؟** اگر در انتها دادهٔ آرشیوی وجود نداشته باشد، گزارش ممکن است برای تحلیل گذشته‌نگر همچنان قابل استفاده باشد، اما **برای بستن نهایی تجاری آماده نیست** (نگاه کنید به حکم تجاری اندازه‌گیری).

## تازگی داده‌ها

دو شاخص تازگی جداگانه وجود دارد.

### تازگی نسبت به پایان دوره

برای تحلیل تاریخی و صورت‌حساب استفاده می‌شود:

$$
\mathrm{Lag}_\text{period} = \text{window\_end} - \text{last\_valid\_archive\_hour}
$$

پاسخ می‌دهد: **آیا داده تا انتهای دورهٔ انتخاب‌شده وجود دارد؟**

### تازگی نسبت به لحظهٔ تولید گزارش

برای پایش جاری استفاده می‌شود:

$$
\mathrm{Lag}_\text{current} = \text{generation\_time} - \text{last\_valid\_archive\_hour}
$$

پاسخ می‌دهد: **آیا گره هم‌اکنون زنده است؟**

### پوشش ۲۴ ساعت گذشته

$$
\mathrm{Fresh}_{24h} = \frac{H_\text{validQ, last 24h}}{24} \times 100\,\%
$$

### امتیاز ترکیبی تازگی

$$
\mathrm{LagScore} = \max(0, 100 - 2 \times \mathrm{Lag}_\text{period})
$$

$$
\mathrm{FreshnessScore} = \frac{\mathrm{LagScore} + \mathrm{Fresh}_{24h}}{2}
$$

## وضعیت کنونی تله‌متری

<Image
  src="/images/ai-analytics/fa/consumption-analytics/16_telemetry_major.svg"
  alt="وضعیت کنونی تله‌متری و خلاصهٔ گره"
/>

_پایش جاری و خلاصهٔ گره._ این بلوک به پرسش «آیا اکنون می‌توان بر اساس این آرشیو تصمیم عملیاتی گرفت؟» پاسخ می‌دهد. سه لحظهٔ زمانی مقایسه می‌شوند: آخرین ساعت آرشیو، پایان پنجرهٔ گزارش و لحظهٔ تولید گزارش. اگر ارتباط تازه و آرشیو عقب باشد — مشکل **نزد دیسپچر نیست**، بلکه در parser / بارگذاری سمت سرور است. کامنت هوش مصنوعی خلاصه‌ای کوتاه و خوانا برای اپراتور تولید می‌کند **بدون آن‌که** جایگزین وضعیت‌های رسمی شود.

**نسبت به لحظهٔ تولید گزارش** محاسبه می‌شود، نه نسبت به دوره:

$$
\mathrm{Lag}_\text{archive, current} = \text{generation\_time} - \text{last\_archive\_hour}
$$

$$
\mathrm{Age}_\text{session} = \text{generation\_time} - \text{last\_session\_time}
$$

| تأخیر     | وضعیت    |
| --------- | -------- |
| ≤ 6 h     | normal   |
| 6–24 h    | warning  |
| 24–72 h   | major    |
| > 72 h    | critical |
| بدون داده | critical |

**تشخیص افتراقی:**

| نشانه                           | علت محتمل                               |
| ------------------------------- | --------------------------------------- |
| جلسه‌ها تازه‌اند، آرشیو عقب است | مشکل **تحویل / پارسر / واردسازی** آرشیو |
| نه جلسه‌ای نه آرشیوی            | مودم / SIM / آنتن / تغذیه / باتری       |

## اعتبار داده‌ها

بررسی محدوده‌های فیزیکی برای هر کانال:

| کانال   | شرط                                            |
| ------- | ---------------------------------------------- |
| جریان Q | $Q \geq 0$                                     |
| فشار P  | $0 < P \leq 5000\text{ kPa}$                   |
| دما T   | $-50\,°\mathrm{C} \leq T \leq 80\,°\mathrm{C}$ |

برای هر کانال:

$$
\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}
$$

مجموع:

$$
\mathrm{Validity}_\text{total} = \frac{\sum N_\text{ok}}{\sum N_\text{checked}} \times 100\,\%
$$

## پایداری حسگرها

<Image
  src="/images/ai-analytics/fa/consumption-analytics/06_sensor_health.svg"
  alt="تشخیص پایداری حسگرها"
/>

_تشخیص تفصیلی حسگرهای P و T._ هر توالی گیرکرده دارای آغاز/پایان/طول/مقدار است. وقفه‌های طولانی با یک مقدار تقریباً همیشه نشانهٔ خرابی ADC / ریست حسگر / توقف تکنولوژیک جریان است — **نه** فیزیک واقعی. جهش‌ها — پرش‌های ناگهانی ≥ آستانه در ساعت — برعکس نشانهٔ اثر تله‌متری یا ریست حسگرند.

<Image
  src="/images/ai-analytics/fa/consumption-analytics/05_sensors_critical.svg"
  alt="وضعیت حسگرها و برنامهٔ اقدام"
/>

_تفسیر و برنامهٔ اقدام برای حسگرها._ «وضعیت حسگرها: بحرانی» جمع‌بندی متنی نهایی شامل هر دو کانال است. برای هر مشکل کشف‌شده به‌طور خودکار یک توصیه با اولویت، نقش مجری و محرک کوتاه (آنچه واقعاً تحقق یافته) صادر می‌شود.

### حسگر گیرکرده

اگر مقدار حسگر برای مدتی بیش از آستانه (24 h) تقریباً تغییری نکند، حسگر گیرکرده تلقی می‌شود:

$$
H_\text{stuck} \geq 24 \text{ h}
$$

تلورانس یکنواختی (0.1 %):

$$
\mathrm{tol}(x) = \max\bigl(0.05,\ |x| \times 0.001\bigr)
$$

نقاط یکسان تلقی می‌شوند اگر $|x_i - x_\text{run}| \leq \mathrm{tol}(x_\text{run})$.

### جهش دما

$$
|T_i - T_{i-1}| > 20\,°\mathrm{C / h}
$$

### جهش فشار

$$
|P_i - P_{i-1}| > \max(1.0, 0.5 \times \overline{P})
$$

### تفسیر

| نشانه             | مفهوم                                 |
| ----------------- | ------------------------------------- |
| گیر کردن طولانی T | احتمال خرابی حسگر T                   |
| گیر کردن طولانی P | احتمال خرابی حسگر P یا حالت `P_const` |
| جهش‌های متعدد P   | ناپایداری کانال یا اثر تله‌متری       |
| جهش‌های متعدد T   | خطای حسگر یا حالت تکنولوژیک ناگهانی   |

<Alert type="warning">
  گیر کردن حسگر **دلیل دستکاری نیست**. این پیش از هر چیز یک ریسک متروژیک است که طبق OIML R 137 / EN
  12405-1 نیازمند بررسی است.
</Alert>

## امتیازهای جمع‌بندی کیفیت آرشیو

<Image
  src="/images/ai-analytics/fa/consumption-analytics/08_quality_summary.svg"
  alt="داشبورد کیفیت جمعی"
/>

_داشبورد کیفیت جمعی._ در بالا — KPIهای اصلی گزارش (ساعت‌های داده، حجم، رویدادها، توقف/انحراف). در زیر — تب‌های بخش‌ها (کیفیت داده، پروفایل مصرف، پاسپورت تکنیکی، کم‌شماری و مداخله، ناهنجاری‌ها و حوادث، روزانه، منابع). در تب کیفیت داده — ۶ شاخص فرعی 0–100 به‌علاوهٔ حکم متنی و وزن‌های امتیاز ترکیبی.

گزارش **۵ امتیاز متعامد** (هر یک ۰ تا ۱۰۰) تولید می‌کند که جنبه‌های مستقل کیفیت را پوشش می‌دهند:

| Score                         | دربارهٔ چه                        |
| ----------------------------- | --------------------------------- |
| `score_historical_archive`    | قابلیت استفادهٔ دادهٔ تاریخی دوره |
| `score_data_validity`         | درستی مقادیر Q/P/T                |
| `score_sensor_health`         | وضعیت حسگرها (گیرکرده، جهش)       |
| `score_timeliness`            | تازگی آرشیو و جلسه‌ها             |
| `score_operational_readiness` | آمادگی برای پایش جاری             |

<Alert type="warning">
  گزارش عمداً **یک امتیاز اسکالر ترکیبی** «کیفیت کلی» تولید نمی‌کند — درآمیختن قابلیت استفادهٔ
  تاریخی با تازگی تصویری فریبنده و آرامش‌بخش به‌غلط می‌سازد. هر امتیاز جداگانه و با حکم خود خوانده
  می‌شود.
</Alert>

## برآورد حجم پوشش‌نشدهٔ بالقوه

<Image
  src="/images/ai-analytics/fa/consumption-analytics/14_uncovered_volume.svg"
  alt="برآورد خطر حجم پوشش‌نشده"
/>

_دو برآورد مختلف از یک حجم._ میانگین دوره محافظه‌کارانه است (جبران انتها با میانگین مسطح)، در حالی که پروفایل ساعات فعال آهنگ روزانه (نوبت کاری / شب / تعطیلات) را بهتر بازتاب می‌دهد. تفاوت میان آن دو **بازهٔ عدم قطعیت** است، نه یک نقطهٔ واحد. سطح خطر به طول شکاف و میانگین جریان مشخصهٔ گره بستگی دارد.

<Image
  src="/images/ai-analytics/fa/consumption-analytics/11_anomalous_month.svg"
  alt="ماه مصرف ناهنجار"
/>

_ماه مصرف ناهنجار._ ناهنجاری‌های ماهانه نشانه‌ای مستقل‌اند که در پس‌زمینهٔ آهنگ سالانه (فصل گرمایش در برابر تابستان) ارزیابی می‌شوند. اگر ماهی به‌طور **محسوس** از میانهٔ بقیه فراتر برود (آستانهٔ × 2) — به‌طور خودکار به سربرگ منتقل می‌شود با پیشنهاد بررسی ژورنال رویدادها، پاسپورت و وجود دلایل تکنیکی.

این بلوک برآورد می‌کند که چه مقدار گاز می‌توانست در ساعات بدون دادهٔ آرشیوی معتبر عبور کند.

<Alert type="warning">
  این **زیان تأییدشده نیست**. نه رقم سرقت است و نه ادعای خسارت خودکار. این برآوردی از **نقطهٔ کور
  (blind spot)** است — حجمی که توسط آرشیو معتبر پوشش داده نشده است.
</Alert>

### ساعت‌های بدون دادهٔ معتبر

$$
H_\text{blind} = H_\text{missing} + H_\text{nullQ}
$$

### برآورد بر اساس میانگین

$$
\overline{Q} = \frac{\sum Q_\text{valid}}{H_\text{validQ}},
\qquad
V_\text{blind, mean} = H_\text{blind} \times \overline{Q}
$$

برای نقاطی با مصرف نسبتاً یکنواخت مناسب است.

### برآورد بر اساس پروفایل

جریان نمونه برای ساعت روز $h$ (میانهٔ دوره):

$$
\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))
$$

اگر پروفایل برای یک ساعت قابل اعتماد نباشد از $\overline{Q}$ استفاده می‌شود.

### بازهٔ برآورد

هر دو برآورد نمایش داده می‌شوند. اگر نزدیک باشند — پروفایل روزانه پایدار است. اگر فاصلهٔ زیادی داشته باشند — نقطه رژیم کاری مشخصی دارد و احتیاط لازم است.

## نقطه کار نمی‌کرد

اگر گره تقریباً در سراسر دوره مصرف واقعی نداشته باشد، نبود جریان **ریسک تلقی نمی‌شود**.

### بررسی Idle

آستانهٔ تطبیقی نزدیک به صفر:

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

گره عملاً متوقف تلقی می‌شود اگر **هر دو شرط** برقرار باشد:

$$
\overline{Q} \leq 0.05\text{ m³/h} \quad \text{and} \quad V_\text{blind, mean} < 5\text{ m³}
$$

### اثر

مقیاس severity ملایم‌تر می‌شود (به‌جای `critical` حداکثر `medium`)، و گزارش می‌نویسد:

> گره عملاً کار نمی‌کرد / متوقف فصلی. نبود مصرف ریسک کم‌شماری تلقی نمی‌شود.

## تطابق Q/V

<Image src="/images/ai-analytics/fa/consumption-analytics/13_qv_volume.svg" alt="تحلیل حجم انباشته" />

_تطابق جریان ساعتی با انباشتگر._ محاسبهٔ تجاری-متروژیک با افزایش انباشتگر V انجام می‌شود، نه با مجموع مقادیر Q لحظه‌ای. تطابق ΣQ ≈ ΔV برای بیش از 80 % ساعات حالت طبیعی یک گره سالم است. **بازگشت V** (از ساعتی به ساعت، $V_{t+1} < V_t$) و **جهش‌های شدید V** نشانه‌های بحرانی خرابی آرشیو هستند و تقریباً همیشه نیاز به بررسی دارند.

بلوک کلیدی متروژیک. مجموع جریان‌های ساعتی را با افزایش انباشتگر مقایسه می‌کند.

### مقادیر پایه

$$
\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\,\%
$$

### تفسیر تفاوت

| $\vert\mathrm{Diff}_\%\vert$ | Verdict                        |
| ---------------------------- | ------------------------------ |
| ≤ 2 %                        | `good` (aligned)               |
| 2–5 %                        | `warn` (aligned with caveats)  |
| > 5 %                        | `bad` (mismatch)               |
| بدون V                       | `unavailable`                  |
| پایهٔ Q/V نامعلوم            | requires passport verification |

### یکنواختی انباشتگر

انباشتگر باید افزایش یابد یا ثابت بماند.

بازگشت: $\Delta V_h < -0.5\text{ m³}$ → حادثهٔ `V_ROLLBACK`.

جهش ناگهانی: $\Delta V_h > V_\text{jump\_threshold}$ → حادثهٔ `V_JUMP`.

### تطابق ساعتی $Q \cdot 1\text{h} \approx \Delta V$

برای هر ساعتی که هم $Q$ و هم $V$ دارد:

$$
\mathrm{Match}_h = \frac{|Q_h - \Delta V_h|}{\max(Q_h, \Delta V_h)}
$$

ساعت تطابق‌یافته است اگر $\mathrm{Match}_h \leq 20\,\%$. نسبت ساعات تطابق‌یافته:

$$
\mathrm{Match}_\% = \frac{H_\text{matched}}{H_\text{checked}} \times 100\,\%
$$

### محدودیت‌های تطابق Q/V

حتی تطابق عددی خوب با قابلیت استفادهٔ تجاری برابر نیست. باید دانست:

| پرسش                                      | چرا اهمیت دارد                       |
| ----------------------------------------- | ------------------------------------ |
| Q بر مبنای حجم استاندارد است یا حجم کاری؟ | پایه‌های متفاوت سوگیری ایجاد می‌کنند |
| V بر مبنای حجم استاندارد است یا حجم کاری؟ | یک پایهٔ واحد لازم است               |
| وزن پالس چقدر است؟                        | برای تطابق تجاری کامل لازم است       |
| آیا V یکنواخت است؟                        | بازگشت‌ها آرشیو را زیر سؤال می‌برند  |
| آیا اصلاحات دستی وجود دارد؟               | می‌توانند اختلاف را توضیح دهند       |

اگر پایه نامعلوم باشد:

> تطابق Q/V از نظر عددی برقرار است، اما پایهٔ تجاری تأیید نشده. تطبیق پاسپورت، وزن پالس و پایهٔ حجم لازم است (نگاه کنید به EN 12405-1 §7).

## ارتباط در برابر آرشیو

<Image
  src="/images/ai-analytics/fa/consumption-analytics/12_csq_vs_archive.svg"
  alt="تشخیص CSQ در برابر آرشیو"
/>

_تشخیص افتراقی «ارتباط در برابر بارگذاری»._ اگر جلسه‌ها در پنجره وجود دارند و آرشیو نه — دستگاه از طریق GSM/CSQ پاسخ می‌دهد، اما آرشیو یا نوشته نمی‌شود یا توسط سرور پارس نمی‌شود. این **مشکل دیسپچر / مودم نیست** — باید مهندس یکپارچه‌سازی رسیدگی کند.

### فرمول‌های پایه

$$
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\,\%
$$

### تحویل آرشیو

برای هر شکاف بررسی می‌شود که آیا در همان پنجرهٔ زمانی جلسهٔ ارتباطی رخ داده است:

- `gap_with_sessions` — شکاف آرشیو در حالی که جلسه‌ها بوده‌اند؛
- `gap_without_sessions` — شکاف آرشیو و نبود جلسه‌ها نیز.

### تشخیص افتراقی

| وضعیت                                     | علت محتمل                                 |
| ----------------------------------------- | ----------------------------------------- |
| نه جلسه نه آرشیو                          | مودم / SIM / آنتن / تغذیه                 |
| جلسه‌ها هستند، آرشیو به‌روز نمی‌شود       | تحویل / پارسر / واردسازی آرشیو ساعتی      |
| جلسه‌ها هستند، اما بخشی از آرشیو غایب است | خواندن ناقص / شکست صفحه‌ها / backend      |
| جلسه‌ها تازه‌اند، آرشیو قدیمی است         | مشکل **در GSM نیست**، بلکه در تحویل آرشیو |
| timestamp جلسه از آینده                   | عدم تطابق ساعت / منطقهٔ زمانی             |

### کیفیت ارتباط

اگر کیفیت سیگنال به‌صورت CSQ گزارش شود:

$$
\mathrm{RSSI}_\text{dBm} \approx -113 + 2 \times \mathrm{CSQ}
$$

مثال: CSQ=29 → RSSI ≈ −55 dBm (عالی).

## پاسپورت متروژیک

### فیلدهای الزامی و وزن‌های آن‌ها

پاسپورت ۱۱ فیلد با وزن تعریف می‌کند:

| فیلد                       | وزن     | چرا                              |
| -------------------------- | ------- | -------------------------------- |
| equipment_serial_number    | 1.0     | شناسایی                          |
| equipment_type_id          | 1.0     | نوع/مدل                          |
| installation_date          | 0.8     | بستر بهره‌برداری                 |
| **verification_date**      | **1.5** | اعتبار قانونی (OIML R 137 cl. 3) |
| next_verification_date     | 1.0     | کنترل مهلت                       |
| **flow_range** (Qmin/Qmax) | **1.5** | بازه طبق EN 12405-1              |
| meter_serial_number        | 1.0     | شناسایی در محل                   |
| meter_type                 | 1.0     | پیوند متروژیک                    |
| firmware_version           | 0.5     | سازگاری و باگ‌های شناخته‌شده     |
| p_const                    | 0.5     | فشار جایگزین                     |
| pulse_weight               | 0.8     | برای تطابق Q/V                   |

### فرمول کامل بودن

$$
\mathrm{PassportCompleteness} = \frac{\sum w_\text{filled}}{\sum w_\text{required}} \times 100\,\%
$$

### تفسیر

| کامل بودن | وضعیت               |
| --------- | ------------------- |
| ≥ 80 %    | COMPLETE            |
| 50–80 %   | PARTIAL             |
| 20–50 %   | INCOMPLETE          |
| < 20 %    | CRITICAL_INCOMPLETE |

اگر پاسپورت کامل نباشد، حکم تجاری باید تحفظ زیر را در بر داشته باشد:

> پاسپورت متروژیک ناقص است. حکم تجاری نیازمند تطبیق دستی و مراجعه به OIML R 137 / EN 12405-1 است.

## الگوهای مشکوک کم‌شماری

<Image
  src="/images/ai-analytics/fa/consumption-analytics/03_forensic_signals.svg"
  alt="فرز سیگنال‌های کم‌شماری"
/>

_فرز سیگنال‌ها._ هر سیگنال در یک دسته طبقه‌بندی می‌شود و دارای سطح اثبات (پایین / متوسط / بالا)، اولویت میدانی، اثبات رسمی و اقدام پیشنهادی است. **این حکم گره نیست** — بلکه فهرستی از پنجره‌هایی است که نیازمند تأیید دستی توسط اپراتور یا گروه خدمات‌اند.

این‌ها **اکتشافی (heuristics)** هستند، نه دلیل.

### آستانهٔ نزدیک به صفر

$$
Q_\text{nearzero} = \max(0.5, 0.05 \times \mathrm{median}(Q))
$$

### جریان صفر در ساعت‌های فعال

ساعت به‌طور مشکوک ساکت تلقی می‌شود اگر $Q_h < Q_\text{nearzero}$ باشد و در بازهٔ فعال نمونهٔ نقطه قرار گیرد.

### Live-P + zero (Q≈0 با P زنده)

می‌تواند چنین باشد:

- توقف / بستن شیر downstream / توقف فصلی؛
- حالت P_const یا خرابی حسگر؛
- خطای ورودی پالس؛
- **دور زدن احتمالی اندازه‌گیری** — اما نه اثبات‌شده.

<Alert type="warning">
  Live-P + zero **دلیل دستکاری نیست**. صرفاً علتی برای بررسی رژیم کاری گره است.
</Alert>

### Break-recovery

الگو: Q عادی → Q≈0 → Q عادی. تغییر حالت ناگهانی، اما دلیل تخلف نیست. توضیحات ممکن: قطع برنامه‌ریزی‌شده / توقف نقطه / بستن شیر / خرابی کانال / مداخلهٔ دستی / خطای تحویل آرشیو.

### دستکاری تأییدشده

یک الگوی آماری به‌تنهایی **نمی‌تواند** دستکاری را تأیید کند. به **شواهد قطعی** نیاز است:

- باز شدن کابینت (cover_open در device events)؛
- اثر مغناطیسی؛
- تغییر پارامترها (parameter_change)؛
- تغییر غیرمجاز P_const؛
- ریست آرشیو؛
- دستکاری تأییدشده در ورودی پالس؛
- صورت‌جلسهٔ بازرسی میدانی؛
- عکس / پلمب / قرائت در محل.

قالب صحیح حکم:

```
Confirmed tampering: NOT DETECTED
Suspicious patterns:  PRESENT
Legal readiness:      NOT READY
```

## حکم تجاری اندازه‌گیری

<Image
  src="/images/ai-analytics/fa/consumption-analytics/02_commercial_verdict.svg"
  alt="حکم تجاری اندازه‌گیری"
/>

_وضعیت مدیریتی._ هفت خط هفت پرسش سطح مدیر را پاسخ می‌دهند: آیا دوره را می‌توان بست (صورت‌حساب)، آیا گره اکنون کار می‌کند (پایش)، آیا آرشیو و انباشتگر منطبق‌اند (Q×h در برابر ΔV)، آیا بازرسی میدانی لازم است، آیا الگوهای مشکوک وجود دارد، سلامت داده در چه حد است، آیا تمام پارامترهای پاسپورت کامل‌اند. هر خط قابل کلیک است و به بخش اثباتی گزارش می‌رساند.

حکم اصلی برای مدیر واحد اندازه‌گیری.

### آرشیو صورت‌حساب — قوانین

**Ready:**

- Coverage ≥ 98 %
- Tail gap ≤ 2 h
- Q/V aligned (`good`)
- V یکنواخت
- Passport COMPLETE
- بدون مشکل بحرانی در حسگرها

**Ready with caveats:**

- Coverage 95–98 %
- Tail gap 2–24 h
- Q/V aligned with caveats (`warn`)
- Passport PARTIAL
- بدون blocker بحرانی

**Not ready for final closure:**

- Tail gap > 24 h یا
- Q/V دسته‌بندی نشده یا
- وجود V rollback یا
- پاسپورت در فیلدهای تجاری ناقص یا
- مشکل بحرانی در حسگر

**Not usable:**

- Coverage به‌طور بحرانی پایین یا
- آرشیو خراب یا
- V دارای rollback/spikes بزرگ یا
- Q/V کاملاً ناسازگار یا
- کانال کلیدی در دسترس نیست

### پایش جاری — جداگانه ارزیابی می‌شود

| شرط                    | وضعیت                          |
| ---------------------- | ------------------------------ |
| آرشیو و جلسه تازه      | usable                         |
| آرشیو عقب، جلسه‌ها هست | degraded / delivery issue      |
| آرشیو و جلسه‌ها قدیمی  | critical / communication issue |
| timestamp نادرست       | unreliable                     |

### بازرسی میدانی

بازرسی میدانی لازم است اگر **حداقل یکی** از موارد زیر برقرار باشد:

- شکاف انتهایی بازیابی نشده باشد؛
- Q/V دسته‌بندی نشده باشد؛
- بازگشت انباشتگر وجود داشته باشد؛
- پاسپورت به‌طور بحرانی ناقص باشد؛
- حسگر P یا T گیر کرده باشد؛
- الگوهای مشکوک کم‌شماری وجود داشته باشد؛
- ژورنال رویدادها در دسترس نباشد در حالی که ناهنجاری‌های قوی وجود دارد؛
- تله‌متری جاری به‌طور بحرانی تنزل یافته باشد.

## حوادث

حادثه یک مسئلهٔ **گروه‌بندی‌شده** است، نه هر رکورد خام.

### انواع

| نوع                    | مفهوم                           |
| ---------------------- | ------------------------------- |
| `FINAL_TAIL_GAP`       | نبود داده در انتهای دوره        |
| `COMMUNICATION_GAP`    | قطع ارتباط                      |
| `ARCHIVE_DELIVERY_GAP` | جلسه‌ها هستند، آرشیو تحویل نشده |
| `Q_V_MISMATCH`         | Q و V با هم نمی‌خوانند          |
| `V_ROLLBACK`           | بازگشت انباشتگر                 |
| `P_SENSOR_STUCK`       | فشار گیر کرده                   |
| `T_SENSOR_STUCK`       | دما گیر کرده                    |
| `PASSPORT_INCOMPLETE`  | فیلدهای پاسپورت ناقص            |
| `TAMPERING_CANDIDATE`  | الگوی مشکوک، نه دلیل            |

### اصل گروه‌بندی

```
raw events → grouped incidents → top priority incidents
```

نمونه: 301 raw → 15 grouped → Top-5 برای اقدام. اپراتور نباید 301 رویداد مشابه را به‌صورت 301 مسئلهٔ جداگانه ببیند.

## برنامهٔ اقدامات

<Image
  src="/images/ai-analytics/fa/consumption-analytics/09_action_plan_checklist.svg"
  alt="برنامهٔ اقدامات بر اساس نقش و چک‌لیست میدانی"
/>

_اقدامات با اولویت P0/P1/P2._ هر اقدام دارای نقش مجری، مهلت (امروز / در روز / 1–3 روز) و **علتی** است که آن را وارد فهرست کرده. چک‌لیست بازرسی میدانی به‌طور خودکار از حکم و حوادث باز ساخته می‌شود: چه ببرید، چه بنگرید، چه اندازه بگیرید — با برچسب P0/P1 برای اولویت در محل.

هر توصیه به علت خود گره خورده است.

| فیلد     | توضیح                             |
| -------- | --------------------------------- |
| ID       | شمارهٔ توصیه                      |
| Priority | P0 / P1 / P2 / P3                 |
| Action   | چه باید انجام شود                 |
| Role     | چه کسی مسئول است                  |
| Deadline | چه زمانی انجام شود                |
| Cause    | چرا این اقدام ظاهر شده            |
| Status   | open / assigned / done / verified |

### نمونه‌های قواعد

| شرط                      | اقدام                                                      |
| ------------------------ | ---------------------------------------------------------- |
| شکاف > 24h، جلسه‌ها تازه | backend: بازگرداندن تحویل آرشیو ساعتی                      |
| شکاف > 24h، بدون جلسه    | ارتباطات: بررسی مودم/SIM/تغذیه                             |
| T stuck ≥ 24h            | متروژیست: بررسی حسگر T (OIML R 137)                        |
| P stuck ≥ 24h            | متروژیست: بررسی حسگر P یا تنظیم P_const                    |
| Q/V mismatch             | متروژیست + صورت‌حساب: تطبیق V، Q، وزن پالس (EN 12405-1 §7) |
| پاسپورت ناقص             | ادمین / متروژیست: تکمیل پاسپورت                            |
| suspicious patterns      | گروه میدانی: بررسی پلمب‌ها، ورودی پالس، شیرها              |

## چک‌لیست بازرسی میدانی

### چه چیزی را بردارید

مانومتر مرجع • ترمومتر مرجع • مولتی‌متر • تستر سیگنال/آنتن • مجموعهٔ پلمب • صورت‌جلسهٔ بازرسی • دسترسی به آرشیو و پاسپورت • وسیلهٔ تصویربرداری.

### چه چیزی را بررسی کنید

پلمب‌های تصحیح‌کننده و کنتور • کابل پالس • حسگرهای P و T • مودم، آنتن، تغذیه، باتری • شیرهای قطع • bypass احتمالی • تطابق پاسپورت با تجهیزات واقعی.

### چه چیزی را اندازه‌گیری کنید

P و T مرجع • Q جاری • V انباشته • قرائت کنتور خارجی • CSQ/RSSI • ولتاژ تغذیه • پالس‌های ورودی • تاریخ/زمان تصحیح‌کننده • P_const • Qmin/Qmax • وزن پالس.

### چه چیزی را عکس بگیرید

صفحه‌نمایش تصحیح‌کننده (P/T/Q/V) • تاریخ/زمان روی دستگاه • شماره‌های سریال • پلمب‌ها • کابل پالس • حسگرها • مودم و آنتن • نمای کلی • وضعیت شیرها.

## منبع داده بر اساس پروفایل رفتاری

آرشیو API و فیلد مشخص به‌صورت خودکار بر اساس رفتار دستگاه انتخاب می‌شوند. سه خانواده:

### آرشیو ساعتی پیوسته

دستگاه **دقیقاً یک رکورد در ساعت** می‌نویسد. ترتیب اولویت منابع:

1. فیلد مستقیم «جریان در ساعت» (اگر دستگاه خودش حساب کند)؛
2. Δ حجم استاندارد انباشته؛
3. Δ حجم کاری انباشته.

شکاف قابل قبول — **دقیقاً ۱ ساعت**.

### انتقال جلسه‌ای با آرشیو وضعیت کنونی

دستگاه هنگام اتصال رکورد می‌نویسد، نه لزوماً هر ساعت. منبع اصلی **جریان لحظه‌ای** است (دستگاه خودش محاسبه می‌کند)؛ fallback عبارت است از Δ حجم انباشته با نرمال‌سازی:

$$
\dot Q_h = \frac{V_t - V_{t-\Delta t}}{\Delta t / 3600}
$$

شکاف قابل قبول — **تا ۶ ساعت**؛ اگر $\Delta t > 6\text{ h}$ نقطه نامعتبر تلقی می‌شود (احتمال از دست رفتن داده، نه تخلیهٔ کنتور).

### بلوک‌های صرفاً تله‌متری

دستگاه فقط ارتباط/وضعیت را انتقال می‌دهد و گاز را اندازه نمی‌گیرد — گزارش N/A را با یادداشت «در این دستگاه نقطهٔ اندازه‌گیری وجود ندارد» نمایش می‌دهد.

### Sparse-fallback

اگر آرشیو اصلی کمتر از 50 % نقاط مورد انتظار را بدهد، آرشیو ثانویهٔ جلسه‌ها به‌طور خودکار امتحان می‌شود (همان‌گونه که هست، بدون شبکهٔ ساعتی) و محاسبه بر اساس آن پیش می‌رود.

## محدودیت‌های روش‌شناسی

### آرشیو

اگر آرشیو ساعتی کامل نباشد، همهٔ برآوردها برای ساعت‌های گم‌شده **تقریبی** هستند.

### Q/V

تطابق Q/V تنها در صورتی معنا دارد که Q و V:

- در یک پایهٔ حجمی واحد (استاندارد یا کاری) باشند؛
- وزن پالس صحیح داشته باشند؛
- به یک منبع اندازه‌گیری تعلق داشته باشند؛
- از نظر زمانی همگام باشند.

برای رویهٔ کالیبراسیون به OIML R 137 و برای پایهٔ تبدیل به EN 12405-1 §7 مراجعه کنید.

### پاسپورت

در نبود Qmin/Qmax، تاریخ کالیبراسیون، P_const یا وزن پالس، حکم تجاری باید تحفظ داشته باشد.

### الگوهای مشکوک

الگوهای کم‌شماری **دلیل دستکاری نیستند**. تنها اولویت بررسی را تعیین می‌کنند.

### کامنت هوش مصنوعی

کامنت هوش مصنوعی **در حکم حقوقی شرکت نمی‌کند** و جایگزین قواعد رسمی نیست. تنها به توضیح وضعیت با زبان انسانی کمک می‌کند.

## چگونه گزارش را بخوانیم

<Image
  src="/images/ai-analytics/fa/consumption-analytics/04_chart_qpt_profile.svg"
  alt="جریان، فشار و دما با پروفایل مصرف"
/>

_تصویرسازی Q/P/T و پروفایل‌های رفتاری._ در نمودار اصلی، رویدادها به‌صورت میله‌های عمودی نیمه‌شفاف بر اساس نوع (اوج / توقف / نشت / حسگر گیرکرده / بدون داده) نشان داده می‌شوند — هر نوع را می‌توان با کلیک شریطه‌اش پنهان یا آشکار کرد. میانگین‌های متحرک 7 / 30 روزه هموارسازی فصلی فراهم می‌کنند. الگوی مصرف تجزیهٔ دوگانه است: پروفایل روزانه (ساعت روز) تقسیم‌شده به روزهای کاری/تعطیل، و heatmap تقویمی «روز هفته × ماه» که پایداری نوبت کاری را نشان می‌دهد.

<Image
  src="/images/ai-analytics/fa/consumption-analytics/10_period_compare.svg"
  alt="مقایسه با دورهٔ پیشین"
/>

_مقایسهٔ دوره به دوره._ دلتای سال‌به‌سال دو تله دارد: (1) **تغییر پوشش دورهٔ پیشین** (اگر 6 % باشد، رشد رویدادی «33×» تحریف تقسیم است، نه واقعیت) و (2) **عدم نرمال‌سازی بر طول پنجره**. به همین دلیل وقتی پوشش زیر 50 % باشد، مقایسه Δ % را پنهان می‌کند و فقط دلتای مطلق را نمایش می‌دهد تا اپراتور به نتیجه‌گیری نادرست کشیده نشود.

1. با **حکم تجاری اندازه‌گیری** آغاز کنید.
2. ببینید آیا دوره برای صورت‌حساب آماده است.
3. پایش جاری را جداگانه بررسی کنید.
4. به **Top-5 حوادث** بروید.
5. اگر شکاف انتهایی وجود دارد — به «ارتباط در برابر آرشیو» بروید.
6. اگر اختلاف Q/V وجود دارد — به تحلیل حجم انباشته بروید.
7. اگر حسگرهای P/T گیر کرده‌اند — به پایداری حسگرها بروید.
8. اگر پاسپورت ناقص است — **حکم تجاری سخت‌گیرانه صادر نکنید**.
9. اگر الگوهای مشکوک وجود دارد — بازرسی را برنامه‌ریزی کنید، اما **حکم حقوقی صادر نکنید**.
10. برنامهٔ اقدامات بر اساس نقش را اجرا کنید.

## حداقل معیارهای گزارش کامل

گزارش کامل تلقی می‌شود اگر شامل موارد زیر باشد:

- دورهٔ تحلیل • $H_\text{expected}$ • رکوردهای دریافت‌شده • رکوردهای معتبر • رکوردهای NULL • شکاف‌های داخلی • شکاف انتهایی • پوشش • تازگی • اعتبار Q/P/T • وضعیت حسگرها • برآورد حجم پوشش‌نشده • تطابق Q/V • یکنواختی V • ارتباط در برابر آرشیو • کامل بودن پاسپورت • Top-5 حوادث • برنامهٔ اقدامات بر اساس نقش • چک‌لیست بازرسی میدانی؛

- سه تحفظ اجباری:
  - دربارهٔ کم‌شماری (این برآورد نقطهٔ کور است، نه رقم زیان)؛
  - دربارهٔ ظنّ دستکاری (الگو ≠ دلیل)؛
  - دربارهٔ کامنت هوش مصنوعی (حکم حقوقی نیست).

## پارامترهای اجرا

| پارامتر                 | توضیح                                                                                                                                                                                                                                                                                                       |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| شمارهٔ گرهٔ اندازه‌گیری | گرهٔ اندازه‌گیری برای تحلیل                                                                                                                                                                                                                                                                                 |
| شروع دوره               | آغاز پنجرهٔ تحلیل (پیش‌فرض: یک سال پیش)                                                                                                                                                                                                                                                                     |
| پایان دوره              | پایان پنجرهٔ تحلیل (پیش‌فرض: دیروز)                                                                                                                                                                                                                                                                         |
| تحلیل گسترده            | افزون بر این، آرشیو جلسه‌های ارتباطی و آرشیو رویدادهای غیرعادی تصحیح‌کننده را بارگذاری می‌کند. بلوک‌های Data Source Readiness، Communication Health و Device Abnormal Log را فعال می‌کند و Root Cause Matrix را با اطمینان و علت ریشه‌ای برای هر رویداد پر می‌کند. 5–15 ثانیه به زمان ساخت گزارش می‌افزاید. |
