6. RTB - аукцион рекламных показов в
реальном времени
A CIKM '13 Tutorial: Real-time Bidding: A New Frontier of Computational Advertising Research
http://tutorial.computational-advertising.org/
Computational Advertising
Stanford University MS&E 239: Introduction to Computational Advertising
https://www.stanford.edu/class/msande239/
14. Как найти похожую аудиторию (Look-alike)?
улучшение эффективности системы пресказания целевых действий за счёт использования данных о переходах
таргетирование на похожую аудиторию за счёт использования информации о переходах (увеличение охвата).
Обзор метрик, позволяющих сравнивать, насколько пользователи похожи на друг друга, основываясь на их физическом передвижении (что в нашем случае
посещенные сайты).
http://www.barabasilab.com/pubs/CCNR-ALB_Publications/201108-21_KDD-HumanSocialTies/201108-21_KDD-HumanSocialTies.pdf
38. “The best minds of my generation are thinking about how to make people click ads…
That sucks.”
- Jeff Hammerbacher, co-founder and chief scientist, Cloudera (source)
80. Нужны данные для экспериментов?
7.5Gb
аукционы, показы, клики, конверсии:
https://www.dropbox.com/sh/xolf5thu8jsbmfu/kBrAsSxtAN
thanks to: Global Bidding Algorithm Competition, Apr-Dec, 2013.
http://contest.ipinyou.com/
82. логи, логи, логи
Крутая статья сотрудника LinkedIn о том, что всё логи http://engineering.
linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-
about-real-time-datas-unifying
85. Storm, Samza, S4, Akka
Видео с создателем Storm, на котором он очень кратко рассказывает про
своё видение архитектуры для bid data http://www.infoq.com/interviews/marz-
lambda-architecture
94. Примеры запросов
- выдайте персентили числа показов на человека
- какое число уникальных пользователей по сайтам?
- рассчитываемся с SSP за месяц. Нужна выгрузка трат за весь март
98. - проверка на вхождение в множество
- сколько различных элементов в потоке (мощность)
- какие элементы встречаются чаще всего (heavy-hitters) и как часто? (частоты)
- сколько элементов попадает в заданный интервал (интервалы)
Исправленная и дополненная версия картинки, опубликованной в этом посте
99. Frugal streaming:
обработка по мере поступления,
требуется супер мало памяти
Свежая статья (2013 г.) http://link.springer.com/chapter/10.1007/978-3-642-40273-9_7 ($)
Обсуждение: http://blog.aggregateknowledge.com/2013/09/16/sketch-of-the-day-frugal-streaming/
101. frugal <- function(stream) {
m <- 0
for (val in stream) {
if (val > m)
m = m + 1
else if (val < m)
m = m - 1
}
return(m)
}
Требование по памяти: 1 int
103. frugal_1u <- function(stream, m = 0, q = 0.5) {
m <- 0
for (val in stream) {
if (val > m && runif(1) > 1 - q)
m = m + 1
else if (val < m && runif(1) > q)
m = m - 1
}
return(m)
} Есть еще улучшенный frugal_2u с переменным шагом
Код на R: https://gist.github.com/kalaidin/9974919
IPython notebook: http://nbviewer.ipython.org/gist/kalaidin/9976120
113. LogLog: используем M корзин, в каждой из
которой храним свой R
Оригинальная статья: LogLog Counter
http://algo.inria.fr/flajolet/Publications/DuFl03-LNCS.pdf
114.
115. HyperLogLog - среднее гармоническое R по
корзинам
Оригинальная статья: HyperLogLog Counter
http://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf
Серия постов на тему HLL в блоге AggregateKnowledge:
http://blog.aggregateknowledge.com/tag/hll/
116. Проверка на вхождение: старый добрый
фильтр Блума
Bloom Filters: How I learned to stop worrying about errors and love memory efficient data structures
3 Rules of thumb for Bloom Filters (оценка ошибки)
Попробуйте погуглить фото Бертона Говарда Блума - его не найти!