Александр Куликов — segmento — icbda2016

Post on 07-Jan-2017

411 Views

Category:

Data & Analytics

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Александр Куликов

Применение потоковых алгоритмов для составления портрета аудитории

2

RTB

• Ход аукциона• Терминология

3

Нагрузка на железо4

• 30k RPS (2.5 млрд запросов в день)• > 250 млн профилей• > 1 млн сайтов

• Несколько десятков серверов• Hadoop-кластер

Что хотят заказчики?5

• Показы• Посещения сайтов• Хорошие поведенческие характеристики— большое

количество посещённых страниц, долгие сессии, ...• Конверсии — покупки, заполнения формы обратной

связи, тест-драйвы,…

Данные6

• Базовая доступная информация: OS, браузер, ...

• Прочая информация

Всё, что научимся добывать сами

… или найдем, где достать

Потоковые алгоритмы – что?

7

Позволяют что-то посчитать в условиях ограниченной памяти <<объёма обрабатываемых данных

Потоковые алгоритмы – зачем?

8

Хотим отслеживать показатели здоровья системы:

• качество прогнозов

• характеристики пользовательского трафика

• … и другие

Хотим прямо сейчас

Что будем оценивать?9

Медианы и распределения характеристик трафика

Распределение

11 01

12

0.00

0.02

0.04

0.06

0.08

0.10

0.12

0.14

150 155 160 165 165 175 180 185 190 (На самом деле плотность)

Распределение

13

Это среднее

0.00

0.02

0.04

0.06

0.08

0.10

0.12

0.14

150 155 160 165 170 175 180 185 190

Среднее против медианы

14 Среднее против медианы

А это — медиана

0.00

0.02

0.04

0.06

0.08

0.10

0.12

0.14

150 155 160 165 170 175 180

Какая разница?!

185 190

15

Time Bandits (1981, Monty Python)

Среднее против медианы

16

0.00

0.02

0.04

0.06

0.08

0.10

0.12

0.14

130 140 150 160 170 180 190

L

Среднее против медианы

Мотивирующий пример – интересы трафика

17 02

Мотивирующий пример –интересы трафика

• Умеем определять интересы пользователей• Хотим составить портрет ЦА

18

Мотивирующий пример –интересы трафика

19

Интересы

20 03

Интересы21

Пётр

«Спортивные автомобили»: очень интересно

«Бары и рестораны»: интересно

«Детская одежда»: неинтересно

Интересы22

«Спортивные автомобили»: очень интересно, неинтересно

«Бары и рестораны»: интересно, интересно

«Детская одежда»: неинтересно, очень интересно

Василий

Интересы23

«Спортивные автомобили»: очень интересно, неинтересно

«Бары и рестораны»: интересно, интересно

«Детская одежда»: неинтересно, очень интересно

1.0

0.7

0.0

0.0

0.7

0.9

Интересы трафика

24 04

Интересы трафика25

• Удобно рассматривать распределение• Должно выглядеть примерно так

Бары и рестораны

Неинтересно Интересно

26 Интересы трафика

Весь траффик

Бары и рестораныТовары для детей Спортивные авто

Интересы трафика27

Оставим только хороший

траффик —пользователей,

совершивших покупки

28 Интересы трафика

«Хороший» траффик

Бары и рестораныТовары для детей Спортивные авто

Что можно получить?29

Эффективный тул для визуализации, сравнения,

и анализа предпочтений ЦА

Алгоритмы оценки распределения

30

• Автоматически подключать/отключать сегменты

• Исследовать трафик с различных площадок

Сортировка31

Все умеютРаботает точно

Затратна по памяти

+

-

АлгоритмМанро-Патерсона

32 05

33

34 Алгоритм Манро-Патерсона

Требует больше одного проходаТребует знаний о размере выборки

За разрешённое количество проходов даёт точное решение+

-

35 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

0 0

36 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

0 01

37 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

0 01 3

38 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

0 01 2 3

39 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

1 02 2 3

+1

40 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

1 12 2 3

+1

41 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

2 12 2 3

+1

42 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

2 31 2 2

+1

43 Алгоритм Манро-Патерсона

1, 2, 3, 2, 3, 1, 1, 2, 2

5 ячеек памяти

2 31 2 2

+1

44 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

3 32 2 2

+1

45 Алгоритм Манро-Патерсона

1, 3, 2, 2, 3, 1, 1, 2, 2

5 ячеек памяти

3 32 2 2

АлгоритмКанна-Гринвальда

47 05

48

49 Алгоритм Канна-Гринвальда

• Использует более сложную структуру данных, хранящую их в агрегированной форме

• Отфильтровывает значения, поддерживая заданную точность

50 Алгоритм Канна-Гринвальда

Неточный, но даёт ответ с заданной погрешностью

Работает за 1 проход+-

51Статьи

Selection and sorting with limited storage, Манро Дж., Патерсон М. (1980) —://polylogblog.files.wordpress.com/2009/08/80munro-median.pdf

Space-Efficient Online Computation of Quantile Summaries, Канна С., Гринвальд М. (2001)http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf

52 Реализация и железо

Python, Hadoop

HBase, Kafka, Spark

Спасибо!

top related