Upload
wg-events
View
469
Download
12
Embed Size (px)
DESCRIPTION
Михаил рассказал про то, как устроена работа по улучшению качества Директа в поиске, на котором Яндекс зарабатывает большую часть своих денег. Центральную роль в этом играет задача предсказания вероятности клика на объявление. Как подбираются эти формулы, что при этом оптимизируется, как за счет этого зарабатываются дополнительные миллионы и как компания убеждается в том, что их действительно заработали, а также как автоматизируется все, что можно. И в результате, весь процесс становится эффективнее.
Citation preview
Михаил Левин
Руководитель группы анализа больших данных
Как заработать миллионына своих данных и машинном обучении
2
Реклама над результатами поиска
3
Справа
4
И под результатами поиска
5
Как отбирается реклама
• Рекламодатели создают объявления• Выбирают ключевые фразы• Указывают ставки• Пользователь задает запрос• Отбираем подходящие фразы• Показываем лучшие объявления• Рекламодатель платит за клики
6
• Релевантные объявления - клики• Релевантный сайт – конверсии• Нерелевантные – отток пользователей• У рекламодателей аукцион за клики• Ставками управляют рекламодатели• Мы управляем аукционом и отбором
Как работает система
7
• Счастье пользователей• Счастье рекламодателей• Деньги• Противоречащие цели?• Нет• Но речь не об этом
Что оптимизируем
8
• Математическое ожидание денег• CPM = P(click) * bid• Упорядочиваем по CPM• Ставки даны, надо узнать P(click)• Прогнозирование вероятности клика• А еще можно улучшать дизайн
Как оптимизировать деньги
9
• Мировой рынок поисковой рекламы $25B
• Выручка Яндекса в 2013 > $1B
• Улучшение на 2% - $20M в год
• Таких и более происходит несколько в год
Поисковая реклама
10
• Прогнозирование вероятности клика• Дизайн• Параметры аукциона• Релевантность• …
Улучшения
11
• Деньги• Показы• Клики• CTR• Конверсии• CPA• Хорошие клики
Метрики
12
• Запустим новую и посмотрим на метрики?• А что если погода плохая?• Запустим новую на новых пользователях?• Они отличаются от старых• Мужчинам покажем новую версию?• ITшникам новую версию?• Они нерепрезентативны• Новую версию в Минске?• Даже минчане нерепрезентативны
Как на деле узнать, стало ли лучше?
13
• На случайную долю запросов?• Нас интересует влияние на пользователя• Случайная доля пользователей, 2%• Тоже не идеально, но жить можно• Сравним метрики в среднем на 1%
пользователей• Как долго ждать?• Оценим статистическую значимость• A/B-тестирование
Как на деле узнать, стало ли лучше?
14
• Все время эксперименты – дорого и тяжело• Оффлайн-метрики• Точность, полнота, AUC, Log-likelihood• Нужна корреляция с онлайн-метриками!• +1% AUC даст +1% денег…• …Если подкрутить параметры • А как крутить?• Оффлайн-прогноз
Как оптимизировать?
15
• Две формулы: старая и новая• Берем запросы из прошлого• Берем всю базу с объявлениями• Симулируем аукцион с обеими формулами• Смотрим, где больше кликов, денег• Откуда взять клики?• Генерируем клики новой формулой
Как оптимизировать?
16
• Как предсказывать?• Исторические данные• Пишем логи• CTR (click-through rate) ≔ P(click) = ?• P(click) = Clicks / Shows
Вероятность клика или CTR
17
• P(click) = Clicks / Shows• Зависит от запроса Q• P(click) = Clicks(Q, Ad) / Shows(Q, Ad)• Слишком много уникальных запросов • Фраза P – почти то же, что запрос Q• Фраз ограниченное число• P(click) = Clicks(P, Ad) / Shows(P, Ad)
Вероятность клика или CTR
18
«Жирные» слова в заголовке
19
• P(click) = Clicks(P, Ad) / Shows(P, Ad)• За какой период брать статистику?• А если запрос все-таки влияет?
– Ключевая фраза iphone, продают последнюю модель– iphone 3GS, iphone 5, iphone 6, iphone наушники – разный CTR
• Объявление отвечает на запрос?• Есть доставка в регион пользователя?• Смотрит с компьютера или с телефона?
Вероятность клика
20
• Как использовать всю информацию?• Сотни миллионов строк логов• В каждой строке сотни признаков• Машинное обучение
Вероятность клика
Clicks Shows Region Text Relevance … Click? P(click)
10 100 Москва 0.586 … 0 0.11
1 200 Ростов 0.253 … 0 0.003
… … … … … … …
0 1 СПб 0.85 1 0.12
21
• Поведение пользователей меняется• Сезонность• Время суток• День недели• Появляются новые объявления• Новые пользователи• Модель устаревает
Время течет…
22
• Все время запускать новые?• Это целый процесс• Момент запуска – все меняется• Момент запуска – «стресс» для рынка• Устаревает не так быстро• Все время запускать эксперименты…• …Автоматически
Что делать?
23
• Берем последний месяц логов• Делим на обучение и тест• Обучаем модель, считаем качество• Письмо на рассылку с метриками• Подбираем параметры• Запускаем эксперимент автоматически• Ждем, оцениваем• Письмо с результатами• Если лучше – жмем кнопку и запускаем
Автоэксперименты
24
• А если есть критерий запуска…• Модель перезапускается сама• А мы все отдыхаем на островах • …Но пока так делать страшно
Автоэксперименты - будущее
25
Вопросы?