Перейти к содержанию

Виды диалогов, пропущенные обращения и отказы

В этой статье описаны внутренние виды диалогов, которые Webim присваивает чатам, и то, как они связаны со статистикой пропущенных обращений и отказов.

Что такое threadkind

У каждого диалога в базе хранится поле chatthread.threadkind — набор внутренних признаков (видов), которые характеризуют сценарий диалога.

Ключевые особенности:

  • threadkindмножество значений (в MySQL хранится как SET(...)).

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

  • Виды используются в интерфейсе (фильтры/выборки) и в расчётах статистики.

N.B.

Технически поле является множеством, но в типовой логике Webim большинство сценариев приводит к одному “основному” виду. Отдельно важно, что offlineвзаимоисключающий сценарий: если диалог начался как офлайн-обращение, у него будет только offline.

Список видов

Значение threadkind Смысл Как обычно используется
chat Диалог переходил в активное общение и посетитель считался онлайн хотя бы в один момент в процессе общения. “Обычный” онлайн-чат.
offline Диалог начался как офлайн-обращение (когда нет операторов онлайн). Офлайн-обращения и отчёты по ним.
missed Посетитель не получил ответа и ушёл, а диалог затем был закрыт как пропущенный (подробные условия ниже). Метрики “Пропущенные”.
bounce Посетитель ушёл из ожидания/закрыл диалог до истечения тайм-аута отказа — это считается отказом, а не пропуском. Также сюда относят “пустые” обращения без сообщений, закрытые посетителем. Метрики “Отказы”, а также исключение “явных отказов” из ряда выборок.
rejected_invitation Диалог начался с авто-приглашения и был закрыт без сообщений посетителя. Аналитика эффективности авто-приглашений.
skip Служебная пометка “не учитывать” (ставится вручную/административно). Исключение из истории/отчётов.

Подробности по видам диалога

chat

chat означает, что диалог дошёл до стадии реального общения.

Типовые признаки:

  • был переход в состояние общения (chatting / chatting_with_robot и т. п.);

  • посетитель считался онлайн хотя бы в один момент, пока диалог был в общении.

offline

offline означает, что диалог начался как офлайн-обращение (оффлайн-форма/нет операторов онлайн и т. п.).

Важно

Если диалог начался как офлайн-обращение, threadkind будет содержать только offline и не будет комбинироваться с chat/missed/bounce/rejected_invitation.

rejected_invitation

rejected_invitation выставляется, когда:

  • диалог был в состоянии авто-приглашения (invitation);

  • посетитель так и не написал ни одного сообщения;

  • диалог закрылся.

skip

skip — служебная пометка, что диалог не должен участвовать в аналитике и выборках.

Типовые случаи:

  • тестовые обращения при настройке;

  • служебные/ошибочные диалоги, которые нужно исключить из отчётов.

Пропущенные обращения и отказы: missed и bounce

Тайм-аут отказа

Ключевой параметр — seconds_before_visitor_missed, в интерфейсе он называется Тайм-аут отказа (см. Меню → Настройки → Общие → Тайм-ауты и автосообщения).

Логика такая:

  • если посетитель ушёл раньше тайм-аута отказа → это отказ (bounce);

  • если посетитель ждал дольше тайм-аута отказа и ушёл, не получив ответа → это пропущенное (missed).

Как определяется отказ

bounce — это “явный отказ” со стороны посетителя. Типовые ситуации:

  • диалог стоял в очереди, посетитель ушёл/закрыл диалог до истечения тайм-аута отказа;

  • посетитель открыл чат, но не отправил ни одного сообщения и закрыл его, пока диалог ещё был в ожидании (такие “пустые” обращения также относятся к отказам).

Как определяется пропущенное обращение

missed соответствует “пропущенному” в смысле статистики: посетитель не получил ответа и ушёл, а диалог был закрыт как пропущенный.

Логика работы:

  1. Посетитель инициировал обращение с сайта в момент, когда хотя бы один оператор был онлайн.

  2. Диалог попал в ожидание (очередь).

  3. Посетитель дождался истечения тайм-аута отказа и ушёл (стал офлайн) до того, как получил реакцию оператора.

  4. Посетитель не вернулся до окончательного закрытия диалога.

N.B.

Если посетитель покинул сайт, пока диалог стоял в очереди, а оператор принял чат уже после ухода посетителя, такой диалог считается пропущенным.

Важные нюансы “онлайн/офлайн”

При расчётах пропущенных обращений важно, как система трактует онлайн-статус:

  • “Онлайн” включает ситуацию, когда посетитель закрыл окно чата, но остался на сайте.

  • В каналах общения и в мобильных приложениях с push-токеном пропущенные обращения не формируются (посетители в них воспринимаются системой как находящиеся онлайн).

Подробная логика пропущенных обращений описана в статье: Пропущенные обращения.

Влияние threadkind на статистику и отчёты

Виды диалогов обычно используются так:

  • chat — учитывается как онлайн-диалог/обработанный чат (в зависимости от отчёта).

  • offline — используется в отчётах по офлайн-обращениям.

  • missed — формирует метрики “Пропущенные”.

  • bounce — формирует метрики “Отказы” и часто исключается из метрик “нагрузки/обращений”.

  • rejected_invitation — статистика авто-приглашений.

  • skip — должен исключаться из отчётов/выборок.

  • undefined / could not define — встречаются только в старых данных.

N.B.

В отдельных отчётах могут применяться дополнительные условия (например, по состояниям диалога или событиям истории), поэтому ориентируйтесь на описание конкретной метрики/отчёта.