Рубрика развивается при поддержке

Как Slack-боты убили дашборды

Давайте оглянемся вокруг. Сейчас далеко не средневековье с дефицитом информации, а скорее наоборот. Современный человек за месяц получает и обрабатывает столько же информации, сколько человек 17 века за всю жизнь. По оценкам IDC, доля полезной информации составляет 35% от всей сгенерированной. Сегодня выигрывает тот, кто успевает воспользоваться нужной информацией в нужный момент.

В закладки
Аудио

Хочу поделиться опытом, как мы в Flowwow распутываем ежедневные безумные клубки информации при помощи автоматизации и Slack-ботов.

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

«Так исторически сложилось», — ответим мы. В далёком 2015 году не было ничего лучше для распределённой команды (а есть ли сейчас?). С того года наша команда выросла до 40 человек, а количеству Slack-ботов мы уже потеряли счёт. Но можно сказать точно: ботов-трудяг в компании намного больше, чем живых людей.

Давайте посмотрим, с чем мы имеем дело.

Ежедневно мы обрабатываем от 500 до 1000 заказов, взрывообразно увеличивая эти цифры в десятки раз на праздники. «Ну и что тут такого, — скажете вы, — берём формулы для расчёта количества операторов call-центра, например, 15 тысяч заказов на 8 марта, получаем минимум 40 человек, находим их, сажаем на телефоны или чаты — profit!».

Но нет. У нас даже праздничный шквал заказов легко обрабатывается силами максимум четырёх девушек на поддержке. Пруф раз (8 марта), пруф два (День матери). Причина этому — наша помешанность на автоматизации всего и вся, но это тема для отдельной статьи (и даже не одной).

С другой стороны, на нашей платформе размещаются более 3500 магазинов, охватывающих 950 городов мира. Ежедневно они загружают новые товары на модерацию, редактируют старые, запрашивают вывод средств и просто задают все главные вопросы вселенной в чат поддержки.

Кроме того, половину нашей команды составляют разработчики. Они, конечно, не поспевают за темпом, с которым генерируют идеи продуктологи, но тем не менее проект деплоится 10–15 раз за день и остаётся стабильным в 99,7% случаев. Приложения релизятся еженедельно. Если что-то всё же ломается, то тут же детектится и исправляется в кратчайший срок. Всё это позволяет держать высокий темп проверки гипотез бизнеса.

Баланс на кончиках пальцев

Итак, как небольшой команде выживать в этом потоке событий?

Существуют две крайности в подходах организации информации:

  1. Сделать себе из дашбордов и папок с отчётами приборную панель самолёта и попробовать взлететь.
  2. Стать в позу страуса в песке. Если я не вижу информации, значит, её нет.

Мы пытаемся нащупать баланс: собираем максимум оперативной информации, фильтруем её и сортируем по Slack-каналам. Нам, как компании миллениалов, очень близка философия чатов. Чтобы быть в контексте, достаточно скользнуть глазами по последним сообщениям в нужных каналах.

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

Наше первое знакомство со Slack-ботами началось с того, что мы решили транслировать тексты всех возникающих ошибок на сайте в отдельный канал.

Так у каждой ошибки появился хозяин, обсуждение — хочется поскорее всё исправить и заставить этого бота молчать. Бонусом добавляется смелость в релизах фич, так как мы сразу увидим, если что-то пойдёт не так. Спустя некоторое время появились каналы, собирающие ошибки с iOS и Android. +10 к стабильности продукта.

Оперативное вмешательство

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

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

Следует пояснить, что у нас нет отдельного человека, который целыми днями смотрит на графики загрузки серверов, поэтому до запуска этого бота (и других похожих) мы узнавали о таких нагрузках либо постфактум, либо косвенно через жалобы клиентов. Такой бот: +3 к пониманию происходящего прямо сейчас.

В целом для оперативного наблюдения за серверами можем порекомендовать okmeter и его Slack-бота, который также у нас подключён.

Проверяем и караем

Модератор товаров — ещё один пример бота, который помимо информирования выполняет операционную работу. Ежедневно магазины загружают около 1000 новых товаров и ещё больше редактируют старых. Каждое изменение должно проходить проверку на соответствие нашим стандартам. Этим занимается всего один человек, точнее, он присматривает за ботом, выполняющим основную часть работы.

Человеку остаётся нажать на ссылку и пробежаться глазами по отмодерированным товарам. В основном мы ищем запрещённое содержимое на фото: обнажёнку, спиртное и тому подобное. Но и эту задачу можно будет поручить нейросети, освободив человека. +5 к автоматизации.

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

Нам же для корректной работы поисковика и кучи других технических вещей критически необходимо держать эти данные в чистоте. Да и клиентам, думаю, намного приятнее читать описание товара без грамматических ошибок. Тут в дело вступает Grammar-nazi-бот. +2 к чистоте!

Цены. Очень важная вещь. Мы не модерируем каждое изменение цены на товар, но боты следят за подозрительными повышениями. Зачем? Дело в том, что на платформе мы гарантируем клиентам такие же цены, как в физическом магазине.

Согласно офёрте, магазин делится с нами частью прибыли в качестве оплаты за приведённого клиента. При этом магазин сам выбирает, какой частью делиться: 20% или более (повышенная комиссия даёт преференции в выдаче). Недобросовестные магазины пытаются переложить оплату части комиссии на плечи клиентов путём повышения цен на товары, за что мгновенно получают бан.

Всё как на ладони. +5 к прозрачности.

А так можно было?

В Slack-каналы также приходят любые запросы от магазинов и клиентов. Не пользоваться же почтой в 2019 году!

Все реакции клиентов также собираются в Slack.

Ну ладно, не все. При нашей собираемости отзывов (свыше 50% клиентов ставят оценку после заказа) канал просто завалит благодарностями и пользоваться им будет невозможно. Поэтому боты ловят только негатив, который мы стараемся держать в рамках 2% от количества заказов. С этим можно и нужно работать. +10 к клиентоориентированности.

Если вы до сих пор ходите читать отзывы о своей компании на разные площадки, рекомендуем задуматься об обработке отзывов единым потоком. Начните с AppFollow и его ботов, собирающих информацию с Google Play и App Store.

Кроме негатива мы пристально наблюдаем за случаями, когда у пользователя идёт что-то не так на любом из этапов заказа. Например, все проблемы с оплатами падают в отдельный канал:

Slack-боты собирают все ошибки неотправленных SMS, email, и другую информацию для ответов на часто задаваемые клиентами вопросы. Работайте на опережение. +5 к вау-эффекту.

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

Отпуска и больничные через HR-бота

Кажется, вы уже устали от примеров, а я не перечислил ещё и десятой части наших ботов. Давайте покажу немного HR-ботов.

Когда команда разрастается, сложно помнить о том, кто сегодня болеет, а кто завтра уходит в отпуск. Больного желательно не тревожить, а уходящему в отпуск нужно срочно задать все насущные вопросы до отлёта.

На скриншоте пример, как люди взяли пару дней на майские праздники. Бот сообщает об этом за два дня и непосредственно в день события. Это удобно. Вы всё еще пишете всем коллегам письма «с … по … буду в отпуске»? Мы вас, конечно, не осуждаем, но можно иначе :)

Также есть бот, напоминающий всем о днях рождениях. Что? Вы помните наизусть дни рождения всех ваших коллег? Ну, тогда он вам не нужен, да.

Ежедневная экспресс-аналитика

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

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

А таргетолог подкрутит рекламную кампанию и увидит увеличение потока в начале воронки (или нет). Конечно, окончательное решение будет за аналитиками, но мы считаем, что каждый член команды должен ежедневно видеть финансовые показатели компании, в которой работает, обсуждать их, предлагать идеи. Это позволяет двигаться быстрее.

Краткий итог

Сейчас у нас в Slack более 200 каналов для 40 человек. Ежедневно мы генерируем около 3000 сообщений, плюс столько же производят наши любимые боты. И знаете, 6000 сообщений в день совсем не ощущаются, так как каждый сотрудник находится только в нужных ему каналах и получает только необходимую информацию в тот самый идеальный момент.

А вы всё ещё сидите за приборной панелью самолёта?

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Артем Гамбицкий", "author_type": "self", "tags": ["\u0447\u0430\u0442\u0431\u043e\u0442\u044b","slack"], "comments": 38, "likes": 74, "favorites": 218, "is_advertisement": false, "subsite_label": "services", "id": 87001, "is_wide": false, "is_ugc": true, "date": "Tue, 08 Oct 2019 13:06:31 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
Объявление на vc.ru
Личный опыт
Почему вы читаете, как семиклассник?
Догадывались ли вы, что от вашей техники чтения в младших классах будут зависеть сегодняшние успехи в делах, бизнесе…
0
{ "id": 87001, "author_id": 311319, "diff_limit": 1000, "urls": {"diff":"\/comments\/87001\/get","add":"\/comments\/87001\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/87001"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
38 комментариев
Популярные
По порядку
Написать комментарий...
11

Мне кажется, в статье путаются понятия уведомлений об инцидентах с  реальными дэшбордами, дающими общую картину по продукту в целом. Просто для сравнения, попробуйте дэшборд Эльбы перевести в представленный в статье формат "дэшборда" в Slack.

А так в целом очень годная статья о том, как правильно строить процессы с помощью командых мессенджеров и ботов.  

Ответить
1

Мне кажется, в комментариях путаются понятия тактика и стратегия ;)

Ответить
1

Да, на Дашборде видно динамику

Ответить
8

Тёма, очень круто написано, тебе нужно чаще писать статьи, очень интересно и полезно!

Ответить
7

Я только вошел во вкус, а уже надо было закругляться)
Если будет интересно, раскроем какой-нибудь аспект подробнее.

Ответить
1

Хотим раскрытие технической стороны вопроса!

Ответить
7

Вам бы орфобота на свою же систему натравить. Привилегия. 

А так хорошая статья, не автоматизация ради автоматизации. 

Ответить
0

Ха, точно!)

Ответить
6

Почему сразу не генерить задачу в help-desk вместо того, чтобы писать в чат ботом?

Ведь дальше-то никакого статуса инцидента нет - что с ним произошло? Взял ли его в работу вообще кто-то? Какой SLA решения инцидента?

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

Вы по сути придумали свой хелп-деск костыль вместо того, чтобы взять готовое решение. Ничего плохого в этом костыле не вижу (сам его использую по некоторым проектам), но презентовать это как best practices в статье не стал бы. Неопытный читатель может и правда решить что так надо делать ;)

Делать надо через регистрация инцидента в качестве задачи в вашей внутренней CRM. 

Ответить
2

Ну не best practices, не перегибайте, а рассказ о том, что сработало у нас)

Формат наших инцидентов таков, что быстрее их решать в чате. Все инциденты разбиты по тематически каналам с разными приоритетами, за которые несут ответственность определенные люди. Статусы проставляются реакциями на сообщение. Некоторые боты надоедливо напоминают, если мы что-то забыли.

Ну и самая большая проблема help-desk в том, что он не умеет решать задачи, а вот бот некоторые умеет ;)

Ответить
4

Пидорбота не хватает

Ответить
5

На следующей недели планировал формировать новый деш. Теперь задумался, зачем нам он, может стоит обратить внимание на бота... 
Спасибо за статью! 

Ответить
3

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

А если я захочу посмотреть выручку/посещения etc за неделю, за месяц, за квартал? Мне с калькулятором сидеть и листать посты бота или дашборды всё же где-то имеются? :)

Ответить
0

Для аналитиков есть свои интерфейсы, конечно. Боты просто освобождают их от мелких задач.

Ответить
0

Окей. А зачем какому-нибудь тестировщику или девопсу знать о сегодняшней выручке? 

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

Ну окей, увидит он, что выручка выросла на сколько-то там процентов или упала. Какие его дальнейшие действия?

Ответить
5

Ребята из Тинькова рассказывали занятный кейс. Как-то их группа фронтендеров верстала какое-то безумное количество различных лендингов для тестов рекламного трафика. Половина команды уже чуть не выгорала. Но потом им показали статистику, сколько бабла приносят эти лендинги. И о чудо! У работы вдруг появился смысл, и глаза почему-то загорелись. 

Всей команде и каждому сотруднику нужно доносить куда мы идем, зачем, и как планируем это сделать. Конкретно наши метрики — повторные продажи и конверсия. И тестировщик и девопс влияют на них. Промежуточные цифры — это сверка часов, в том ли направлении мы все движемся.

Ответить
4

Это прозрачность в работе компании. Какие его дальнейшие действия - порадоваться за успех компании или расстроиться от падения. Просто кто-то трясется над финансами, что это секретно, никому нельзя знать, а кто-то открыто говорит об этом с командой, зависит от атмосферы в компании.

Ответить
2

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

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

Ответить
2

Классно у вас процессы построены. Нет, часом, вакансий для .net-чиков?)

Ответить
1

В истории с ботами (как и с любыми источниками уведомлений) самое главное — слать только нотификации, на которые реально нужно реагировать, и чтобы был ответственный за каждый тип нотификаций, который (которые) бы успевал "прожевать" весь объём событий. Иначе будет полный хаос, когда люди просто начнут игнорировать все эти сообщения от ботов.

Ответить
1

Полностью согласен. Идеальный бот тот, который молчит. Жаль, что я не могу наделать скриншотов с такими ботами)
Когда бот начинает просыпаться чаще чем мы можем среагировать, это знак того, что где-то что-то нужно подкрутить.

Ответить
1

А как отмечается решенная проблема? В сообщении чата же статус не поменяешь. Как другие участники команды понимают что проблемой занимается (или уже исправил) конкретный человек?

Ответить
0

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

Ответить
1

Очень интересно и познавательно

Ответить
0

Так у вас же явно какая-то crm все равно есть?!

Ответить
1

Безусловно. И для нас и для магазинов.
Более того, мы даем возможность магазинам пользоваться нашей CRM даже для заказов "на стороне" (которые приходят не с нашей платформы)

Ответить
0

Скоро боты ботов убивать начнут

Ответить
0

Представила, как те же пуши валятся на почту... Определенно боты лучше)

Ответить
0

Почти так же, только на базе tada.team, на который ушли со слака из-за бесплатности и простого задачника из коробки. 

А так да, куча каналов — просто для информации: и новые заказы, и новые комментарии, и ежедневная статистика. 

Ответить
0

А вот грамматический бот он по моему, судя по скриншоту, не всегда верно подсказывает )

Ответить
0

круто написано! жаль что retailcrm - не интегрируется со slack

Ответить
0

Отличная статья! Ребята можете пожалуйста поделиться ссылками на ботов?

Ответить
0

Спасибо! Мы не видим смысла выкладывать ботов в общий каталог, т.к. они заточены именно под наши процессы и данные. Но уверяем, написать таких же под свои процессы очень просто! Спросите у своих разработчиков, они подтвердят)

Ответить
0

Вы и правда финансовую часть в бот отдаете? Платеж не прошел , пятое, десятое... мдя...

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }