Как стать автором
Обновить

Комментарии 33

Какая та уж очень ознакомительная статья получилось. Я конечно понимаю что краткость — сестра таланта…
Но лично мне интереснее было бы на эту тему что то более подробное почитать.
Подробнее будет, надо же было с чего-то начинать. И, кстати, вам про что было бы интересно почитать: DMP, DSP, SSP, Trading Desk?
Какого рода данные обрабатываются в DMP? На сколько я понимаю DMP должен отдавать данные DSP исходя из которых принимается решение об отдачи рекламы (по этим данным производится таргетирование).

Я посмотрел интерфейс Hybrid — в тестовом режиме увидел только гео-таргетирование.
В тестовом режиме доступна только ремаркетинговая кампания(ретаргетинг). А так данных много: соцдем, аудитории, контекстные таргетинги и т.д.
А откуда берется соцдем? Каким то образом получаются из соцсетей? Или исходя из статистик посещений сайтов?
Источников несколько. Сторонние поставщики(aidata, tbh), интеграция с mail.ru и их DSP, небольшой процент своих данных(посещения, поведение).
А каким образом интеграция с _DSP_ mail.ru даёт вашей DMP данные о соц.деме?
Получается, мейл вам просто дарит или продает свои данные про соц.дем?
Мы синхронизируем нашу DMP и DMP MyTarget для кроссканального ретаргетинга. Не DSP.
Погодите, вы говорили о том, откуда получаете соц.дем. Уточнили, что за счет интеграции с Mail.ru, сейчас уточнили про «синхронизацию». Расскажите подробнее, как интеграция с mail.ru позволяет вам получать соц.дем для таргетинга в системе, про которую написано в исходном посте?

От Mail.ru мы не получаем соцдем. Сейчас мы используем соцдем Aidata.
В тестовом режиме вы можете запустить ремаркетинговую кампанию. Геотаргетинг в ней — это можно сказать дополнительная «плюшка» к таргетингу по аудиториям. Для сбора аудитории вы сначала устанавливаете SmartPixel на свой сайт. Затем можно сегментировать аудиторию своего сайта по посещенным страницам, разделам, совершенным действиям.

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

есть таргетинги по данным, которые мы получаем от сторонних DMP и храним в своей

В том числе от Mail.ru?
Мой первый комментарий был не совсем корректен. Именно DSP не работает с mail.ru. С mail.ru работает Hybrid, где можно создавать соответствующие кампании.
Спасибо за пояснение!
Правда, я еще больше запутался)
Вы пишете Именно DSP не работает с mail.ru. С mail.ru работает Hybrid
При этом у вас на схеме сначала идет Hybrid, после которого идет стрелочка к DSP. То есть это — не ваша DSP, а, например, Mail.ru?
Схема показывает именно нашу DSP. Но есть то, что схема не показывает(решили не усложнять). Hybrid(как TradingDesk) работает как с нашей DSP, так и с TradingDesk mail.ru(а через неё с их DSP). То есть на схеме не хватает Trading Desk mail.ru, с которой взаимодействует Hybrid.
А в случае работы с DMP и DSP mail.ru — как именно работают технологии Hybrid (Targetix)?
Как эту интеграцию делали? Там ведь напрямую крайне трудно обеспечить взаимодействие.

Имхо это же очень важная и интересная часть.
Я думаю, процессу интеграции с mail.ru мы посвятим одну из статей. Вкратце скажу, что у нас всё-таки больше интеграция с TradingDesk(копирование инвентаря) и отдельно стоит синхронизация аудиторий.
Нет. С Mail.Ru не так.
Спасибо
DMP — это комплексная штука. DMP отвечает за хранение готовых профилей, хранение raw-data и обработка данных. Что касается обработки данных. Во-первых данные ретаргетинга — здесь работают batch-процессор и stream-процессор. Пример обработки ретаргетинговых данных — клиент хочет собрать пользователей, посещавших страницы, и наложить на эти страницы regex-паттерн, собрать пользователей, пришедших из поиска по определенным запросам. Кластер для работы с 1st-party данными (ретаргетинговые данные) изолирован от всех других.

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

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

Это только небольшой список того, за что отвечает DMP. Также мы строим look alike аудитории, проводим исследования на основе логов (например найти статистическую взаимосвязь между какой-то информацией о пользователе и ctr или конверсией). Построение кастомных аудиторий, прогнозирование kpi рекламной кампании и тд

В итоге, любая собранная нами в результате обработки данных аудитория отправляется в Aerospike, и там эту информацию использует DSP.
Это очень круто что вы и DCA делитесь своим опытом!
В свою очередь подкину, что еще по этой теме на Хабре же выходило интервью Segmento/Rutarget с Кириллом Сафоновым про разработку системы и очень классно если таких материалов будет 10-20.

Я бы послушал еще ребят из Аудиториус, AiData, AmberData, Vi.
>>Теперь время отклика DSP менее 10 миллисекунд, при нагрузке в 7000 запросов в секунду на один сервер.

А можете более подробно рассказать про архитектуру и как добились такой производительности:
— как вы интегрированы со сторонними DMP? Некоторые из них сами по себе имеют латенси больше 10мс. Или вы подтягиваете из данные в свою DMP?
— где хоститесь, в облаке или на реальном железе?
— какой мощности сервер выдает 7000 запросов от SSP?

Еще интересно услышать про DSP:
— какой сложности таргетинги поддерживаете
— как управляете и синхронизируете бюджеты компаний, боритесь с перетратами/недотратами
— Со сторонними DMP интегрируемся путем копирования всех данных к себе в кластер.
— Хостимся на реальных серверах. Когда создавали кластер (2-3 года назад) облака не давали такой производительности как сейчас, а если и давали то инстансы стоили столько же, сколько покупка железа.
— Сервер приложения — 2x Xeon E5 2620 по 6 ядер на каждый, 64 ГБ ОЗУ. Сервер базы данных — 1x Xeon E5 2620, 200 ГБ ОЗУ. Следует отметить, недавно проводили тесты на более крутом железе, производительность выше в 1.7 раз, тогда как стоимость сервера- в 3 раза. Поэтому продолжаем сидеть на попсовом 2620.

— По поводу таргетингов. Как-то сложно оценить их сложность, пожалуй, самый сложный — это предсказание (предиктор) вероятности совершения действия пользователем
— Все управляется через базу, информация на каждой ноде обновляется каждую 1-2 мс. Перекруты бюджета кампании большая редкость. По факту все в рамках среднестатистических показателей отрасли (Adwords, Директ и тд)
Я возможно что-то не совсем понимаю, но:

— имеем 7k запросов в 1 секунду (1000 миллисекунд) на один сервер с 6 ядами, за время отклика возьмем 10 миллисекунд, тогда:

7000 запросов * 10 миллисекунд / 1000 миллисекунд = 70 запросов должен обработать сервер за 1 миллисекунду

70 запросов / 6 ядер = 11 запросов каждое ядро должно обработать за 1 миллисекунду

Подскажите пожалуйста, где я ошибся?
Дополню расчет:

70 запросов / 24 потока (2 процессора по 6 ядер с включенным Hyper Threading) = 3 запроса на 1 поток за мс. Также учитывая, что каждый запрос не выполняется меньше, чем 10 мс, а 2-3 в среднем, то получаем 1 запрос на 1 поток на мс.
Если так, то это более близко к реальности.

Однако с точки зрения моего опыта, DSP редко может обработать запрос за 2-3 мс. Расскажите, какие действия выполняет DSP при запросе, что он обрабатывается за 2-3 мс? Я не пытаюсь Вас закидать шапками, мне просто интересен Ваш опыт. Было бы очень любопытно посмотреть на Ваши бенчмарки!
Я думаю по мотивам этих вопросов лучше статью написать с бенчмарками. Пока стоит на слово поверить, 7 000 rps наш биддер держит, но пришли мы к этому тоже не за один день.
Еще стоит учесть, что значительная часть из этих 10 мс проводится в ожидании ответа от БД. На один запрос от SSP, приходится несколько запросов к БД, многие из которых синхронные. Естественно процессорное время при этом не расходуется.
Ну если вы все таки подготовите честные бенчмарки и приоткроете завесу тайны, что же все таки там у вас под капотом это будет намного лучше, нежели голословное декларирование производительности вашего кода!
Очень круто!
Думаю вам стоит попробовать добавить фреймворк Orleans, наподобие того что сделали тут:
habrahabr.ru/company/dca/blog/260845
А какие СУБД используете для DMP и DSP? В DSP надо ведь очень быстро обработать запрос от SSP и принять решение какой баннер показать.
Все профили пользователей хранятся в Aerospike. Это, пожалуй, единственное решение на рынке, которое стабильно держит лэтанси не зависимо от количество запросов и хранимых данных. Также в DSP многие данные хранятся в оперативной памяти и подгружаются по мере необходимости.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий