Статистика и аналитика для ботов на примере бота Яндекс.Музыки и сервиса Chatbase


05.01.2020 — Познавательно


Пару слов о сервисе. В далёком 2017 году компашка людей из гугла запилила сервис для ботов с ИИ. Гугл взяла их под крылышко и сервис считается гугловым.

Сам сервис заточен конкретно на ботов, которые на нейронках генерят ответы пользователю. Собсна название говорит само за себя, однако! Однако еще в 2017 году я начал использовать его как аналитику для обычных ботов. Тогда выбор был не очень большой. Был Botan.io (эдакий мост между яндекс аппметрикой и ботами, раньше я использовал его, сейчас проект мёртв). К сожалению и chatbase не развивается, застрял в 17 году. Пытается выглядеть законченным продуктом.

Перейдём к его использованию. Быстро пробегусь по тому, что у нас есть.

Платформа. Если ваш бот работает не только в TG, но и в других местах, можно легко отделять их друг от друга. Лично я живу только в TG, но использую эту возможность по максимуму. Я разделяю статистику пользователей из разных регионов. У некоторых пользователей бота доступно поле language. Поэтому платформы у меня Telegram, Telegram-ru и т.д.

Версионность. Как и с платформой. Легко отделяем одну статистику от другой.

Тип отправителя. Имеется агент и пользователь. При отправке сообщения юзеру шлём с типом агент, если юзер нам прислал - пользователь. Это построит нам целые переписки при анализе поведения пользователей.

Намерение (Intents). Изначально заточен для того, чтобы понять смысл сообщения пользователя. Например, что он с нами поздоровался. Я же использую как стейты того, что он сделал. Проще говоря, просто указываю имя хандлера, который обработал его сообщение. Указывать надо как при отправке сообщения юзера, так и бота, для связи этих двух сущностей.

Not Handled. Можно передать с сообщением только с типом user. Сообщаем о том, что не поняли, что от нас хотят. Я использую как лог левых сообщений, на которых нет обработчиков (просто интересно). И как логирование ошибок.

Помимо всего этого конечно же мы указываем время, ID юзера. Я использую ID с телеги, а не из моей БД.

Стату можно собирать в пачу и отправлять одним запросом, что удобно (я ещё и в отдельных потоках это делаю).

Прикрутили отправку статы и получили следующее:

Активность юзеров, посещения, уники, кол-во сессий, авг сессий на юзера, среднее время на сессию, лог ошибок. Все это с фильтрами по версиям, датам, платформам.

Фигня, да? Согласен.

Переходим к самому интересному: session flow. Мы видим как пользователи передвигаются по нашему боту! Мы видим всё дерево от начало общения до последнего действия! Видим узкие места в юзабилити, как именно пользователи осуществляют переход к тому, или иному меню. Мы видим как нашим ботом пользуются! Сколько и куда пошло, сколько отвалилось. При желании можем открыть диалог с конкретным пользователем и проанализировать действия.

Что-нибудь еще? Дааа!

FUNNELS

Это цепочки наших Intents, которые мы создаем сами. Например, дефолт цепочкой юзера может быть: Меню -> Умные плейлисты -> Плейлист дня -> Скачать текущую страницу

Я создаю такие цепочки из отправленных Intents и потом отслеживаю уровень их достижимости. Наблюдаю за тем, как люди поэтапно проходят по ней и сколько людей. Цепочкам можно задавать имена.

ИТОГО

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

А что используете вы? ✨

UPD. Из пикчи сразу видно, что проблема с авторизацией, о которой я уже подробно писал, всё ещё есть

UPD2. Забыл рассказать о том, что не использую. Сервис ещё имеет трек ссылок. Т.е. если вы рассылаете линки, то можно оборачивать их через chatbase и смотреть переходы и т.д.

Недавние посты


© marshal.by 2020

Исходный код

Сайт работает на Gatsby + prismic и опубликован на GitHub.