Кто заплатит, а кто уйдет? Александр Сербул Руководитель направления
Карл… Карл, я открыл страшную тайну Bigdata и машинного обучения Это очень интересно, пап!
Карл… Карл, я специалист по BigData …. Это очень круто, пап! Почти никто не понимает, как оно работает! ПОЧТИ НИКТО!!!
Битрикс 24 - упрощенно Слайд 4
Сервис 1С-Битрикс: BigData Слайд 5
Сервис 1С-Битрикс: BigData Слайд 6
Цифры - кратко Тысячи запросов в секунду к сервису Десятки тысяч интернет-магазинов Ощутимый рост конверсии – от технологий Bigdata и персонализации Слайд 7
О ЧЕМ ПОГОВОРИМ Алгоритмы для менеджеров, для увеличения конверсии и продаж Полезные технологии для электронной торговли … в рамках Bigdata Слайд 8
О ЧЕМ ПОГОВОРИМ Для менеджеров, без математики! Понятные алгоритмы и техники Полезные для электронной торговли В рамках Bigdata Слайд 9
Если слушать внимательно, то мы сможем … Разобраться в обширной терминологии Понять алгоритмы и их пользу для бизнеса Оценить и организовать эффективный процесс в компании Слайд 10
Что происходит вокруг Шумиха вокруг «больших данных» Продукты и сервисы для извлечения прибыли из Bigdata Очень высокий уровень вхождения Непонимание разных областей Слайд 11
Учиться – просто некогда Слайд 12 Computer Science Высшая математика Теория вероятностей Математическая статистика Программная инженерия Машинное обучение Параллельные алгоритмы Обработка «больших данных» Линейная алгебра
Информация - «только для избранных» Wikipedia Google…
Уровень вхождения
Межрассовое скрещивание
Быстро всё забыли!
Боевое карате Окинава, XIX век Доступность Массовость Сила – не нужна Разумный уровень вхождения Эффективность против самураев! Слайд 17
Исходные данные Слайд 18 Целое: -4, 23 Число с плавающей точкой: 1.34, Одно из значений (полиномиальное): «красный», «синий», «зеленый» Биномиальный: да/нет, M/F Даты Графы Выбросы
Элементарная статистика Слайд 19 Среднее, дисперсия Линейная корреляция Mutual Information, Maximal information coefficient (MIC)
Профиль Покупателя Слайд 20 Все, что есть! Пол Возраст Статус URLы, пути Обращения в паспорт Счетчики Средние за квартал, месяц, день
Сбор данных для анализа Хиты на сайте (логи) События, привязанные к cookie (через «счетчик») Логи работы Мультиканальность Слайд 21
Что собираем мы Слайд 22 Событие Просмотр товара Добавление в корзину Заказ Оплата Заказа Кука Пользователя Хэш лицензии Домен ID товара Название Товара Категории Товара ID рекомендации ряд других
Сбор данных для анализа – риски, оценки Нагрузка на «счетчик» - нужен nginx/lua, NoSQL- решение, … Много данных – нужен кластер для обработки: hadoop+spark/amazon/… Реализация: дни Слайд 23
Полезные (готовые) инструменты Слайд 24 Rapidminer SAS SPSS … Готовые блоки, серверные редакции (hadoop), графики
Полезные библиотеки (бесплатные) Слайд 25 Spark MLlib (scala/java/python) – много данных scikit-learn.org (python) – мало данных R
Рабочее место аналитика
Аналитик Организовать сбор данных Минимум программирования Работа в инструментах (Rapidminer, R, SAS, SPSS) Bigdata – как SQL Слайд 27
Война систем хранения Слайд 28 SQL на MapReduce: Hive, Pig, Spark SQL SQL на MPP (massive parallel processing): Impala, Presto, Amazon RedShift, Vertica NoSQL: Cassandra, Hbase, Amazon DynamoDB Классика: MySQL, MS SQL, Oracle, …
Визуализация
Визуализация! Слайд 30
Визуализация! Кто мои клиенты (возраст, средний чек, интересы)? Тренды, графы Корреляция значений 2-3, иногда больше измерений «Дешевле/проще» кластеризации Слайд 31
Визуализация! Гистограмма: - Время пребывания клиента в разделе сайта - Число платных подписок в зависимости от числа пользователей услуги Слайд 32
Кластерный анализ
Когда измерений много Если «повезет» Четкая/нечеткая Иерархическая Графы Данных много/мало Интерпретация Слайд 34
Кластерный анализ Слайд 35 Иерархическая K-means C-means Spectral Density-based (DBSCAN) Вероятностные Для «больших данных»
Кластерный анализ – бизнес-кейсы Сегментация клиентов, типов использования сервиса, … Кластеризация «общего» товарного каталога Кластеризация графа связей сайтов (пересечение аудитории) Маркетинг работает с целевыми группами, информация разбита на «смысловые облака». Слайд 36
Кластерный анализ – оценки на программирование Данные должны быть уже собраны Анализ в Rapidminer (0.1-2 часа) Анализ в Spark Mllib (1-2 дня, много данных) Анализ в scikit-learn – аналогично (мало данных) На выходе: список кластерных групп, иногда визуализация. Метрики качества кластеризации. Слайд 37
Кластерный анализ – риски Много данных – медленно! Тексты, каталоги товаров … Как интерпретировать? Рецепты: Spark MLlib, векторизация текста, LSH (locality sensetive hashing), word2vec Слайд 38
Персонализация
Релевантный контент – «угадываем мысли» Релевантный поиск Предлагаем то, что клиенту нужно как раз сейчас Увеличение лояльности, конверсии Слайд 40
Объем продаж товаров Best-sellers Топ-продаж… С этим товаром покупают Персональные рекомендации Слайд 41 «Mining of Massive Datasets», 9.1.2: Leskovec, Rajaraman, Ullman (Stanford University)
Коллаборативная фильтрация Предложи Товары/Услуги, которые есть у твоих друзей (User-User) Предложи к твоим Товарам другие связанные с ними Товары (Item-Item): «сухарики к пиву» Слайд 42
Как работает коллаборативная фильтрация Слайд 43 Матрица: -Пользователь -Товар Похожие Пользователи Похожие Товары
Возможности коллаборативной фильтрации (Item-Item) Персональная рекомендация (рекомендуем посмотреть эти Товары) С этим Товаром покупают/смотрят/… (глобальная) Топ Товаров на сайте Слайд 44
Коллаборативная фильтрация (Item-Item) – сроки, риски Apache Spark MLlib (als), Apache Mahout (Taste) + неделька Объем данных Объем модели, требования к «железу» Слайд 45
Content-based рекомендации Купил пластиковые окна – теперь их предлагают на всех сайтах и смартфоне. Купил Toyota, ищу шины, предлагают шины к Toyota Слайд 46
Content-based рекомендации – реализация, риски Поисковый «движок»: Sphinx, Lucene (Solr) «Обвязка» для данных Хранение профиля Клиента Реализация: неделька. Риски – объем данных, языки. Слайд 47
Content-based, collaborative рекомендации - разумно Рекомендовать постоянно «возобновляемые» Товары (молоко, носки, …) Рекомендовать фильм/телевизор – один раз до покупки Учет пола, возраста, размера, … Слайд 48
Классификация
Классификация – это не кластеризация! Не путать! Кластеризция – автоматическая и если повезет Классификация – учим компьютер сами и «везет» чаще Пример: фильтрация спама, которую доучиваем Слайд 50
Классификация Слайд 51 Разбиваем по группам, обучение Бинарная Мультиклассовая
Классификация – бизнес-кейсы Удержание: найти клиентов, которые скоро уйдут (churn-rate) Найти клиентов, готовых стать платными Найти клиентов, которые готовы купить новую услугу Найти готовых уволиться Определить у клиента – пол! Слайд 52
Классификация – тонкости А как/чем удержать клиентов? Определение релевантных групп – зондирование (рассылки, опросы), база моделей Оценка качества моделей Слайд 53
Классификация – реализация, риски Определение, нормализация атрибутов Feature engineering Выбор алгоритма, kernel Spark MLlib, scikit-learn – 2-3 дня Rapidminer – полчаса Слайд 54
Классификация – качество Confusion matrix Recall/precision Kappa AUC > 0.5 Слайд 55
Регрессия
Предсказать «циферку» Стоимость квартиры, автомобиля на рынке Ценность клиента для магазина Зарплата на данную вакансию и т.д. Слайд 57
Регрессия – customer lifetime value (CLV) Пришел клиент, а он потенциально прибыльный! Система лояльности, удержания Подарки, скидки, … Слайд 58
Регрессия – реализация, риски Выявление атрибутов Выбор алгоритма Spark MLlib – не работает, scikit-learn – 1-2 дня Слайд 59
Reinforcement learning
Автоматическое A/B-тестирование Создаем наборы: главной, баннеров, корзины, мастера заказа Ставим цель – оформление заказа Клиенты обучают систему - автоматически Система отображает самые эффективные элементы интерфейса Алгоритм – прост в реализации Слайд 61
Reinforcement learning Слайд 62
Стратегии увеличения прибыли
Стратегии Изучаем клиентов (кластерный анализ, зондирование) Привлечь нового дороже чем удержать старого? Высокий churn-rate и CLV – удерживаем релевантным предложением Меньше «тупого» спама - больше лояльность Персонализированный контент Слайд 64
А что влияет на конверсию в …? Собираем данные (хиты, логи, анкетирование) Строим дерево решений В Rapidminer – полчаса В Spark MLlib – чуть больше. Слайд 65
ВЫВОДЫ Bigdata – реально помогает Нужно учиться. Чем больше знаем, тем мы успешнее Инструменты – доступны, многие бесплатны Расходы и риски – лаконичны и прогнозируемы Избегаем высшей математики и погружения в науку Персонализированный контент – уже повсюду! Слайд 66
Спасибо, вопросы? Александр Слайд 67