Главное о кейсе
Аналитика
В ходе проекта мы реализовали для заказчика отчетность по сквозной маркетинговой аналитике. Данные доступны бизнес-пользователям в режиме Self-Service-аналитики (аналитики самообслуживания).
Благодаря использованию концепций минимального моделирования получили ряд важных следствий:
— данные полностью документированы, актуальность документации поддерживается «по построению», для бизнес-пользователей данные доступны в режиме Self-Service-аналитики;
— благодаря независимой реализации каждого атрибута в отчеты легко добавлять дополнительные данные и разрезы (например, реализация альтернативной модели атрибуции — это добавление ровно одного атрибута);
— аналитики, которые подключатся к проекту в будущем, смогут легко отследить логику трансформации данных и вносить изменения в проект.
Система рекомендаций
Мы замерили конверсию до внедрения ML-модели и после и получили такие результаты:
– Конверсия из показа в клик без рекомендаций — от 3% до 4,5%.
— Конверсия с персонализированными рекомендациями — от 6% до 9%.
За два месяца мы добились двукратного увеличения целевого действия. И это не предел. У нас есть три стратегии, в рамках которых мы делаем рекомендации для пользователя. Все три работают одновременно:
— Пользователь находится на сайте больше 30 минут. Он уже попал в ежечасный цикл переобучения. Поэтому мы пользуемся хорошо рассчитанным вектором свойств пользователя и делаем рекомендации. Они получаются самыми качественными.
— Пользователь пришел недавно. Его еще нет в рассчитанных фичах, но он уже успел проявить поведение, например, кликнул на один товар. В этом случае мы делаем хорошее предположение относительно его предпочтений на основании свойств товара, к которому он проявил интерес, и формируем для него рекомендации.
— Холодный пользователь. Он только что пришел, мы о нем ничего не знаем, но нам надо ему что-то порекомендовать. В этом случае мы используем статические фичи, которые выражаются не в его поведении, а в его свойствах (какой язык на сайте выбран, из какого региона, с какого устройства и т. п.).
***
Analytics
During the project, we implemented end-to-end marketing analytics reporting for the customer. Business users can access the data in the self-service analytics mode.
The use of minimal modeling has allowed us to achieve several important results:
● The data is fully documented; documentation is kept up-to-date "through algorithms"; business users can access the data in the self-service analytics mode;
● Thanks to the independent implementation of each attribute, it is easy to add additional data and views to the reports (for example, an alternative attribution model is implemented by adding exactly one attribute);
● Analysts joining the project in the future will be able to easily track the logic of data transformation and make changes to the project.
A system of recommendations
We measured conversion rates before and after the implementation of the ML model and got the following results:
● Click-through conversion without recommendations increased from 3% to 4.5%.
● Conversion with personalized recommendations went up from 6% to 9%.
In two months, we have achieved a twofold increase in desired action. And this is not the limit. We have three strategies we use to make recommendations to users. All three work simultaneously:
1. The user has been on the website for more than 30 minutes. They are already caught in the hourly retraining cycle, meaning we use a well-calculated vector of user properties to make recommendations. Such recommendations turn out to be of the highest quality.
2. The user has opened the website recently. They are not yet included in any custom features, but have already expressed a certain behavior by, for example, clicking on a product. In this case, we make a good guess about their preferences based on the properties of the product they have shown interest in and make recommendations for them.
3. A cold user. They have just opened the website. We know nothing about them, but still need to recommend them something. In this case, we use static features based not on user behavior, but on their properties (which language they have selected, from what region and device they are viewing the website, etc.).
Бизнес-задача и ее решение
1. Построить сквозной отчет от клика пользователя по рекламному объявлению до покупки, чтобы оценить эффективность маркетинговых кампаний.
Задача сквозной маркетинговой аналитики кажется стандартной, но в клиентском проекте есть несколько нюансов в бизнес-логике, из-за которых стандартные решения не подошли:
— из-за особенностей маркетинговой стратегии нужно реализовать кастомную логику атрибуции;
— есть ряд особенностей бизнес-логики, которые нужно учитывать при выстраивании связи маркетинговых каналов с покупками: например, языки пользователей.
2. Разработать систему рекомендаций, которая будет встраиваться во все листинги на сайте и учитывать максимум пользовательских интересов.
Такую продвинутую персонализацию мы создаем на основе машинного обучения и анализа данных.
Решение
1. Построение отчета
Скачивание «сырых» данных.
В качестве хранилища данных мы используем BigQuery. Источников данных у нас девять. Для загрузки данных используем Open Source-стек Singer + Meltano. Для преобразования данных используем DBT.
2. Моделирование данных.
Для проектирования модели предметной области используем минимальное моделирование. Это подход к моделированию данных, который позволяет одновременно разобраться в структуре данных и задокументировать ее.
3. Сбор витрины для Self-Service-аналитики.
Для отчетности мы используем бесплатный инструмент с открытым исходным кодом Metabase. В модели данных Metabase можно задать словарь метрик, который будет доступен бизнес-пользователям при построении отчетов. Добавление новых метрик не требует программирования и доступно всем пользователям Metabase.
4. Финальный отчет.
Все данные собраны, метрики определены, приступаем к сборке финального отчета.
Мы это делаем без написания SQL, просто накликивая данные в Metabase.
5. Документация по проекту.
Под конец проекта приводим в порядок документацию. Это просто, поскольку все данные мы описали в самом начале проекта — на этапе моделирования данных. Проверяем опечатки и возникшие расхождения при реализации. На этом проекте мы дополнительно перенесли всю документацию в Notion (для красоты).
6. Разработка системы рекомендаций
Мы придумали стратегию персонализации, которая позволяет интегрироваться на уровне пересортировки любого листинга, у которого уже есть своя логика формирования. Мы не просто отдаем список рекомендованных объектов по API, мы реализуем:
— сбор ленивых просмотров и большого количества поведенческой информации;
— метод пересортировки любого списка товаров под каждого отдельного клиента.
Именно такую стратегию мы реализовали на сайте YouTravel.
На сайте мы реализовали эту стратегию, теперь когда пользователь заходит на сайт, изучает предложения. Уже на этом этапе он обращает внимание на какие-то туры, некоторые вызывают у него интерес. Наша система следит за его поведением. Когда он в процессе поиска перейдет на следующую страничку на сайте, система предложит ему уже более релевантные туры. То есть такие, которые больше подойдут ему по цене и тематике. С каждым новым кликом данные о нем уточняются, а рекомендации становятся точнее.
***
1. Build an end-to-end report tracking the user's path to purchase to assess the effectiveness of marketing campaigns.
This may sound like standard end-to-end marketing analytics, however, this particular project has several business logic nuances that render standard solutions useless:
● The nature of the marketing strategy dictates that we use custom attribution logic;
● There is a number of business logic nuances we need to take into account when linking marketing channels to purchases, for example, user languages.
2. Develop a system of recommendations that will be built into all listings on the website and take into account as many user interests as it can.
To achieve such an advanced level of personalization, we use machine learning and data analysis.
Solution
Building a report
1. First, we download "raw" data.
We use BigQuery to store data. We have nine data sources. To download the data, we use the open source stack Singer + Meltano. To convert data, we use DBT.
2. Data modeling.
We use the minimal modelling approach to create domain models. This approach to data modeling allows us to understand the data structure while documenting it at the same time.
3. Next, we build a data mart for self-service analytics.
For reporting, we use a free, open-source tool called Metabase. In a Metabase data model, you can set a list of metrics that will be available to business users when building reports. Adding new metrics requires no programming and is available to all Metabase users.
4. The final report.
After all the data has been collected and all the metrics have been defined, we start assembling the final report.
We do this without writing SQL, just by clicking on the data in Metabase.
5. Project documentation.
Towards the end of the project, we put the documentation in order. This is simple, because we have described all the data at the very beginning of the project, during the data modeling phase. We check for any typos and discrepancies that may have arisen during implementation. For this project, we additionally moved all documentation to Notion (for aesthetic purposes).
Developing a system of recommendations
We have come up with a personalization strategy that allows for integration during the resorting of any listing that already has its own formation logic. We don't just transfer a list of recommended objects via API. We:
● Collect lazy views and a lot of behavioral information;
● Resort product lists for each individual customer.
This is the strategy we use for YouTravel.
Now, when the user enters the website and starts paying more attention to some tours than others, our system tracks their behavior. As they keep browsing tours and go to the next page, the system suggests options that are more relevant to them in terms of price and itinerary. With each new click, the data about the user is refined and the recommendations become more accurate.
Прочая информация о кейсе
YouTravel — это маркетплейс авторских туров от тревел-экспертов и частных независимых гидов. На сайте почти 40 000 предложений. Сервис помогает быстро и безопасно найти тур и отправиться в необычное путешествие в любую точку мира.
***
YouTravel is a marketplace for unique tours designed by travel experts and private independent guides. The website boasts almost 40,000 offers. It allows users to quickly and safely find a tour and go on an exciting trip to anywhere in the world.
Скриншоты