Такая разная онлайн-реклама. Три топора vs. AI, Ad Tech и DOOH
«Лучшие умы поколения заняты тем, как заставить людей кликать мышью по рекламным объявлениям, — сказал мне Джефф Хаммербахер, ранее инженер Facebook. — Ужас…», — Илон Маск (Tesla, SpaceX и дорога в будущее).
Наши умы в IPONWEB заняты тем же.
И вот вроде у нас умная бизнес-логика, принимающая решение о том, какую рекламу показать пользователю, мощные кластеры для анализа больших данных, сложного склеивания и матчинга на лету, обучающийся алгоритм, предсказывающий клики, конверсии и даже потенциальную цену, сложный алгоритм подсчета бюджета, который умеет оптимизировать ставки в режиме реального времени, … а представление о рекламных технологиях в Рунете все равно формирует Азино 777. Не надо так, подумали мы, и решили начать рассказывать на Хабре о настоящих рекламных технологиях.
Область, в которой мы работаем с 2007 года, называется AdTech, «рекламные технологии». Она очень разнообразна и постоянно развивается, в неё вовлечены сотни тысяч компаний по всему миру — от маленьких «карманных» рекламных агентств до гигантов большой тройки (Google, Facebook, Amazon). Мы специализируемся на programmatic-рекламe, что подразумевает автоматизированную алгоритмическую закупку или продажу рекламы. Сегодня эти технологии уже внедрены в спутниковом и цифровом телевидении, на улицах в виде цифровых билбордов, в такси, самолетах, на экранах в торговых центрах, в интернет-радио и онлайн-играх. В общем, везде, где есть люди, есть реклама, а где есть реклама, можно использовать programmatic.
По прогнозам eMarketer, 86% всей цифровой рекламы в США в 2020 году будет покупаться через автоматизированные платформы. Если «включить Дудя» и перевести это всё в деньги, то получится 65 миллиардов долларов — и это только в США. В России объём рынка programmatic-рекламы меньше в 20 раз, но и он растёт на 22% в год, несмотря на кризисы.
На картинке ниже представлены крупные игроки рынка маркетинга и рекламы, часть из которых формируют глобальный рынок programmatic-рекламы, (всего около 6800 компаний) «с высоты птичьего полета». Если вы
С 2010 года рынок programmatic начал быстро расти, всё больше денег перетекало туда из традиционных рекламных каналов — и начался бум AdTech-а, RTB и вот этого всего.
AdTech — одна из самых быстро развивающихся индустрий в мире, тут нельзя стоять на месте, потому что рынок стремительно насыщается новыми игроками.
А мы тут причём?
Сегодня IPONWEB разрабатывает софт для нескольких десятков компаний: (DSP и SSP), которые монетизируют рекламу для своих клиентов (рекламодателей, агентств, обменных сетей, владельцев сайтов) или для этих же клиентов напрямую (в числе таких, например, компания Automattiс, разработчик WordPress.com), вне зависимости от того, идет ли речь о том, чтобы показать рекламу конкретному пользователю или о том, чтобы наиболее выгодно продать рекламное место, мы делаем решения
У каждого клиента своя бизнес-модель и уникальные задачи, они работают с разными компаниями, с разной аудиторией, с разными видами рекламы (баннеры, видео, текст, нативная реклама, интерактивные форматы, билборды), источниками трафика (сайты, мобильные приложения, наружная реклама, игры, телевизор, лок-скрины смартфонов) и на разных рынках, нам очень важно понимать специфику на техническом и бизнес-уровнях и затачивать систему под конкретного клиента.
Упрощенно все взаимодействия внутри системы сводятся к следующему (на примере платформы, которая покупает рекламу):
- Принять решение, какую рекламу нужно показать прямо сейчас и сколько за неё заплатить.
- Сохранить информацию о том, какая реклама была показана, обработать её для дальнейшего использования в машинном обучении и показать в отчете.
Большинство этих взаимодействий построены по протоколу openRTB, работающим в режиме реального времени.
RTB уже в телевизоре и на улицах
Онлайн-реклама вовсе не ограничена только рекламой на сайте или в приложении, её можно показывать на любом девайсе, который хотя бы иногда подключается к сети, чтобы получить информацию о сыгранных аукционах или заключённых сделках. Мы уже делаем проекты для показа персонализированной и автоматизированной рекламы на кабельном и умном телевидении и в публичных местах, это называется Digital Out Of Home, сокращенно DOOH.
С этими дисплеями возникает спектр новых задач, ведь тут нет пользовательских cookie-файлов, здесь данные об аудитории нужно получать другими способами, измерять показы — тоже. С другой стороны, в публичных местах выше требования к безопасности рекламы, нежелательную рекламу сразу увидят тысячи человек, в том числе дети, поэтому нужно настроить систему предварительной проверки рекламы и продавать её через приватные сделки.
Как и programmatic-DOOH, programmatic-TV — это ещё далеко не мейнстрим, по подсчётам eMarketer в 2018 году всего 3 процента телевизионного инвентаря продано через автоматизированные аукционы, большая часть рекламы все ещё продаётся в виде традиционных контрактов, заключённых в отделе продаж канала, в офисе или по электронной почте, а планируется в таблице в Excel. Но, учитывая проникновение TV в жизнь людей по всему миру, этот сегмент programmatic-рынка очень перспективный и быстро растет — в тех же США за последние 5 лет объём закупок рекламы через programmatic-TV-канал вырос в 7 раз, до двух миллиардов долларов, а в 2019 году обещает показать прирост почти в 100%.
А на чём все это написано?
Конечно, чтобы решать такой спектр задач, требуется много разных технологий:
- В основе всей системы лежит высоконагруженный HTTP-сервер, написанный на C++, он обрабатывает запросы на показ рекламы, запросы на ставки в режиме реального времени и пишет логи. Много логов. Терабайты логов в день.
- Бизнес-логика написана на Lua. Она определяет, как будут обрабатываться запросы, какой креатив пойдет в аукцион, кто пройдет таргетинг и какой, какова будет ставка, кто победит.
- В качестве хранилища пользовательских данных используется MongoDB/TokuMX.
- Логи обрабатываются и трансформируются в агрегаты при помощи Hadoop/Spark, агрегаты содержат подсчитанные по уникальным ключам и очищенные от дублирования данные для работы других компонентов, например, предсказывающего вероятность события алгоритма и приложения, которое оптимизирует величину ставки. Все это делается в нашем собственном ETL-кластере, написанном на Java и использующем Apache Spark.
- Остальная оффлайновая работа с логами, например, склеивание и сопоставление записей по определённому алгоритму, делается внутренним сервисом, написанным на Java/Scala.
- Пользовательский интерфейс представляет собой сочетание Python/Django на бэкенде и Angular+TypeScript на фронтенде.
Есть ещё какое-то количество сервисов, систем мониторинга, работы с данными, построения метрик и репортинга, но в рамках этой статьи не хочется бегать галопом по Европам, задайте в комментариях вопросы о конкретных компонентах, и мы сделаем о них более развёрнутый материал.