Аномально длинные сеансы связи

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

Отчёт «Аномально длинные сеансы связи» анализирует телеметрические сеансы связи по всему парку узлов учёта и выявляет устройства, локации, дни и типы корректоров, где связь работает нестабильно или требует чрезмерно долгого времени для передачи данных.

Шапка отчёта с семью KPI

В шапке отчёта семь KPI: компания, охват парка, готовность данных, число узлов с аномалиями, число аномальных сеансов, максимальная длительность сеанса, общее число часовых инцидентов и период анализа. Главное число — количество узлов с аномалиями из общего числа в парке; инциденты — это часовые кластеры, где пять и более узлов имеют длинные сеансы одновременно.

Отчёт отвечает на практические вопросы эксплуатации:

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

Место отчёта в системе

Отчёт относится к эксплуатационной диагностике телеметрии. Он не должен смешивать две разные ситуации:

  1. Нет связи вообще. Узел не выходит на связь, данных нет.
  2. Связь есть, но сеансы слишком длинные. Узел передаёт данные, но делает это медленно, нестабильно или с повторными попытками.

Данный отчёт анализирует вторую ситуацию. Где связи, архива или данных нет вообще, используйте отчёт «Топ проблемных узлов»; где нужно проверить, пригодны ли данные одного узла для учёта, используйте «Аналитику потребления».

Для кого предназначен отчёт

РольЧто получает из отчёта
Руководитель эксплуатацииобщую картину по парку, число узлов с аномалиями, массовые инциденты
Инженер связисписок узлов с плохим RSSI, длинными сеансами и локальными проблемами
Диспетчерприоритетный список заявок и проблемных дней
Выездная бригадатоп-узлы для проверки антенны, SIM, питания и места установки
Инженер интеграциидиагностику готовности данных, покрытие API и случаи отсутствия данных сеансов
Закупочный специалистсравнительный разрез по типам корректоров
Аналитик паркаRCA-гипотезы: базовая станция, оператор, прошивка, локальный узел

Что отчёт не делает

Отчёт не должен:

  • доказывать неисправность конкретного модема без выезда;
  • считать длинный сеанс прямым доказательством плохого прибора;
  • автоматически обвинять сервер или оператора связи;
  • смешивать «нет данных» с «нет аномалий»;
  • сравнивать длительность сеансов всех узлов одним общим порогом;
  • считать короткий период с малым числом сеансов статистически надёжным;
  • делать вывод о качестве модели прибора без учёта числа устройств в выборке;
  • заменять радиотехническое обследование места установки;
  • считать оценку потери батареи точным измерением;
  • использовать AI-комментарий как источник диагностики.

Основные термины

ТерминЗначение
Сеанс связиодин эпизод соединения устройства с системой передачи данных
Длительность сеансавремя от начала до завершения сеанса
Нормальный сеанссеанс, длительность которого находится в индивидуальной норме узла
Длинный сеанссеанс, длительность которого превышает индивидуальный IQR-порог узла
IQRмежквартильный размах: Q3 − Q1
Q1первый квартиль длительностей сеансов
Q3третий квартиль длительностей сеансов
UpperFenceверхняя граница нормы: Q3 + 1.5 × IQR
RSSIуровень радиосигнала, дБм
CSQиндекс качества сигнала GSM, может быть пересчитан в дБм
Btmнапряжение батареи или показатель питания устройства
Long shareдоля длинных сеансов среди всех сеансов узла
Severity scoreитоговая оценка проблемности узла по длинным сеансам
Инцидентчасовой кластер, где длинные сеансы появились сразу у нескольких узлов
RCAанализ вероятной причины: базовая станция, сеть, сервер, прошивка, локальный узел
Battery lossориентировочная оценка энергии, потраченной на лишнюю длительность передачи

Общая логика отчёта

Отчёт строится как парковый анализ сеансов связи.

text
Список узлов парка
→ получение сеансов связи
→ проверка готовности данных
→ индивидуальная норма сеансов для каждого узла
→ поиск длинных сеансов по IQR
→ расчёт score по каждому узлу
→ группировка длинных сеансов в часовые инциденты
→ определение вероятной причины RCA
→ распределение гипотез по узлам
→ топ проблемных узлов
→ разрез по типам корректоров
→ разрез по дням и месяцам
→ рекомендации для эксплуатации

Главный принцип:

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

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

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

ПараметрЗначение
Дата с / Дата пограницы окна анализа
Окно анализа, днейрезервное окно, используемое при пустых датах (по умолчанию 30)
Узлов на тип корректораразмер выборки на тип; 0 означает все узлы парка
Минимум сеансов на узле для IQRминимальное число сеансов, необходимое узлу для отбора (по умолчанию 30)
Число проблемных узлов в отчётеразмер таблицы топ-N (по умолчанию 50)
LLM-анализнеобязательный AI-нарратив, поясняющий результаты
РСОограничивает анализ парком одного поставщика

Входные данные

Основные данные

ДанныеДля чего нужны
Список узловопределить парк анализа
Тип корректорапостроить разрез по моделям
Equipment IDполучить сеансы конкретного устройства
Сеансы связиоснова отчёта
Время начала сеансагруппировка по дням, месяцам и часам
Длительность сеансаглавный анализируемый показатель
RSSI / CSQоценка качества радиосигнала
Btm / батареяоценка влияния питания
Организация / локацияатрибуция инцидента: локальный клиент, базовая станция, парк

Минимально необходимый набор

Для корректного анализа узла нужны:

  • идентификатор устройства;
  • не менее минимального числа сеансов;
  • длительность каждого сеанса;
  • временна́я метка каждого сеанса.

Если длительность сеанса отсутствует, такой сеанс не участвует в IQR-анализе.

Готовность данных: data-gate

Диагностика готовности данных

Перед расчётом аномалий отчёт проверяет, можно ли вообще выполнять анализ. Блок готовности данных показывает размер парка, размер после фильтра по компании, сколько узлов вернули данные сеансов и сколько из них прошли минимум сеансов для IQR. Это критически важная диагностика — без неё легко спутать «нет аномалий» с «нет данных для анализа».

Основные показатели готовности

ПоказательФормула / значение
Узлов в паркеN_park
Узлов в выборкеN_sampled
Узлов с данными сеансовN_with_data
Узлов, прошедших минимум сеансовN_qualified
Всего сеансовN_sessions
API-вызововN_calls
API-ошибокN_errors
Доля API-ошибокN_errors / N_calls × 100%
Покрытие даннымиN_with_data / N_sampled × 100%
Покрытие IQR-выборкойN_qualified / N_sampled × 100%

Доля API-ошибок

APIErrorRate=NerrorsNcalls×100%APIErrorRate = \frac{N_{errors}}{N_{calls}} \times 100\%

Покрытие данными

Coveragewith_data=Nwith_dataNsampled×100%Coverage_{with\_data} = \frac{N_{with\_data}}{N_{sampled}} \times 100\%

Покрытие узлами, пригодными для IQR

Coveragequalified=NqualifiedNsampled×100%Coverage_{qualified} = \frac{N_{qualified}}{N_{sampled}} \times 100\%

Статусы готовности

СтатусУсловиеЧто означает
OKесть достаточная выборка для IQRотчёт можно читать как рабочий
DEGRADEDвыборка мала, но анализ возможенвыводы осторожные
INCONCLUSIVEошибок много или покрытие критично низкоевыводы по аномалиям недостоверны
NO_DATAнет данных сеансованализ невозможен
NO_FLEETпосле фильтра нет узловнечего анализировать

Критические условия

Анализ считается невозможным, если:

APIErrorRate50%APIErrorRate \ge 50\%

или:

Coveragewith_data<5%Coverage_{with\_data} < 5\%

или:

Nqualified=0N_{qualified} = 0

Минимум сеансов на узле

Для надёжного IQR-анализа каждый узел должен иметь достаточное количество сеансов.

Минимальный порог

По умолчанию:

Nsessions,station30N_{sessions,station} \ge 30

Если у узла меньше сеансов, индивидуальная норма считается статистически ненадёжной, и узел не проходит IQR-фильтр.

Почему нужен минимум

IQR использует квартильные оценки. При малом числе наблюдений квартиль становится нестабильным:

  • один случайный долгий сеанс может завысить порог;
  • один короткий период связи может занизить порог;
  • невозможно отличить норму узла от случайности.

Индивидуальная норма длительности сеанса

Почему норма индивидуальная

Нельзя использовать один общий порог для всего парка, например «все сеансы больше 10 минут плохие». У разных узлов разные условия связи:

  • разные типы корректоров;
  • разные операторы связи;
  • разный RSSI;
  • разные объёмы архива;
  • разные расписания опроса;
  • разные места установки;
  • разные антенны.

Поэтому для каждого узла рассчитывается собственная статистическая норма.

Отбор валидных длительностей

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

D={didi>0}D = \{d_i \mid d_i > 0\}

где:

  • d_i — длительность i-го сеанса в секундах.

Квартили

Длительности сортируются по возрастанию.

Dsorted=sort(D)D_{sorted} = sort(D)

Первый квартиль:

Q1=percentile(D,25%)Q1 = percentile(D, 25\%)

Медиана:

Q2=median(D)Q2 = median(D)

Третий квартиль:

Q3=percentile(D,75%)Q3 = percentile(D, 75\%)

Межквартильный размах

IQR=Q3Q1IQR = Q3 - Q1

Верхняя граница нормы Tukey fence

Для каждого узла рассчитывается индивидуальная верхняя граница нормы:

UpperFence=Q3+1.5×IQRUpperFence = Q3 + 1.5 \times IQR

Это классическое правило Tukey fences для выявления выбросов.

Длинный сеанс

Сеанс считается аномально длинным, если:

di>UpperFenced_i > UpperFence

где:

  • d_i — длительность сеанса;
  • UpperFence — индивидуальный порог данного узла.

Базовые показатели узла

Для каждого узла рассчитываются следующие показатели.

Общее число сеансов

Ntotal=count(D)N_{total} = count(D)

Число длинных сеансов

Nlong=count(di>UpperFence)N_{long} = count(d_i > UpperFence)

Доля длинных сеансов

Pctlong=NlongNtotal×100%Pct_{long} = \frac{N_{long}}{N_{total}} \times 100\%

Средняя длительность всех сеансов

AvgDuration=diNtotalAvgDuration = \frac{\sum d_i}{N_{total}}

Средняя длительность длинных сеансов

AvgLongDuration=di>UpperFencediNlongAvgLongDuration = \frac{\sum_{d_i > UpperFence} d_i}{N_{long}}

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

MaxLongDuration=max(didi>UpperFence)MaxLongDuration = max(d_i \mid d_i > UpperFence)

Средний RSSI

RSSIavg=RSSIiNRSSIRSSI_{avg} = \frac{\sum RSSI_i}{N_{RSSI}}

где N_RSSI — число сеансов с доступным значением RSSI.

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

Смысл score

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

  1. долю длинных сеансов;
  2. насколько длинные сеансы превышают норму;
  3. абсолютное число длинных сеансов.

Такой подход позволяет не переоценивать единичный выброс и не недооценивать узел с большим количеством умеренно длинных сеансов.

Компонент A — доля длинных сеансов

A=min(100,  4×Pctlong)A = min(100,\;4 \times Pct_{long})

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

Доля длинныхA
5%20
10%40
25%100
>25%100

Компонент B — относительная длительность

B=min(100,  8×AvgLongDurationmax(1,MedianDuration))B = min \left( 100,\; 8 \times \frac{AvgLongDuration}{max(1, MedianDuration)} \right)

где MedianDuration — медианная длительность сеанса узла.

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

AvgLong / MedianB
16
40
10×80
12.5×100

Компонент C — число длинных сеансов

C=min(100,  Nlong)C = min(100,\;N_{long})

То есть 100 и более длинных сеансов дают максимальный вклад по этому компоненту.

Итоговый score

Score=0.5×A+0.3×B+0.2×CScore = 0.5 \times A + 0.3 \times B + 0.2 \times C

где:

  • A — доля длинных сеансов;
  • B — относительная длительность длинных сеансов;
  • C — абсолютное число длинных сеансов.

Итоговый score ограничивается диапазоном:

0Score1000 \le Score \le 100

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

ScoreУровень
≥ 80критичный узел связи
60–80высокий приоритет
40–60средний приоритет
20–40наблюдение / плановая проверка
< 20слабый сигнал

Оценка потери батареи на длинных сеансах

Смысл

Длинный сеанс увеличивает время передачи и может дополнительно расходовать батарею. Отчёт даёт ориентировочную оценку лишнего расхода энергии. Это не точное измерение батареи, а эксплуатационная оценка.

Лишнее время передачи

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

ExtraTimei=max(0,  diMedianDuration)ExtraTime_i = max(0,\;d_i - MedianDuration)

Суммарное лишнее время:

ExtraTimetotal=iLongSessionsExtraTimeiExtraTime_{total} = \sum_{i \in LongSessions} ExtraTime_i

Ток передачи

Для приближённой оценки используется базовый ток передачи:

ITX=340  mAI_{TX} = 340 \; mA

Потеря батареи

BatteryLossmAh=ITX×ExtraTimetotal3600BatteryLoss_{mAh} = \frac{I_{TX} \times ExtraTime_{total}}{3600}

где:

  • ExtraTime_total — в секундах;
  • I_TX — ток в миллиамперах;
  • результат — в мА·ч.

Для отображения в А·ч:

BatteryLossAh=BatteryLossmAh1000BatteryLoss_{Ah} = \frac{BatteryLoss_{mAh}}{1000}

Ограничение

Эта оценка не учитывает:

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

Поэтому её нужно читать как оценку масштаба, а не как лабораторное измерение.

RSSI и CSQ

RSSI

RSSI показывает уровень радиосигнала в dBm. Чем ближе значение к нулю, тем сильнее сигнал.

Примерная интерпретация:

RSSIОценка
≥ −65 dBmхороший сигнал
−65…−75 dBmприемлемый
−75…−85 dBmслабый
< −85 dBmочень слабый

CSQ

Некоторые устройства передают не RSSI в dBm, а CSQ — индекс качества GSM-сигнала. Если значение похоже на CSQ, его можно пересчитать:

RSSIdBm=113+2×CSQRSSI_{dBm} = -113 + 2 \times CSQ

Пример:

CSQ=29CSQ = 29 RSSI=113+2×29=55  dBmRSSI = -113 + 2 \times 29 = -55 \; dBm

Локально слабый сигнал

Если:

RSSIavg<85  dBmRSSI_{avg} < -85 \; dBm

и аномалии узла не совпадают с массовыми парк-инцидентами, причина может быть классифицирована как:

text
weak signal at the installation site

Группировка длинных сеансов в инциденты

Реестр инцидентов

Аномалии группируются по часовым окнам. Если в одном часе сразу несколько узлов получили длинные сеансы, это не локальная проблема узла, а инцидент сети, сервера или оператора. Гипотеза определяется автоматически по ширине охвата — числу узлов, моделей и клиентов в окне.

Зачем нужна группировка

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

  • проблема базовой станции;
  • локальная перегрузка оператора;
  • массовый сетевой инцидент;
  • регламентная серверная операция;
  • особенность прошивки определённой модели.

Часовая корзина

Каждый длинный сеанс помещается в часовую корзину:

Bucket(t)=floor(t1h)×1hBucket(t) = floor\left( \frac{t}{1h} \right) \times 1h

То есть все события внутри одного часа попадают в один bucket.

Инцидент

Часовой bucket считается инцидентом, если в нём затронуто не менее:

Nstations,bucket5N_{stations,bucket} \ge 5

узлов.

Показатели инцидента

Для каждого инцидента рассчитываются:

ПоказательФормула
число узловcount(unique station_id)
число моделейcount(unique equipment_type)
число клиентов / локацийcount(unique customer_id)
число сеансовcount(long sessions in bucket)
средний RSSIaverage(RSSI)
топ моделейtop equipment types by count

RCA: атрибуция причины инцидента

Сводка по расследованию первопричин

Сводка по парку определяет главного виновника — базовую станцию, сервер, сеть, прошивку или локальный узел — даёт атрибуцию вины по узлам с аномалиями и формирует план действий. Необязательный AI-нарратив внизу объясняет числа человеческим языком, но не меняет их.

RCA — это классификация вероятной причины длинных сеансов.

Возможные гипотезы

ГипотезаСмысл
Server driverмассовый сбой драйвера сбора
Server routineрегулярная серверная операция или обслуживание
Network outageсбой мобильной сети оператора
Cell towerпроблема конкретной базовой станции или локации
Firmwareпроблема модели устройства / прошивки
Local signalслабый сигнал в месте установки
Battery lowнизкое питание / деградация батареи
Isolated deviceлокальная неисправность конкретного узла
Mixed causesсмешанные причины

Широкий серверный инцидент

Инцидент классифицируется как серверный, если одновременно затронуто много узлов, много моделей и много клиентов. Условно:

NstationsServerWideStationsN_{stations} \ge ServerWideStations NmodelsServerWideModelsN_{models} \ge ServerWideModels NcustomersServerWideCustomersN_{customers} \ge ServerWideCustomers

В отчёте это означает:

text
wide fleet incident, not similar to a local single-node problem.

Сетевой сбой оператора

Если затронуто несколько моделей и несколько клиентов, но масштаб не дотягивает до серверного сбоя:

Nmodels3N_{models} \ge 3

и:

Ncustomers3N_{customers} \ge 3

то гипотеза:

text
mobile network failure / operator incident

Проблема базовой станции

Если затронуто много узлов, но они относятся к одной или двум локациям / клиентам:

Ncustomers2N_{customers} \le 2

и:

NstationsCellMinStationsN_{stations} \ge CellMinStations

то гипотеза:

text
base station problem or local coverage problem

Проблема прошивки или модели

Если затронута одна модель, но разные клиенты:

Nmodels=1N_{models} = 1

и:

Ncustomers3N_{customers} \ge 3

то гипотеза:

text
firmware / device model peculiarity

Смешанные причины

Если условия не дают однозначной классификации, инцидент получает статус:

text
mixed causes

Повторяющаяся серверная рутина

Иногда массовые серверные инциденты происходят в один и тот же час суток.

Условие

Если есть не менее трёх server-wide инцидентов в один и тот же час суток:

Nserver_incidents,same_hour3N_{server\_incidents,same\_hour} \ge 3

то они могут быть классифицированы как:

text
server routine

Смысл

Это может указывать на регулярную ночную задачу, обслуживание архива, batch-процесс или массовую операцию, которая влияет на длительность сеансов.

Атрибуция причины по каждому узлу

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

Доля аномалий узла, попавших в парк-инциденты

InIncidentPct=Nlong,in_incidentsNlong×100%InIncidentPct = \frac{N_{long,in\_incidents}}{N_{long}} \times 100\%

Если большинство аномалий совпало с парк-инцидентами

Если:

InIncidentPct70%InIncidentPct \ge 70\%

то доминирующая причина узла берётся из парк-инцидента:

text
network_outage / cell_tower / firmware / server

Это означает:

text
the device is probably not the main culprit; it suffered together with others.

Проверка низкой батареи

Если аномалии не объяснены парк-инцидентами, проверяется питание. Пусть:

BtmfirstBtm_{first}

— первое доступное значение батареи в длинных сеансах, а:

BtmlastBtm_{last}

— последнее доступное значение. Падение:

BtmDrop=BtmfirstBtmlastBtmDrop = Btm_{first} - Btm_{last}

Гипотеза battery_low возможна, если:

Btmfirst<3500  mVBtm_{first} < 3500 \; mV

и:

BtmDrop>200  mVBtmDrop > 200 \; mV

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

Если:

RSSIavg<85  dBmRSSI_{avg} < -85 \; dBm

то гипотеза:

text
weak signal at the installation site

Изолированная неисправность узла

Если:

  • аномалии не совпадают с парк-инцидентами;
  • батарея не объясняет картину;
  • RSSI не критически слабый;

то причина классифицируется как:

text
local malfunction of the node

Распределение гипотез по парку

Распределение гипотез

Для каждого узла выбирается доминирующая причина. Когда большинство узлов пострадали от парк-инцидентов, сам узел не виноват; только меньшинство имеет изолированную локальную проблему. Это меняет план действий: главное усилие идёт на базовые станции и оператора, а не на массовый выезд к каждому узлу с аномалиями.

Отчёт показывает, сколько узлов отнесено к каждой доминирующей причине.

Формула доли гипотезы

Sharehypothesis=Nstations,hypothesisNstations,with_anomalies×100%Share_{hypothesis} = \frac{N_{stations,hypothesis}}{N_{stations,with\_anomalies}} \times 100\%

Группы причин

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

ГруппаВключает
сеть / серверserver_driver, server_routine, network_outage, cell_tower
локальные проблемы устройствisolated_device, local_signal, battery_low
модель / прошивкаfirmware
смешанныеmixed

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

ДоминируетЧто делать
Cell towerпроверить покрытие, оператора, внешние антенны у затронутых клиентов
Local signalвыезд к конкретному узлу, антенна, репитер, место установки
Isolated deviceдиагностика модема, SIM, питания, прошивки
Firmwareпроверка версии ПО и обращение к поставщику
Server routineпроверить регулярные процессы платформы
Network outageзапросить оператора связи по времени и зоне

Топ проблемных узлов

Топ проблемных узлов

Таблица топ проблемных узлов ранжирует узлы по композитному score (0–100), построенному из доли длинных сеансов, их средней длительности и их числа. При клике по строке раскрываются самые длинные сеансы узла со значениями RSSI и Btm — используется для планирования выезда.

Назначение

Таблица показывает, куда ехать или что проверять в первую очередь.

Колонки таблицы

КолонкаЗначение
Узелназвание и ID узла
Корректортип прибора
Сеансовобщее число валидных сеансов
Длинныхчисло аномально длинных сеансов
Доляпроцент длинных сеансов
Средний длинныйсредняя длительность длинных сеансов
Максимальный сеансхудший найденный сеанс
RSSI среднийкачество радиосигнала
Потеря батареирасчётная лишняя энергия
Scoreкомпозитная оценка проблемности

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

Высокий score может возникать по разным причинам:

  • большая доля длинных сеансов;
  • очень длинные отдельные сеансы;
  • большое абсолютное число длинных сеансов;
  • сочетание этих факторов.

Для планирования выезда нужно читать не только score, но и:

  • RSSI;
  • гипотезу RCA;
  • потерю батареи;
  • максимальный сеанс;
  • попадание в парк-инциденты;
  • тип корректора.

Топ проблемных суток

Топ проблемных суток

Все аномальные сеансы группируются по календарным суткам. День с наибольшим числом аномалий — это где, скорее всего, был парк-инцидент. Каждый день раскрывается в список узлов с их аномалиями, максимальным сеансом и ссылками. Это полезно для разбора массовых событий и проверки регулярности.

Назначение

Разрез по суткам показывает дни, когда длинные сеансы массово возникали на парке.

Показатели дня

ПоказательЗначение
Датакалендарный день
Длинных сеансовчисло длинных сеансов за день
Узловсколько узлов затронуто
Средний длинныйсредняя длительность длинных сеансов
Максимальный сеансхудший случай дня
Худший узелузел с максимальным сеансом

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

КартинаВозможная причина
много узлов в один деньсетевой или парк-инцидент
один узел каждый деньлокальная проблема
всплеск в выходнойоператорская сеть / технические работы
всплеск в одинаковое времярегулярная задача или расписание
рост по месяцамдеградация сети, сезонная перегрузка, изменение режима опроса

Разрез по типам корректоров

Покрытие по типам корректоров

Блок покрытия показывает, что было проверено из парка по каждому типу корректора: сколько узлов в выборке, сколько вернули данные, сколько прошли IQR и сколько показывают аномалии. Если у типа «норма», данные пришли, но аномалий не найдено. «Нет данных» означает, что тип не отдаёт длительность сеансов в API — для отдельных моделей это нормально.

Детальный разрез по типам корректоров

Раскройте тип, чтобы увидеть все его узлы с аномалиями; раскройте узел, чтобы увидеть его конкретные длинные сеансы со временем, длительностью, RSSI и Btm. Цвет подсветки сеанса зависит от того, насколько он длиннее нормы узла.

Назначение

Разрез по типам корректоров показывает, какие модели чаще попадают в аномально длинные сеансы.

Показатели по типу

ПоказательЗначение
В выборкесколько узлов данного типа в парке
С даннымисколько узлов вернули данные сеансов
Прошли IQRсколько узлов имеют минимум сеансов
Аномалийколичество длинных сеансов
Состояниенорма / аномалии / нет данных

Важное ограничение

Нельзя напрямую сравнивать типы корректоров только по числу аномалий. Нужно учитывать:

  • сколько устройств данного типа в парке;
  • сколько из них вернули данные;
  • сколько прошли минимум сеансов;
  • где они установлены;
  • в каких сетях работают;
  • одинаковый ли у них режим опроса;
  • не сконцентрированы ли они у одного клиента.

Нормированная доля аномалий по типу

Для корректного сравнения можно использовать:

TypeAnomalyRate=Nlong,typeNsessions,type×100%TypeAnomalyRate = \frac{N_{long,type}}{N_{sessions,type}} \times 100\%

или:

TypeAffectedRate=Nstations_anomalous,typeNstations_qualified,type×100%TypeAffectedRate = \frac{N_{stations\_anomalous,type}}{N_{stations\_qualified,type}} \times 100\%

Разрез по времени: динамика и месяцы

Динамика длинных сеансов по дням

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

Разрез по месяцам

Разрез по календарным месяцам помогает увидеть сезонность или долгосрочный тренд. Массовый месячный пик соответствует той же серии инцидентов, что видна в дневной динамике; постепенный рост со временем — кандидат на деградацию связи или батарей.

Назначение

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

Показатель месяца

Nlong,month=count(long_sessions  in  month)N_{long,month} = count(long\_sessions \; in \; month)

Доля месяца

Если нужно показать долю:

Sharemonth=Nlong,monthNlong,all_months×100%Share_{month} = \frac{N_{long,month}}{\sum N_{long,all\_months}} \times 100\%

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

КартинаВозможное объяснение
резкий месячный всплескизменение сети, массовый сбой, сезонная нагрузка
постепенный ростдеградация связи или батарей
всплеск зимойпогодные условия, нагрузка сети, питание
всплеск после обновленияпрошивка, настройки, расписание опроса

Цветовая подсветка конкретных сеансов

Самые длинные сеансы узла

При раскрытии узла его отдельные длинные сеансы подсвечиваются по силе превышения индивидуального порога, и показываются точные значения RSSI и Btm в момент каждого длинного сеанса. Именно это нужно выездной бригаде: низкий RSSI указывает на проблему радиосигнала, а нормальное напряжение батареи исключает батарею.

Ratio превышения

Ratioi=diUpperFenceRatio_i = \frac{d_i}{UpperFence}

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

RatioЦвет / уровень
1–2×слабое превышение
2–5×среднее превышение
≥5×сильное превышение

Это помогает быстро отличить умеренно длинные сеансы от экстремальных.

Что делать по результатам отчёта

Если причина — базовая станция

Проверить:

  • качество покрытия в локации;
  • альтернативного оператора связи;
  • внешнюю антенну;
  • репитер;
  • повторяемость инцидентов по дням;
  • соседние узлы той же локации;
  • перегрузку сети в конкретные часы.

Если причина — локальный узел

Проверить:

  • антенну;
  • SIM-карту;
  • модем;
  • питание;
  • батарею;
  • разъёмы;
  • место установки;
  • помехи;
  • версию прошивки;
  • настройки расписания передачи.

Если причина — слабый сигнал

Действия:

  • измерить RSSI на месте;
  • попробовать вынести антенну;
  • проверить направление антенны;
  • проверить альтернативного оператора;
  • поставить внешнюю антенну или репитер.

Если причина — батарея

Действия:

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

Если причина — модель / прошивка

Действия:

  • сгруппировать узлы по версии ПО;
  • проверить примечания к выпускам поставщика;
  • запросить известные проблемы;
  • сравнить с другими моделями в тех же локациях;
  • протестировать режим связи в лаборатории.

AI-комментарии

План выезда от AI

Необязательный AI-комментарий читает RCA и пишет короткий, понятный человеку план выезда для бригады. Это языковое пояснение, а не источник диагностики — все числа и причины определяются формулами и правилами выше.

Что AI может делать

  • кратко пересказать RCA;
  • объяснить главного вероятного виновника;
  • выделить топ-узлы;
  • сформулировать план выезда;
  • объяснить разрез по моделям.

Что AI не может делать

AI не может:

  • изменить IQR-порог;
  • изменить список длинных сеансов;
  • изменить score;
  • определить истинную причину без данных;
  • заменить радиотехническое обследование;
  • заменить выезд;
  • быть доказательной базой.

Типовые ошибки интерпретации

Ошибка: длинный сеанс = плохой прибор

Неверно. Длинный сеанс может быть вызван сетью, базовой станцией, слабым сигналом, серверной рутиной, локальной антенной, SIM-картой или батареей.

Ошибка: много аномалий у модели = модель плохая

Неверно. Нужно нормировать на число устройств, число сеансов, локации и операторов связи.

Ошибка: нет аномалий = всё хорошо

Неверно, если данных сеансов нет или покрытие слишком низкое.

Ошибка: высокий RSSI исключает проблему связи

Не всегда. Возможны проблемы оператора, перегрузка, прошивка, серверный приём, повторные передачи или ошибки протокола.

Ошибка: battery loss = точный расход батареи

Неверно. Это оценка, построенная на лишнем времени передачи и условном токе.

Ошибка: один экстремально длинный сеанс делает узел главным проблемным

Не всегда. Score учитывает не только максимум, но и долю, среднюю длительность и число длинных сеансов.

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

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

  • период анализа;
  • охват парка;
  • статус data-gate;
  • число узлов в парке;
  • число опрошенных узлов;
  • число узлов с данными сеансов;
  • число узлов, прошедших IQR-порог;
  • число сеансов в выборке;
  • число длинных сеансов;
  • число узлов с аномалиями;
  • максимальную длительность сеанса;
  • число часовых инцидентов;
  • распределение RCA-гипотез;
  • формулу IQR-порога;
  • формулу score узла;
  • формулу battery loss;
  • правила RCA-классификации;
  • таблицу топ проблемных узлов;
  • разрез по дням;
  • разрез по типам корректоров;
  • разрез по месяцам;
  • дисклеймер о приблизительности battery loss;
  • дисклеймер о роли AI;
  • рекомендации по действиям.

Сводная формула отчёта

Для каждого узла:

D={didi>0}D = \{d_i \mid d_i > 0\} IQR=Q3(D)Q1(D)IQR = Q3(D) - Q1(D) UpperFence=Q3(D)+1.5×IQRUpperFence = Q3(D) + 1.5 \times IQR LongSessions={didi>UpperFence}LongSessions = \{d_i \mid d_i > UpperFence\} Pctlong=LongSessionsD×100%Pct_{long} = \frac{|LongSessions|}{|D|} \times 100\% A=min(100,  4×Pctlong)A = min(100,\;4 \times Pct_{long}) B=min(100,  8×AvgLongDurationmax(1,MedianDuration))B = min \left( 100,\; 8 \times \frac{AvgLongDuration}{max(1, MedianDuration)} \right) C=min(100,  LongSessions)C = min(100,\;|LongSessions|) Score=0.5A+0.3B+0.2CScore = 0.5A + 0.3B + 0.2C

Оценка лишнего расхода батареи:

ExtraTimetotal=diLongSessionsmax(0,  diMedianDuration)ExtraTime_{total} = \sum_{d_i \in LongSessions} max(0,\;d_i - MedianDuration) BatteryLossmAh=340×ExtraTimetotal3600BatteryLoss_{mAh} = \frac{340 \times ExtraTime_{total}}{3600}

Группировка инцидентов:

Bucket(t)=floor(t/1h)×1hBucket(t) = floor(t / 1h) \times 1h Incident=Bucket  where  Nunique_stations5Incident = Bucket \; where \; N_{unique\_stations} \ge 5

Рекомендуемый дисклеймер

text
The report detects abnormally long communication sessions relative to each
node's individual norm. The result is used for prioritising diagnostics of
communications, antennas, SIM cards, power, carriers and base stations. The
report is not proof of a specific device's malfunction without a field visit and
does not assess the correctness of commercial gas metering.

Связь с другими отчётами

Если нужно понятьИспользовать
какие узлы долго держат связь и тратят батареюэтот отчёт
у каких узлов нет связи или архиваТоп проблемных узлов
можно ли закрывать период по конкретному узлуАналитика потребления
есть ли подозрение на недоучётПодозрительные узлы
почему конкретный узел подозрителенПодозрение на обход учёта
когда менять батареиПрогноз состояния батарей

Такое разделение нужно, чтобы длинные сеансы связи не смешивались с коммерческими, метрологическими и экспертными выводами.

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

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

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