Аналитика потребления

Полный анализ одного узла учёта газа — качество данных, профиль потребления, паспорт прибора и журнал событий, с опциональной криминалистической детализацией.

Аналитика потребления — это подробный метрологический и эксплуатационный разбор одного узла учёта газа за выбранный период. Главная задача — не нарисовать график потребления, а ответить на практические вопросы службы учёта. Анализ опирается на международные метрологические нормы там, где они обосновывают конкретное число: ISO 5167 (метод сужающего устройства), EN 12405-1 (электронные корректоры объёма), OIML R 137 (счётчики газа), OIML R 140 (измерительные системы для газообразного топлива), ISO 6976 (теплота сгорания), EN 1359 (диафрагменные счётчики газа) и EN 14236 (ультразвуковые бытовые счётчики газа).

Назначение

Шапка отчёта

Шапка отчёта. Первое, что видит читатель: имя и адрес узла, тип корректора, ключевые метрики последнего часа (P, T), общий объём данных в окне (точек), число найденных событий, метод анализа (правила / правила+LLM / только LLM), длительность загрузки и охваченный период.

Отчёт отвечает на ежедневные вопросы службы учёта:

  • полны ли данные за выбранный период;
  • годен ли архив для коммерческого закрытия периода;
  • есть ли хвостовой пропуск в конце периода;
  • работает ли поточная телеметрия;
  • сходится ли часовой расход с накопленным объёмом;
  • есть ли залипание датчиков P/T;
  • есть ли проблемы со связью или доставкой архива;
  • достаточно ли заполнен метрологический паспорт;
  • есть ли подозрительные паттерны недоучёта;
  • нужен ли выезд на объект;
  • какую роль должен выполнить каждый участник: метролог, диспетчер, инженер связи, инженер интеграции, выездная бригада или билинг-аналитик.

Главная логика

Отчёт разделяет три ортогональные оценки, которые нельзя смешивать:

ОценкаЧто означает
Готовность данных периодапригоден ли архив за выбранный период
Поточный статус телеметрииработает ли узел на момент генерации отчёта
Готовность к коммерческому закрытиюможно ли использовать период для биллинга без ручной сверки

Старый период может быть полностью пригоден для анализа, даже если узел сегодня уже не выходит на связь.

Пример корректной интерпретации:

plaintext
Данные за период:      пригодны с оговорками
Поточный мониторинг:   деградирован
Биллинг:               не готов к финальному закрытию

Это не противоречие. Это значит: исторические данные частично пригодны, но поточная телеметрия или коммерческое закрытие требует дополнительной проверки.

Термины

ТерминПояснение
Qчасовой расход, м³/ч
Pдавление газа, кПа
Tтемпература газа, °C
Vнакопленный объём, м³
ΣQсумма часовых расходов за период
ΔVприрост накопленного объёма за период
H_expectedсколько часов должно было быть в отчётном периоде
H_receivedсколько часовых записей фактически получено
H_validQсколько записей имеют валидное значение расхода
H_nullQсколько записей есть, но расход пустой (NULL)
H_missingсколько часов отсутствуют в архиве
final_tail_gapотсутствие данных в конце периода
internal_gapпропуск внутри периода
freshnessактуальность последнего часа архива
passport completenessзаполненность метрологического паспорта
incidentсгруппированная проблема, требующая действия

Временное окно анализа

Начало и конец периода

Вы задаёте начало и конец периода. Отчёт анализирует все часы от 00:00 первых суток до 23:00 последних суток:

window_start=report_start 00:00,window_end=report_end 23:00\text{window\_start} = \text{report\_start } 00{:}00, \quad \text{window\_end} = \text{report\_end } 23{:}00

Ожидаемое число часов

Hexpected=count(hours from window_start to window_end)H_\text{expected} = \mathrm{count}(\text{hours from window\_start to window\_end})

Для годового периода обычно Hexpected8760H_\text{expected} \approx 8760.

Раскладка архива по доступности

КатегорияЗначение
Валидный часесть запись и корректное значение расхода
NULL-часзапись есть, но расход пустой
Внутренний пропускчас отсутствует внутри периода
Хвостовой пропускотсутствующие часы в конце периода
Неохваченный часлюбой час без валидного значения расхода

Формулы:

Hreceived=count(hourly records)H_\text{received} = \mathrm{count}(\text{hourly records}) HvalidQ=count(records where QNULL and Q0)H_\text{validQ} = \mathrm{count}(\text{records where } Q \neq \text{NULL and } Q \geq 0) HnullQ=count(records where Q=NULL)H_\text{nullQ} = \mathrm{count}(\text{records where } Q = \text{NULL}) Hmissing=max(0,HexpectedHreceived)H_\text{missing} = \max(0, H_\text{expected} - H_\text{received}) Hunobserved=Hmissing+HnullQH_\text{unobserved} = H_\text{missing} + H_\text{nullQ}

Полнота данных

Доступность, свежесть и валидность данных

Доступность, свежесть и валидность — три ортогональных среза «проверки пригодности архива» перед содержательным анализом. Полнота отвечает: сколько часов из ожидаемых пришло. Свежесть — насколько данные актуальны сейчас. Валидность — попадают ли значения в физически разумные диапазоны.

Формула покрытия

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

Дополнительно:

Coveragereceived=HreceivedHexpected×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непригоден для большинства задач

Хвостовой пропуск

Хвостовой пропуск — отсутствие архивных данных в конце выбранного периода.

Htail=window_endlast_valid_archive_hourH_\text{tail} = \text{window\_end} - \text{last\_valid\_archive\_hour}
ХвостСтатус
≤ 2 чдопустимо
2–6 чwarning
6–24 чmajor
> 24 чcritical
> 168 чприбор молчит более недели — срочный выезд

Хвостовой пропуск отвечает на вопрос: можно ли считать период закрытым до конца? Если данных в конце нет, отчёт может быть пригоден для ретроспективного анализа, но не готов к финальному коммерческому закрытию (см. «Коммерческий вердикт учёта»).

Свежесть данных

В отчёте две раздельные метрики свежести.

Свежесть относительно конца периода

Используется для исторического анализа и биллинга:

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

Отвечает на вопрос: есть ли данные до конца выбранного периода?

Свежесть относительно момента генерации

Используется для поточного мониторинга:

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

Отвечает на вопрос: работает ли узел сейчас?

Покрытие последних 24 часов

Fresh24h=HvalidQ, last 24h24×100%\mathrm{Fresh}_{24h} = \frac{H_\text{validQ, last 24h}}{24} \times 100\,\%

Композитная оценка свежести

LagScore=max(0,1002×Lagperiod)\mathrm{LagScore} = \max(0, 100 - 2 \times \mathrm{Lag}_\text{period}) FreshnessScore=LagScore+Fresh24h2\mathrm{FreshnessScore} = \frac{\mathrm{LagScore} + \mathrm{Fresh}_{24h}}{2}

Поточный статус телеметрии

Текущий статус телеметрии и сводка по узлу

Текущий мониторинг и сводка по узлу. Этот блок отвечает на вопрос «можно ли принимать оперативные решения по этому архиву прямо сейчас?». Сравниваются три момента времени: последний архивный час, конец отчётного окна и момент генерации отчёта. Если связь свежая, а архив отстаёт — проблема не у диспетчера, а в парсере/выгрузке на стороне сервера. LLM-комментарий выдаёт короткую human-readable сводку для оператора, не подменяя формальные статусы.

Считается относительно момента генерации, не относительно периода:

Lagarchive, current=generation_timelast_archive_hour\mathrm{Lag}_\text{archive, current} = \text{generation\_time} - \text{last\_archive\_hour} Agesession=generation_timelast_session_time\mathrm{Age}_\text{session} = \text{generation\_time} - \text{last\_session\_time}
ОтставаниеСтатус
≤ 6 чnormal
6–24 чwarning
24–72 чmajor
> 72 чcritical
нет данныхcritical

Дифференциальная диагностика:

ПризнакВероятная причина
сеансы свежие, архив отстаётпроблема доставки / парсера / импорта архива
нет сеансов, нет архивамодем / SIM / антенна / питание / батарея

Валидность данных

Проверка физических пределов по каналам:

КаналУсловие
Расход QQ0Q \geq 0
Давление P0<P5000 kPa0 < P \leq 5000\text{ kPa}
Температура T50°CT80°C-50\,°\mathrm{C} \leq T \leq 80\,°\mathrm{C}

Для каждого канала:

Validitych=NokNtotal×100%,Nok=NtotalNnullNbelowNabove\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}

Общая:

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

Стабильность сенсоров

Диагностика стабильности сенсоров

Детальная диагностика сенсоров P и T. Каждый «залипший» интервал получает старт/конец/длину/значение. Длинные интервалы с одинаковым значением — почти всегда признак отказа АЦП / сброса датчика / эксплуатационной остановки потока, а не реальной физики. Спайки — резкие скачки ≥ порога за один час — наоборот, признак артефакта телеметрии или сброса датчика.

Состояние сенсоров и план действий

Интерпретация и план действий по сенсорам. «Состояние сенсоров: КРИТИЧНО» — итоговая словесная свёртка по обоим каналам. Каждой найденной проблеме автоматически назначается рекомендация с приоритетом, ролью-исполнителем и кратким триггером (что именно сработало).

Залипание датчика

Сенсор считается залипшим, если значение почти не меняется длительнее порога (24 ч):

Hstuck24 hH_\text{stuck} \geq 24 \text{ h}

Допуск однородности (0.1 %):

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

Точки считаются «той же самой», если xixruntol(xrun)|x_i - x_\text{run}| \leq \mathrm{tol}(x_\text{run}).

Спайк температуры

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

Спайк давления

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

Интерпретация

ПризнакЗначение
Длительное залипание Tвозможен отказ датчика T
Длительное залипание Pвозможен отказ датчика P или режим P_const
Множественные спайки Pнестабильность канала или артефакт телеметрии
Множественные спайки Tошибка датчика или резкий технологический режим

Сводная оценка качества архива

Сводная панель качества

Сводная панель качества. Сверху — ключевые KPI отчёта (часы данных, объём, события, простои/дрейф). Ниже — вкладки по разделам (качество данных, профиль потребления, технический паспорт, недоучёт и вмешательство, аномалии и инциденты, суточные, источники). На вкладке качества данных — 6 суб-индикаторов 0–100 плюс словесный вердикт и веса композитного score.

Отчёт формирует 5 ортогональных score (0–100 каждый), охватывающих отдельные грани качества:

ScoreО чём
score_historical_archiveпригодность исторических данных периода
score_data_validityкорректность значений Q/P/T
score_sensor_healthсостояние датчиков (залипание, спайки)
score_timelinessсвежесть архива и сеансов
score_operational_readinessготовность к поточному мониторингу

Оценка потенциально неохваченного объёма

Оценка риска неохваченного объёма

Две разные оценки одного и того же объёма. Среднее по периоду консервативно (хвостовое восстановление при ровном профиле), а профиль активных часов точнее учитывает суточную ритмику (рабочая смена / ночь / выходной). Разница между ними — это диапазон неопределённости, а не одна точка. Уровень риска зависит от длительности дыры и характерного среднего расхода.

Аномальный месяц расхода

Аномальный месяц расхода. Месячные аномалии — отдельный сигнал, который рассматривается на фоне годовой ритмики (отопительный сезон vs лето). Если конкретный месяц существенно превышает медиану остальных (порог × 2), он автоматически выносится в шапку с предложением проверить ленту событий, паспорт и наличие технологических причин.

Этот блок оценивает, сколько газа могло пройти в часы без валидных архивных данных.

Часы без валидных данных

Hblind=Hmissing+HnullQH_\text{blind} = H_\text{missing} + H_\text{nullQ}

Оценка по среднему

Q=QvalidHvalidQ,Vblind, mean=Hblind×Q\overline{Q} = \frac{\sum Q_\text{valid}}{H_\text{validQ}}, \qquad V_\text{blind, mean} = H_\text{blind} \times \overline{Q}

Подходит для объектов с относительно равномерным потреблением.

Оценка по профилю

Типовой расход для часа суток hh (медиана за период):

Profile(h)=median(Qhour_of_day=h)\mathrm{Profile}(h) = \mathrm{median}(Q \mid \text{hour\_of\_day} = h) Vblind, profile=tBlindHoursProfile(hour(t))V_\text{blind, profile} = \sum_{t \in \text{BlindHours}} \mathrm{Profile}(\text{hour}(t))

Если профиль для часа ненадёжен — используется Q\overline{Q}.

Диапазон оценки

В отчёте показываются обе оценки. Если они близки — суточный профиль стабилен. Если сильно расходятся — у объекта выраженный режим работы, и нужна осторожность.

Узел не работал

Если узел почти весь период не имел реального потребления, отсутствие расхода не трактуется как риск.

Idle-проверка

Адаптивный порог near-zero:

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

Узел считается фактически остановленным, если выполнены оба условия:

Q0.05 m³/handVblind, mean<5 m³\overline{Q} \leq 0.05\text{ m³/h} \quad \text{and} \quad V_\text{blind, mean} < 5\text{ m³}

Эффект

Шкала severity становится мягче (максимум medium вместо critical), и отчёт пишет:

Узел фактически не работал / сезонно остановлен. Отсутствие потребления не считается риском недоучёта.

Q/V-сверка

Анализ накопленного объёма

Сверка часового расхода с накопителем. Метрологически коммерческий расчёт ведётся именно по приросту накопителя V, а не по сумме мгновенных Q. Совпадение ΣQ ≈ ΔV ≥ 80 % часов — норма для исправного узла. Откаты V (час → час, Vt+1<VtV_{t+1} < V_t) и резкие скачки V — критичные признаки сбоя архива и почти всегда требуют разбирательства.

Ключевой метрологический блок. Сравнивает сумму часовых расходов с приростом накопителя.

Базовые величины

ΣQ=h=1nQh,ΔV=VendVstart\Sigma Q = \sum_{h=1}^{n} Q_h, \qquad \Delta V = V_\text{end} - V_\text{start} Diff=ΣQΔV,Diff%=ΣQΔVΔV×100%\mathrm{Diff} = \Sigma Q - \Delta V, \qquad \mathrm{Diff}_\% = \frac{\Sigma Q - \Delta V}{\Delta V} \times 100\,\%

Интерпретация различия

Diff%\vert\mathrm{Diff}_\%\vertVerdict
≤ 2 %good (aligned)
2–5 %warn (aligned with caveats)
> 5 %bad (mismatch)
нет Vunavailable
база Q/V неизвестнаrequires passport verification

Монотонность накопителя

Накопитель должен расти или оставаться постоянным.

Откат: ΔVh<0.5 m³\Delta V_h < -0.5\text{ m³} → инцидент V_ROLLBACK.

Резкий скачок: ΔVh>Vjump_threshold\Delta V_h > V_\text{jump\_threshold} → инцидент V_JUMP.

Почасовая сверка Q1hΔVQ \cdot 1\text{h} \approx \Delta V

Для каждого часа, где есть и QQ, и VV:

Matchh=QhΔVhmax(Qh,ΔVh)\mathrm{Match}_h = \frac{|Q_h - \Delta V_h|}{\max(Q_h, \Delta V_h)}

Час согласован, если Matchh20%\mathrm{Match}_h \leq 20\,\%. Доля согласованных часов:

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

Ограничения Q/V-сверки

Даже хорошее численное совпадение не равняется коммерческой пригодности. Нужно знать:

ВопросПочему важно
Q — стандартный или рабочий объём?разные базы дают смещение
V — стандартный или рабочий объём?нужна одна база
Какая цена импульса?требуется для полной коммерческой сверки
Монотонен ли V?откаты ставят архив под сомнение
Есть ли ручные коррекции?могут объяснить расхождение

Если база неизвестна:

Q/V-сверка численно согласована, но коммерческая база не подтверждена. Требуется сверка паспорта, цены импульса и базы объёма (см. EN 12405-1 §7).

Связь vs архив

Диагностика CSQ vs архив

Дифференциальная диагностика «связь vs выгрузка». Если сеансы в окне есть, а архива нет — значит прибор отвечает по GSM/CSQ, но архив либо не пишется, либо не парсится сервером. Это не проблема диспетчерской / модема — её должен решать инженер интеграции.

Базовые формулы

Nsessions=count(sessions),Nsuccess=count(successful sessions)N_\text{sessions} = \mathrm{count}(\text{sessions}), \quad N_\text{success} = \mathrm{count}(\text{successful sessions}) SessionSuccess%=NsuccessNsessions×100%\mathrm{SessionSuccess}_\% = \frac{N_\text{success}}{N_\text{sessions}} \times 100\,\%

Доставка архива

Для каждого пропуска проверяется, были ли сеансы связи в том же временном окне:

  • gap_with_sessions — пропуск архива, но сеансы были;
  • gap_without_sessions — пропуск архива и сеансов тоже не было.

Дифференциальная диагностика

СитуацияВероятная причина
нет сеансов, нет архивамодем / SIM / антенна / питание
сеансы есть, архив не обновляетсядоставка часового архива / парсер / импорт
сеансы есть, но часть архива отсутствуетнеполное считывание / обрыв страниц / backend
сеансы свежие, архив старыйпроблема не в GSM, а в доставке архива
timestamp сеанса из будущегоclock / timezone mismatch

Качество связи

Если качество сигнала передано как CSQ:

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

Пример: CSQ=29 → RSSI ≈ −55 dBm (отличный сигнал).

Метрологический паспорт

Обязательные поля и их веса

Паспорт определяет 11 полей с весами:

ПолеВесЗачем
equipment_serial_number1.0идентификация
equipment_type_id1.0тип/модель
installation_date0.8эксплуатационный контекст
verification_date1.5юридическая пригодность (OIML R 137 cl. 3)
next_verification_date1.0контроль срока
flow_range (Qmin/Qmax)1.5диапазон по EN 12405-1
meter_serial_number1.0идентификация на месте
meter_type1.0метрологическая связка
firmware_version0.5совместимость и известные ошибки
p_const0.5подстановочное давление
pulse_weight0.8для Q/V-сверки

Формула заполненности

PassportCompleteness=wfilledwrequired×100%\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.

Подозрительные паттерны недоучёта

Триаж сигналов недоучёта

Триаж сигналов. Каждый сигнал классифицируется по категории, имеет уровень доказательности (низкая / средняя / высокая), полевой приоритет, формальное доказательство и рекомендуемое действие. Это не приговор узлу — это список окон, требующих ручной проверки оператором или сервисной службой.

Это эвристики, не доказательства.

Порог near-zero

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

Нулевой расход в активные часы

Час считается подозрительно тихим, если Qh<QnearzeroQ_h < Q_\text{nearzero} И час принадлежит к типовому активному интервалу объекта.

Live-P + zero (Q≈0 при живом P)

Может быть:

  • простой / закрытый downstream-клапан / сезонная остановка;
  • режим P_const или неисправность датчика;
  • ошибка импульсного входа;
  • возможный обход учёта — но не доказанный.

Break-recovery

Паттерн: нормальный Q → Q≈0 → нормальный Q. Резкая смена режима, но не доказательство нарушения. Возможные пояснения: плановое отключение / остановка объекта / закрытие крана / сбой канала / ручное вмешательство / ошибка доставки архива.

Подтверждённое вмешательство

Только статистический паттерн не может подтвердить вмешательство. Нужны жёсткие доказательства:

  • открытие корпуса (cover_open в device events);
  • магнитное воздействие;
  • изменение параметров (parameter_change);
  • несанкционированное изменение P_const;
  • сброс архива;
  • подтверждённая манипуляция импульсным входом;
  • акт выездной проверки;
  • фото / пломбы / показания на месте.

Правильная формула вердикта:

plaintext
Confirmed tampering: NOT DETECTED
Suspicious patterns:  PRESENT
Legal readiness:      NOT READY

Коммерческий вердикт учёта

Коммерческий вердикт учёта

Управленческий статус. 7 строк закрывают 7 разных вопросов руководителя: можно ли закрывать период (биллинг), работает ли узел сейчас (мониторинг), сходятся ли архив и накопитель (Q×h vs ΔV), нужен ли выезд, есть ли подозрительные паттерны, насколько целостны данные, есть ли все паспортные параметры. Каждая строка кликабельна и ведёт к доказательной части отчёта.

Главный вердикт для руководителя службы учёта.

Архив для биллинга — правила

Ready:

  • Coverage ≥ 98 %
  • Tail gap ≤ 2 ч
  • Q/V aligned (good)
  • V монотонен
  • Passport COMPLETE
  • Нет критичных проблем с сенсорами

Ready with caveats:

  • Coverage 95–98 %
  • Tail gap 2–24 ч
  • Q/V aligned with caveats (warn)
  • Passport PARTIAL
  • Нет критичного blocker’а

Not ready for final closure:

  • Tail gap > 24 ч ИЛИ
  • Q/V не классифицирован ИЛИ
  • Присутствует откат V ИЛИ
  • Passport неполон в коммерческих полях ИЛИ
  • Критичная проблема с сенсором

Not usable:

  • Coverage критически низкое ИЛИ
  • Архив повреждён ИЛИ
  • V имеет крупный откат/скачки ИЛИ
  • Q/V полностью несогласован ИЛИ
  • Ключевой канал недоступен

Поточный мониторинг — оценивается отдельно

УсловиеСтатус
архив и сеанс свежиеusable
архив отстаёт, сеансы естьdegraded / delivery issue
архив и сеансы старыеcritical / communication issue
timestamp некорректенunreliable

Выездная инспекция

Выезд нужен, если выполняется хотя бы одно из:

  • хвостовой пропуск не восстановлен;
  • Q/V не классифицирован;
  • есть откат накопителя;
  • паспорт критически неполон;
  • датчик P или T залип;
  • есть подозрительные паттерны недоучёта;
  • журнал событий недоступен, но есть сильные аномалии;
  • поточная телеметрия критически деградирована.

Инциденты

Инцидент — это сгруппированная проблема, а не каждая raw-запись.

Типы

ТипЗначение
FINAL_TAIL_GAPнет данных в конце периода
COMMUNICATION_GAPразрыв связи
ARCHIVE_DELIVERY_GAPсеансы есть, архив не доставлен
Q_V_MISMATCHQ и V не сходятся
V_ROLLBACKоткат накопителя
P_SENSOR_STUCKзалипло давление
T_SENSOR_STUCKзалипла температура
PASSPORT_INCOMPLETEне хватает паспортных полей
TAMPERING_CANDIDATEподозрительный паттерн, не доказательство

Принцип группировки

plaintext
raw events → grouped incidents → top priority incidents

Пример: 301 raw → 15 grouped → Top-5 for action. Оператору нельзя показывать 301 однотипное событие как 301 отдельную проблему.

План действий

План действий по ролям и чек-лист выезда

Действия с приоритетами P0/P1/P2. Каждое действие имеет роль-исполнителя, срок (сегодня / в течение дня / 1–3 дня) и причину, по которой оно появилось в списке. Чек-лист выезда строится автоматически из вердикта и открытых инцидентов: что взять, куда смотреть, что замерить — с метками P0/P1 для приоритезации на месте.

Каждая рекомендация привязана к причине.

ПолеОписание
IDномер рекомендации
ПриоритетP0 / P1 / P2 / P3
Действиечто сделать
Ролькто отвечает
Сроккогда выполнить
Причинапочему это действие появилось
Статусopen / assigned / done / verified

Примеры правил

УсловиеДействие
хвост > 24ч, сеансы свежиеbackend: восстановить доставку часового архива
хвост > 24ч, сеансов нетсвязь: проверить модем/SIM/питание
T залип ≥ 24чметролог: проверить датчик T (OIML R 137)
P залип ≥ 24чметролог: проверить датчик P или настройку P_const
Q/V mismatchметролог + биллинг: сверить V, Q, цену импульса (EN 12405-1 §7)
паспорт неполонадминистратор / метролог: дополнить паспорт
подозрительные паттернывыездная бригада: проверить пломбы, импульсный вход, краны

Чек-лист выезда

Что взять

эталонный манометр • эталонный термометр • мультиметр • тестер сигнала/антенны • комплект пломб • протокол осмотра • доступ к архиву и паспорту • средство фотофиксации.

Что проверить

пломбы корректора и счётчика • импульсный кабель • датчики P, T • модем, антенну, питание, батарею • запорную арматуру • возможный байпас • соответствие паспорта фактическому оборудованию.

Что замерить

эталонные P, T • текущий Q • накопленный V • показания внешнего счётчика • CSQ/RSSI • напряжение питания • импульсы на входе • дату/время корректора • P_const • Qmin/Qmax • цену импульса.

Что сфотографировать

дисплей корректора (P/T/Q/V) • дату/время на приборе • серийные номера • пломбы • импульсный кабель • датчики • модем и антенну • общий вид • положение кранов.

Источник данных по поведенческому профилю

Конкретный архив API и поле выбираются автоматически по поведению прибора. Три семейства:

Непрерывный часовой архив

Прибор пишет показания строго раз в час. Приоритет источников:

  1. прямое поле «расход за час» (если прибор сам его считает);
  2. Δ накопленного стандартного объёма;
  3. Δ накопленного рабочего объёма.

Допустимый разрыв — ровно 1 час.

Сессионная передача с архивом текущего состояния

Прибор пишет показания при выходе на связь, не строго каждый час. Первичный источник — мгновенный расход (прибор сам считает); fallback — Δ накопленного объёма с нормализацией:

Q˙h=VtVtΔtΔt/3600\dot Q_h = \frac{V_t - V_{t-\Delta t}}{\Delta t / 3600}

Допустимый разрыв — до 6 часов; при Δt>6 h\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 или цены импульса коммерческий вердикт должен содержать оговорку.

Подозрительные паттерны

Паттерны недоучёта — не доказательство вмешательства. Они только определяют приоритет проверки.

LLM-комментарий

LLM-комментарий не участвует в юридическом вердикте и не заменяет формальные правила. Он только помогает объяснить ситуацию человеческим языком.

Как читать отчёт

Расход, давление и температура с профилем потребления

Визуализация Q/P/T и поведенческие профили. На основном графике события подсвечены полупрозрачными вертикальными полосами по типам (всплеск / простой / утечка / залипший датчик / нет данных) — любой тип можно скрыть/показать кликом по его чипу. Скользящие средние 7 / 30 дней дают сезонное сглаживание. Паттерн потребления — двойная разбивка: суточный профиль (час дня) с разделением будни/выходные и календарный heatmap «день недели × месяц», показывающий устойчивость рабочих смен.

Сравнение с предыдущим периодом

Сравнение период-к-периоду. Year-over-year delta нагружено двумя ловушками: (1) изменение покрытия предыдущего периода (если там было 6 %, рост события «в 33 раза» — артефакт деления, а не реальность) и (2) отсутствие нормализации на длину окна. Поэтому при покрытии < 50 % система маскирует Δ % и показывает только абсолютные дельты, чтобы не подвести оператора к ложным выводам.

  1. Начать с Коммерческого вердикта учёта.
  2. Посмотреть, готов ли период к биллингу.
  3. Отдельно проверить поточный мониторинг.
  4. Перейти к Top-5 инцидентов.
  5. Если есть хвост — смотреть «связь vs архив».
  6. Если есть Q/V расхождение — смотреть анализ накопленного объёма.
  7. Если залипли датчики P/T — смотреть стабильность сенсоров.
  8. Если паспорт неполон — не делать жёстких коммерческих выводов.
  9. Если есть подозрительные паттерны — планировать проверку, но не выносить юридический вердикт.
  10. Выполнить план действий по ролям.

Минимальные критерии полного отчёта

Отчёт считается полным, если содержит:

  • период анализа • HexpectedH_\text{expected} • полученные записи • валидные записи • NULL-записи • внутренние пропуски • хвостовой пропуск • покрытие • свежесть • валидность Q/P/T • состояние сенсоров • оценку неохваченного объёма • Q/V-сверку • монотонность V • связь vs архив • заполненность паспорта • Top-5 инцидентов • план действий по ролям • чек-лист выезда;

  • три обязательных дисклеймера:

    • по недоучёту (это оценка слепой зоны, а не сумма потерь);
    • по подозрению на вмешательство (паттерны ≠ доказательства);
    • по LLM-комментарию (не юридический вердикт).

Параметры запуска

ПараметрОписание
№ узла учётаузел учёта для анализа
Период сначало окна анализа (по умолчанию: год назад)
Период поконец окна анализа (по умолчанию: вчера)
Расширенный анализдополнительно загружает архив сеансов связи и архив нештатных событий корректора. Включает блоки «Готовность источника данных», «Состояние связи» и «Журнал нештатных ситуаций прибора» и заполняет матрицу первопричин с уверенностью и первопричиной по каждому событию. Добавляет 5–15 секунд к времени построения отчёта.

Связанные темы

Последнее обновление

Эта страница была полезной?