Я реплицирую метрики Discourse в наш инструмент бизнес-аналитики ThoughtSpot и, дойдя до метрики «Время до первого ответа», обнаружил недостаток в её отчётности при просмотре в недельном или месячном разрезе.
В настоящее время отчёт Discourse рассчитывает среднее время ответа в день, но при агрегации в недельный или месячный вид он просто берёт среднее арифметическое этих дневных средних, вместо вычисления взвешенного среднего. Это может приводить к вводящим в заблуждение результатам, особенно когда в некоторые дни количество тем значительно выше, чем в другие.
Пример:
Ниже приведена разбивка по времени ответа и количеству тем за каждый день:
| Дата | Ср. время ответа (ч) | Кол-во тем |
|---|---|---|
| 16 марта | 1.9 | 1 |
| 15 марта | 23.6 | 1 |
| 14 марта | 0.4 | 3 |
| 13 марта | 6.0 | 7 |
| 12 марта | 0.3 | 1 |
| 11 марта | 2.1 | 8 |
| 10 марта | 6.6 | 1 |
Теперь, если мы рассчитаем среднее из средних, получим:
Однако это не точно отражает реальное время первого ответа, поскольку каждый день рассматривается одинаково, независимо от количества созданных тем. Вместо этого правильный подход — рассчитать взвешенное среднее, учитывая количество тем:
Используя этот метод:
Почему это важно
Разница существенна — 5.82 часа против 2.85 часов. Текущий метод придаёт избыточный вес дням-выбросам (например, 15 марта с 23.6 часами, но всего одной темой) и занижает вес дней с высокой активностью (например, 11 марта с 8 темами и временем ответа 2.1 часа).
Для более точного отражения времени ответа Discourse должен перейти на взвешенное среднее при агрегации данных за период.
Буду рад узнать ваше мнение — заметил ли кто-то ещё эту проблему?


