В ноябре 2020 года Twilio завершила покупку Segment. Объявленная стоимость сделки — около 3,2 млрд долларов в акциях. Покупатель приобретал платформу клиентских данных: инфраструктуру, которая помогает соединить сведения о человеке из разных источников и использовать их в работе с ним. Сообщение о сделке.
У инфраструктуры редко бывает эффектная демонстрация. На экране интереснее выглядят отчёт, персональная рекомендация или рекламная кампания. Но сначала данные должны попасть туда, где всё это работает. История Segment позволяет посмотреть на этот промежуточный участок как на самостоятельный продукт.
Основа для разговора — интервью Питера Райнхардта «Peter Reinhardt on Finding Product Market Fit at Segment», опубликованное Y Combinator 6 сентября 2018 года. Ниже — краткое изложение истории и авторский разбор Sales Ninja.
#Короткая история большого разворота
В Y Combinator команда пришла летом 2011 года с инструментом для занятий: студенты могли сообщать преподавателю, что перестали понимать материал. Проверка в аудиториях показала, что продукт не работает так, как рассчитывали основатели. Следующей попыткой стал собственный аналитический сервис, но привлечь клиентов к нему тоже не удавалось.
При этом у команды была небольшая библиотека analytics.js: она позволяла отправлять одни и те же события в несколько систем аналитики. Библиотеку открыли, рассчитывая облегчить подключение собственного сервиса. Пользователи заинтересовались маршрутизацией данных, а переходить на новую аналитику не спешили.
Команда проверила самостоятельный спрос на библиотеку через лендинг и публикацию на Hacker News. Отклик оказался гораздо сильнее прежнего. Так вспомогательная разработка стала основой нового направления бизнеса. В интервью Райнхардт связывает этот поворот с появлением product-market fit — соответствия продукта реальной потребности рынка. Источник: Y Combinator.
#Что меняется, если помочь уже установленным сервисам
Попробуем разобрать экономику такого предложения со стороны покупателя. У компании уже есть аналитика, CRM и инструмент рассылок. В них накоплена история, сотрудники привыкли к интерфейсам, вокруг отчётов выстроены рабочие процессы. Переход на ещё один сервис требует объяснить, какая польза оправдает перенос данных, обучение людей и риск ошибок.
У соединительного слоя другая задача. Он позволяет сохранить выбранные инструменты и упростить обмен данными между ними. Покупатель получает возможность изменить один участок работы, не пересобирая остальные.
Здесь меняется и критерий качества продукта. Для аналитического сервиса важны ответы, которые он помогает получить. Для инфраструктуры передачи данных — возможность регулярно доставлять нужные события, в понятном формате и с нужными идентификаторами. Небольшой интерфейс может закрывать большую задачу, если через него проходит работа нескольких отделов.
Это наша интерпретация ценности такого класса продуктов. Её можно проверить практическим вопросом: что перестанет работать у клиента, если убрать соединение между системами? Если несколько команд вернутся к ручным выгрузкам и согласованию файлов, у соединения есть вполне осязаемая цена.
#Отправить событие — значит договориться о его смысле
В документации Segment основа описана очень просто. Вызов Track фиксирует действие пользователя и его свойства. Вызов Identify передаёт идентификатор пользователя и известные характеристики. Системы-получатели могут использовать эти сведения для собственных задач. Track, Identify.
Но простота вызова не отменяет необходимости договориться, что именно произошло. Если одна команда считает «активацией» регистрацию, а другая — первое полезное действие, одинаковое название события создаст видимость общего языка. Получатели получат данные, но станут отвечать на разные вопросы.
Поэтому полезно разделять три вещи: какой факт зафиксирован, к кому он относится и куда его нужно передать. Такое разделение помогает обнаружить ошибку до того, как она окажется в отчёте или обучающей выборке.
Условный пример: пользователь отправил заявку, позже её квалифицировали, ещё позже пришла оплата. Это три разных факта. Когда рекламная система получает только первый, она видит обращения. Когда до неё доходят и последующие результаты, появляется возможность оценивать рекламу по более глубоким этапам. При этом настройка самой стратегии и объём данных по-прежнему имеют значение.

#Знать человека ещё недостаточно
В спецификации Identify Segment рекомендует использовать устойчивый идентификатор из базы данных: адрес электронной почты или имя пользователя могут меняться. Это решает задачу узнавания одного человека во времени. Документация Segment.
Для рекламы возникает следующий вопрос: с каким визитом связать результат? Один человек может несколько раз вернуться на сайт, прийти из разных источников, позвонить и получить новый статус в CRM через неделю. Идентификатор клиента объединяет историю, но сам по себе не выбирает нужную сессию.
В таком случае доставка события и сопоставление события с визитом — две отдельные задачи. Можно безошибочно передать оплату из CRM и всё равно неправильно связать её с рекламным контекстом. Последующая модель увидит аккуратно доставленные данные с неверной связью.
#Как эта задача решается в Sales Ninja
В Sales Ninja подобную работу выполняют несколько возможностей, которые легко недооценить на фоне более заметных ML-продуктов.
ML-рематчер сопоставляет внешние результаты — звонки, квалификации, сделки и оплаты — с сессиями Sales Ninja. При неоднозначности модель сравнивает подходящие визиты по доступным признакам и выбирает наиболее вероятный. Если данных недостаточно, результат может остаться без связи; точные идентификаторы имеют приоритет.
Стриминг отвечает за следующий участок: передачу подготовленных конверсий во внешнюю систему. Например, поток доставляет события выбранных целей в офлайн-конверсии Яндекс.Метрики. Для такой доставки нужен идентификатор, понятный получателю, — yclid или ClientID Метрики. Описание маршрута в документации.
Интеграции дают доступ к сведениям, которые живут в CRM, коллтрекинге и других источниках. В результате квалификация, известная отделу продаж, может стать доступна для аналитики и рекламной оптимизации.
Практическая ценность этой связки — довести бизнес-результат до системы, которая сможет его использовать. Пользователь видит улучшение в отчёте или настройке рекламы, хотя необходимая работа выполнена раньше: при получении, сопоставлении и доставке события.
#Где проходит граница хорошей инфраструктуры
Чем больше процессов опираются на общий поток, тем важнее его проверяемость. Если события перестали приходить, нужно увидеть, на каком участке это произошло. Если изменился смысл статуса в CRM, нужно понять, какие получатели используют этот статус. Удобное подключение должно сопровождаться возможностью разобраться в результате.
Отсюда следует более строгий взгляд на ценность интеграций. Число подключённых сервисов — полезная справка, но рабочая единица для клиента — конкретный путь данных: от зафиксированного факта до решения, которое он помогает принять.
История Segment интересна именно как повод изменить масштаб внимания. Между сбором события и красивым результатом на экране находится работа, которую легко принять за техническую мелочь. Когда от неё зависит использование нескольких систем, эта работа заслуживает собственного продукта — и собственного критерия качества.