SlideShare a Scribd company logo
1 of 16
© OZON.ru 1
Рекомендации
© OZON.ru 2
• Компании OZON.ru 19 лет
• Ассортимент 4,3 млн товаров
• 12 категорий, среди которых аптека, +18, продукты
• За 2016 год 5,8 млн заказов
© OZON.ru 3
План презентации
• Какими данными оперируем
• Стек технологий
• Рекомендации в поиске
• Персональные рекомендации
• Рекомендации на карточке товара
© OZON.ru 4
• Логи (~2 гб за один день)
• Описание товаров (~8,5 млн)
• Заказы
• Дерево каталогов
• Доступность товаров (~4 млн доступных)
• Ручные правила совместимости (>7,5 к пар тип-тип)
Какие данные собираем у себя
© OZON.ru 5
Стек технологий
Программный
• Большая часть разработки ведется на python, очень редко – java
• Фреймворк для распределенных вычислений – Apache Spark
• Доступ к данным происходит через Hive, реже через обычный SQL
Аппаратный
• Вычислительный кластер Ozon для задач среднего объема данных (<200 Гб)
• Инфраструктура Amazon Web Services для больших объемов данных
© OZON.ru 6
Поиск Главная Карточка товара
© OZON.ru 7
Рекомендации в поиске
• Рекомендуем товары по поисковому запросу (sb)
• Рекомендуем каталоги (sc)
• Рекомендуем другие поисковые запросы (ss)
© OZON.ru 8
Поисковой запрос не всегда
соответствует какому-либо слову из
названия/описания товара, поэтому
нельзя полностью включить товары
с полки в поисковую выдачу.
Пример: Краби – популярная у
путешественников провинция на юге
Таиланда. Книг с таким названием в
OZON.ru нет, зато есть книги про
южный Таиланд, что скорее всего
подойдет клиентам.
Искавшие покупают (sb)
Поисковая выдача по запросу «Краби»
Рекомендации по запросу «Краби»
© OZON.ru 9
Алгоритм расчета sb
Поиск
Собираем логи (инкрементально)
Парсим лог и рассчитываем основные
агрегаты (инкрементально)
Объединяем агрегаты согласно схеме
(всё, т.к. недолго)
Кладем в сервис для показа на сайте
Для увеличения покрытия поисковых запросов рекомендациями и улучшения качества самих
рекомендаций предприняты следующие действия: обработка поисковых запросов (токенизация,
лемматизация); переход от расчетов только SB к расширенной схеме; объединение товаров по
моделям
Поиск
Каталог
Товары
Товары
Товары
© OZON.ru 10
Персональные рекомендации
• Отображаются на главной странице сайта, используются для
рассылки в e-mail
• Рассчитываются для всех зарегистрированных клиентов, которые
совершили хотя бы одно действие «положить товар в корзину»
• Алгоритм расчета: implicit ALS
Собираем логи (инкрементально) Парсим лог и рассчитываем
основные агрегаты (инкрементально)
Формируем матрицу U-M
(устаревание + агрегация)
Обучаем модель ALSПрименяем модель (считаем топ
лучших моделей для клиента)
Переходим от моделей к товарам и
фильтруем
Для увеличения качества рекомендаций статистика для клиента собирается по longCookie
© OZON.ru 11
Рекомендации на карточке товара
Бандлы Аксессуары (сопутствующие товары)
Связанные товары
© OZON.ru 12
Бандлы
Бандлы могут подбираться экспертно и статистически.
Стастистические строятся на основе частоты совместных заказов.
Тройки подбираются из пар, для каждой пары ищем общий третий товар как пару к
каждому из товаров. Например, если для пары товаров А и В существует товар С,
который покупается и с товаром А и с товаром В, то образуется тройка АВС
© OZON.ru 13
Аксессуары (сопутствующие товары)
Ручная полка, генерируется на основе ручных связок типов и фильтров
(ограничений), которые должны быть применены к этим связкам.
Связка тип-тип:
Ноутбук – Сумка для ноутбука
Ограничение на связку тип-тип:
Диагональ экрана <= размер сумки
Р
Р
Соответствие тип – товар,
товарные характеристики
Входные данные
Переход от пары тип-тип к товар-
товар (декартово произведение)
Проверяем каждую пару товар-
товар на удовлетворение правилу
Накладываем на финальные пары
товар-товар статистику и берем топ
Алгоритм расчета Особенности: в среднем в
каждом типе 5к товаров,
таким образом одна связка
тип-тип порождает 25 млн
пар товар-товар.
Поэтому расчет
инкрементальный.
© OZON.ru 14
Связанные товары (Рекомендуем также)
• В данной полке показываются как товары заменители, так и дополнители
• Покрытие полкой более 98% товаров
• Примерно каждый 10й товар добавленный в корзину был найден клиентом
OZON.ru именно в этой полке
• Строится как комбинация алгоритмов, основанных на:
1. заказах (товары в одном заказе, товары заказанные одним клиентом)
2. логах (статистика совместных просмотров и т.п.)
3. контенте (товарные характеристики)
© OZON.ru 15
Но нам есть куда расти!
© OZON.ru 16
Спасибо!

More Related Content

Similar to Рекомендации в OZON.ru - Ксения Бокша

Гайд по текстовому антиспаму
Гайд по текстовому антиспамуГайд по текстовому антиспаму
Гайд по текстовому антиспамуAlexey Chekushin
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Anatoly Sharifulin
 
ASO очень подробно
ASO очень подробноASO очень подробно
ASO очень подробноSergey Sharov
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...Ontico
 
Пет-континент corp site offer
Пет-континент corp site offerПет-континент corp site offer
Пет-континент corp site offerIRCIT.Uspeshnyy
 
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...Дмитрий Севальнев
 
SEO-Коучинг 4.0_Day1
SEO-Коучинг 4.0_Day1SEO-Коучинг 4.0_Day1
SEO-Коучинг 4.0_Day1seo-intellect
 
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23Людмила Топор
 
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...ASPRO - Готовые сайты на 1С-Битрикс
 
Прогнозирование - Лекция 7. Oracle Demand Management
Прогнозирование - Лекция 7. Oracle Demand ManagementПрогнозирование - Лекция 7. Oracle Demand Management
Прогнозирование - Лекция 7. Oracle Demand ManagementGleb Zakhodiakin
 
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"Expolink
 
Семантика
Семантика Семантика
Семантика ptax
 
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...elenae00
 
Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Elizaveta Fateeva
 

Similar to Рекомендации в OZON.ru - Ксения Бокша (20)

Smart Shelves in Retail
Smart Shelves in RetailSmart Shelves in Retail
Smart Shelves in Retail
 
Гайд по текстовому антиспаму
Гайд по текстовому антиспамуГайд по текстовому антиспаму
Гайд по текстовому антиспаму
 
Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?Продвижение мобильных приложений: с чего начать?
Продвижение мобильных приложений: с чего начать?
 
ASO очень подробно
ASO очень подробноASO очень подробно
ASO очень подробно
 
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
SmartMonitoring - мониторинг бизнес-логики в Одноклассниках / Сергей Шарапов ...
 
Пет-континент corp site offer
Пет-континент corp site offerПет-континент corp site offer
Пет-континент corp site offer
 
Практика SEO: выпуск 2 на MegaIndex TV
Практика SEO: выпуск 2 на MegaIndex TVПрактика SEO: выпуск 2 на MegaIndex TV
Практика SEO: выпуск 2 на MegaIndex TV
 
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...
Фильтры Яндекса, что угрожает вашему сайту? [Севальнев, конференция SEO Практ...
 
SEO-Коучинг 4.0_Day1
SEO-Коучинг 4.0_Day1SEO-Коучинг 4.0_Day1
SEO-Коучинг 4.0_Day1
 
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23
Демонстрация 1С:Управление торговлей (УТ) www.abissoft.com +38 (0482) 34-33-23
 
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...
Другая сторона электронной коммерции, или Что нужно предусмотреть, запуская с...
 
Прогнозирование - Лекция 7. Oracle Demand Management
Прогнозирование - Лекция 7. Oracle Demand ManagementПрогнозирование - Лекция 7. Oracle Demand Management
Прогнозирование - Лекция 7. Oracle Demand Management
 
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"
SearchInform. Алексей Попов. "Как выбрать идеальную DLP-систему?"
 
Семантика
Семантика Семантика
Семантика
 
Ускоряем интернет магазин и продажи: теория и практика
Ускоряем интернет магазин и продажи: теория и практикаУскоряем интернет магазин и продажи: теория и практика
Ускоряем интернет магазин и продажи: теория и практика
 
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...
Купил бы, если б смог найти! (доклад - продолжение секции 2.5) Роман Смолговс...
 
Wr2013 opensource
Wr2013 opensourceWr2013 opensource
Wr2013 opensource
 
Stock m
Stock mStock m
Stock m
 
Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?Как повысить эффективность ТОиР с помощью PI System?
Как повысить эффективность ТОиР с помощью PI System?
 
ASO: Best Practices 2015
ASO: Best Practices 2015ASO: Best Practices 2015
ASO: Best Practices 2015
 

More from AvitoTech

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)AvitoTech
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...AvitoTech
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)AvitoTech
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoTech
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоAvitoTech
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий БогомоловAvitoTech
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим СоколовAvitoTech
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)AvitoTech
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоAvitoTech
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей КудрявцевAvitoTech
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, AvitoAvitoTech
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the AirAvitoTech
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...AvitoTech
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11AvitoTech
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...AvitoTech
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)AvitoTech
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...AvitoTech
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовAvitoTech
 

More from AvitoTech (20)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений Фомченко
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим Соколов
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей Охрименко
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
 

Рекомендации в OZON.ru - Ксения Бокша

  • 2. © OZON.ru 2 • Компании OZON.ru 19 лет • Ассортимент 4,3 млн товаров • 12 категорий, среди которых аптека, +18, продукты • За 2016 год 5,8 млн заказов
  • 3. © OZON.ru 3 План презентации • Какими данными оперируем • Стек технологий • Рекомендации в поиске • Персональные рекомендации • Рекомендации на карточке товара
  • 4. © OZON.ru 4 • Логи (~2 гб за один день) • Описание товаров (~8,5 млн) • Заказы • Дерево каталогов • Доступность товаров (~4 млн доступных) • Ручные правила совместимости (>7,5 к пар тип-тип) Какие данные собираем у себя
  • 5. © OZON.ru 5 Стек технологий Программный • Большая часть разработки ведется на python, очень редко – java • Фреймворк для распределенных вычислений – Apache Spark • Доступ к данным происходит через Hive, реже через обычный SQL Аппаратный • Вычислительный кластер Ozon для задач среднего объема данных (<200 Гб) • Инфраструктура Amazon Web Services для больших объемов данных
  • 6. © OZON.ru 6 Поиск Главная Карточка товара
  • 7. © OZON.ru 7 Рекомендации в поиске • Рекомендуем товары по поисковому запросу (sb) • Рекомендуем каталоги (sc) • Рекомендуем другие поисковые запросы (ss)
  • 8. © OZON.ru 8 Поисковой запрос не всегда соответствует какому-либо слову из названия/описания товара, поэтому нельзя полностью включить товары с полки в поисковую выдачу. Пример: Краби – популярная у путешественников провинция на юге Таиланда. Книг с таким названием в OZON.ru нет, зато есть книги про южный Таиланд, что скорее всего подойдет клиентам. Искавшие покупают (sb) Поисковая выдача по запросу «Краби» Рекомендации по запросу «Краби»
  • 9. © OZON.ru 9 Алгоритм расчета sb Поиск Собираем логи (инкрементально) Парсим лог и рассчитываем основные агрегаты (инкрементально) Объединяем агрегаты согласно схеме (всё, т.к. недолго) Кладем в сервис для показа на сайте Для увеличения покрытия поисковых запросов рекомендациями и улучшения качества самих рекомендаций предприняты следующие действия: обработка поисковых запросов (токенизация, лемматизация); переход от расчетов только SB к расширенной схеме; объединение товаров по моделям Поиск Каталог Товары Товары Товары
  • 10. © OZON.ru 10 Персональные рекомендации • Отображаются на главной странице сайта, используются для рассылки в e-mail • Рассчитываются для всех зарегистрированных клиентов, которые совершили хотя бы одно действие «положить товар в корзину» • Алгоритм расчета: implicit ALS Собираем логи (инкрементально) Парсим лог и рассчитываем основные агрегаты (инкрементально) Формируем матрицу U-M (устаревание + агрегация) Обучаем модель ALSПрименяем модель (считаем топ лучших моделей для клиента) Переходим от моделей к товарам и фильтруем Для увеличения качества рекомендаций статистика для клиента собирается по longCookie
  • 11. © OZON.ru 11 Рекомендации на карточке товара Бандлы Аксессуары (сопутствующие товары) Связанные товары
  • 12. © OZON.ru 12 Бандлы Бандлы могут подбираться экспертно и статистически. Стастистические строятся на основе частоты совместных заказов. Тройки подбираются из пар, для каждой пары ищем общий третий товар как пару к каждому из товаров. Например, если для пары товаров А и В существует товар С, который покупается и с товаром А и с товаром В, то образуется тройка АВС
  • 13. © OZON.ru 13 Аксессуары (сопутствующие товары) Ручная полка, генерируется на основе ручных связок типов и фильтров (ограничений), которые должны быть применены к этим связкам. Связка тип-тип: Ноутбук – Сумка для ноутбука Ограничение на связку тип-тип: Диагональ экрана <= размер сумки Р Р Соответствие тип – товар, товарные характеристики Входные данные Переход от пары тип-тип к товар- товар (декартово произведение) Проверяем каждую пару товар- товар на удовлетворение правилу Накладываем на финальные пары товар-товар статистику и берем топ Алгоритм расчета Особенности: в среднем в каждом типе 5к товаров, таким образом одна связка тип-тип порождает 25 млн пар товар-товар. Поэтому расчет инкрементальный.
  • 14. © OZON.ru 14 Связанные товары (Рекомендуем также) • В данной полке показываются как товары заменители, так и дополнители • Покрытие полкой более 98% товаров • Примерно каждый 10й товар добавленный в корзину был найден клиентом OZON.ru именно в этой полке • Строится как комбинация алгоритмов, основанных на: 1. заказах (товары в одном заказе, товары заказанные одним клиентом) 2. логах (статистика совместных просмотров и т.п.) 3. контенте (товарные характеристики)
  • 15. © OZON.ru 15 Но нам есть куда расти!