metrics-service

MetricsService

Спільний модуль family-application-api для аналізу зв’язків TU + RU та TU scoring.

Metrics доступні тільки для Golden і Chathouse: лише ці Family мають детальну статистику з RU та типом операції.

Задача

  1. Показати 14-денний календар активності RU для вибраної TU.
  2. Показати деталі зв’язку TU + RU за день.
  3. Розрахувати TU scoring за період і total доступного пулу TU.
  4. Побудувати часові ряди scoring-метрик.

Поточна реалізація

МожливістьGoldenChathouse
1Connections with users
2Деталі зв’язку за день
3TU scoring
4Графіки TU scoring

Для Chathouse треба дописати scoring і графіки поверх спільних формул та наявної детальної статистики.

API

ОпераціяEndpoint
1TU, доступні у MetricsPOST /metrics/tus
2Календар зв’язків TU + RUPOST /metrics/connections
3Деталі зв’язку за деньPOST /metrics/connection-details
4TU scoring і totalPOST /metrics/tu-scoring
5Часові ряди scoringPOST /metrics/tu-scoring-series

Спільні фільтри: family, період, supervisorFamilyId, operatorFamilyId і tuId. Доступний пул TU визначається роллю user.

Connections with users

Показується обраний день і 13 попередніх днів. У таблицю входять RU, які мали хоча б одну враховану витрату на вибрану TU у цьому вікні.

Статус дня визначається в одному порядку:

  1. RU заблокував TU.
  2. RU витрачав на цю TU.
  3. RU витрачав на інші TU.
  4. RU був online без витрат.
  5. RU не був online.

Фільтр connection type використовує new, young та old із FamilyMetricDay.

Деталі клітинки повертають lifetime, connection type, RU online, витрати за типами операцій, загальні витрати RU та інші TU, на яких він витрачав. Список інших TU обмежується доступним user scope.

TU scoring

МетрикаРозрахунок
1BalanceСума врахованих витрат RU
2Avg Balance per DayBalance / активні дні TU
3Avg OnlineOnline TU / активні дні TU
4Avg Views per HourУнікальні profile views / години online TU
5OTRRТаски з відповіддю до deadline / усі таски з deadline
6NewConn RateSender RU-days із відповіддю / усі sender RU-days
7NDRПовернення наступного дня / connections попереднього дня, окремо new/young/old
8Avg Spend per DayВитрати / connection-days, окремо new/young/old
9CPRАктивні дні пар / можливі дні пар
10Avg DAUСередня кількість унікальних connections за активний день TU
11TAUУнікальні connections за період
12New ConnConnections із lifetimeDays = 0

TU із сумарним online менше 60 хв за період не входить у scoring і total. Total для rate-метрик перераховується із загальних чисельників і знаменників, а не як середнє значень TU.

Дані

ДаніДжерело
Витрати, lifetime і повернення RUFamilyMetricDay
Активні дні TUFamilyStatisticsRelation
Online TUTUWorkspaceOnlineSession
ТаскиTask
RU onlineденний агрегат із partner online history
Profile viewsспільна collection подій перегляду профілю — TODO
Sender answersспільна collection результатів sender — TODO
Block history TU + RUспільна collection історії block/unblock — TODO

Golden уже має всі джерела для scoring. У Chathouse є детальні витрати, RU online, block history і sender answers; перед повним scoring треба додати спільні profile views та підключити решту canonical sources.

Часові ряди

POST /metrics/tu-scoring-series повертає ті самі метрики за day, week або month. Запит може містити одну метрику або весь набір для початкового завантаження сторінки.