Ну купиии! Или применение AI для рекомендаций

    Все же тут страдают от спама? Обвешаны адблокерами, white-листами, спам-фильтрами? Я точно сильно страдал от бесконечных предложений, но в какой-то момент стала появляться и полезная информация, причем еще в нужные моменты. 

    Став руководителем проектов по предиктивной аналитике в компании НОРБИТ, я оказался по другую сторону баррикад и хочу поделиться опытом по разработке рекомендательных сервисов для программ лояльности.

    Источник 

    Рекомендательными системами уже давно никого не удивишь. Скорее наоборот, не так просто найти онлайн-магазин, который не предлагал бы вам купить что-то после добавления товара в корзину. Грамотно составленная лента рекомендаций или маркетинговая рассылка способна принести хорошую прибыль и повысить средний чек. Давайте посмотрим, как это работает. 

    Вкратце это выглядит так. Сначала мы выполняем работы по аналитике и кластеризации клиентской базы. На этом этапе становится понятно, чем объединены и чем отличаются группы клиентов, на какие признаки будет опираться будущая модель персональных рекомендаций. Исходя из бизнес-задач, выбираем метод разработки моделей, тестируем на исторических данных, делаем тестовую рассылку, проверяем уровень отклика (конверсию) и, если видим значимый прирост, несём в продакшн.

    Мы придерживаемся следующей классификации маркетинговых предложений:

    1. «Ковровая бомбардировка» — одинаковое предложение для всех клиентов. Просто и неэффективно.
    2. «Сегментация». Производится разделение клиентов на группы по какому-либо набору признаков, например, по возрасту, полу и среднему чеку.
    3. «Микро-сегментация». На этом этапе количество атрибутов и степень их влияния на итоговую оценку клиента уже не позволяют проводить ручное сегментирование клиентов, и в дело вступают алгоритмы машинного обучения. Клиентские данные обогащаются дополнительными сведениями, выполняется адаптация каналов связи под каждый сегмент.
    4. Персональный подход. Построение индивидуальных рекомендаций для каждого клиента на основе сведений о нем.
    5. Real-time персональный подход. Улучшенная версия пункта №4, характеризуется непрерывным обновлением данных. Вариантов построения таких рекомендаций может быть много. О них подробнее расскажу далее.

    Понятно, что эффективность должна возрастать от первого типа к пятому, но увеличивается и сложность проведения такого анализа, а следовательно, и возможные затраты на внедрение и поддержку системы. Эффективность можно оценивать разными способами, например, по конверсии, но даже уровень конверсии можно считать по-разному, в зависимости от типа компании и характера маркетингового предложения. 

    Если производится рассылка с предложением конкретных товаров, то в качестве конверсии можно взять долю клиентов, которые после получения сообщения совершили целевую покупку. Хотя здесь есть множество нюансов. Например, важно исключить из расчета тех клиентов, которые и без SMS всё равно бы купили товар. 

    В борьбе за цифру конверсии важно помнить о балансе между Precision и Recall, чтобы избежать ситуации, когда удалось добиться 100% попаданий в нужных клиентов, при этом модель рекомендовала всего трех клиентов из трех миллионов.   

    Кластеризация


    Когда у компании клиентская база измеряется миллионами, проведение кластеризации позволяет узнать своих клиентов лучше. Для ее построения могут быть использованы следующие данные: история продаж, перечень торговых точек, каталог товаров, клиентские данные, проводимые акции и т.д. Полезно добавить и внешние данные, например, население городов, где была зарегистрирована карта лояльности или совершались покупки, информация о конкурентах. На основе анализа становится понятно, какие признаки могут сыграть роль в разделении клиентской базы на кластеры. Для каждого кластера выделяются разные характерные особенности. Часто ими оказываются такие признаки, как товарные предпочтения, социально-демографические факторы, частота и время покупок, активность клиента в последнее время, доля покупок по акциям или в праздники, реакция на рассылки. 

    Важным этапом является построение корреляционной матрицы для исключения признаков, которые сильно зависят друг от друга и могут перетягивать на себя важность в процессе разделения кластеров. Для визуализации можно применить метод PCA с предварительной нормализацией для упрощения работы алгоритма кластеризации (k-means), приведу пример кода на Python для этого: 

    # Нормализация и уменьшение размерности данных
    
    scaled = MinMaxScaler().fit_transform(features.fillna(0))
    
    pca = PCA(n_components=2)
    
    components = pca.fit_transform(scaled) 
    
    plt.scatter(components[:, 0][::500], components[:, 1][::500])
     

    Количество кластеров выбирается экспериментальным путем, опираясь на собственный опыт и учитывая сумму квадратов расстояний от образцов до ближайшего центра кластера. Обычно выделяют 7-10 кластеров. Брать меньшее число кластеров не очень полезно для бизнеса, большее — сложно обозначить четкие признаки разделения. Часто по графику трудно понять, когда следует остановиться.
     
    График суммы квадратов расстояний от образцов до ближайшего центра кластера

    costs=[]
    
    r = range(2, 17)
    
    for k in tqdm(r):
    
    	kmeans = KMeans(n_clusters=k, n_jobs=11)
    
    	kmeans.fit(scaled)
    
    	cost = kmeans.inertia_
    
    	print(f'for {k} CLUSTERS COST = {cost}')
    
        costs.append(cost)
    
     
    
    fig, ax = plt.subplots(figsize=(12,5))
    
    ax.plot(r, costs)
    
    ax.set_xticks(r);
    
     
    
    # Пример разделения кластеров
    
    kmeans = KMeans(n_clusters=7, n_jobs=12, random_state=42)
    
    kmeans.fit(scaled) 
    
    fig, ax = plt.subplots()
    
    plt.scatter(components[:, 0][::500], components[:, 1][::500], c=kmeans.labels_[::500], s=10, cmap='rainbow')
    
    scatter =plt.scatter(components[:, 0][::500], components[:, 1][::500], c=kmeans.labels_[::500], s=10, cmap='rainbow')
    
     
    
    legend1 = ax.legend(*scatter.legend_elements(),
    
                    	loc='upper right',bbox_to_anchor=(1.15, 1), title=«Classes»)
    
    ax.add_artist(legend1)
     

    В результате мы получаем клиентскую базу с метками о разделении клиентов на кластеры. Каждый кластер можно проанализировать, определить основные признаки. Кластеризация помогает формировать портреты типичных клиентов, объединяет клиентов по их поведению. С учетом этих знаний можно проводить отдельные маркетинговые кампании для каждого отдельного кластера, а также выстраивать эффективные персональные рекомендации и формировать рассылки, позволяющие добиться большей конверсии, избегая метода «ковровой бомбардировки».

    Рекомендательные модели


    Кроме общих рекомендаций типа товар-товар: «В 2020 году вместе с новым айфоном клиенты часто покупают блоки питания, наушники, провод зарядки…», пользуются популярностью такие модели:

    1. Ранжирование клиентов для конкретного товара или группы товаров. Такие рекомендации применяются для формирования сегмента клиентов, которым может быть наиболее интересен конкретный товар. Типовым сценарием использования является создание сегмента клиентов в CRM-системе с дальнейшей e-mail/SMS-рассылкой.
    2. Ранжирование товаров для конкретного клиента. Этот метод используется для формирования ленты рекомендаций на сайте и в мобильном приложении, а также рассылках.
    3. Рекомендации определенных акционных механик клиенту.
    4. Рекомендательные системы могут выполнять и вспомогательную функцию, например, ML-модель для выбора оптимального канала и времени отправки персональных маркетинговых предложений позволит сэкономить на SMS-сообщениях, которые в большинстве своем были бы проигнорированы получателями.

    UPLIFT для рекомендательных моделей


    Итак, модель проанализировала клиентскую базу, отсортировала клиентов по убыванию интереса к определенному товару. Берем самый топ из списка и отправляем маркетинговые сообщения этим клиентам? К сожалению, нет. 

    В самом верху списка окажутся действительно самые лояльные  к предложению клиенты, но как раз им ничего дополнительно отправлять и не следует.

    Uplift-модель. Наиболее интересны для нас клиенты из группы «Убеждаемые»

    Клиенты по-разному реагируют на маркетинговые предложения. Если игнорирование рассылки — это нормальная ситуация, то отпугивание чрезмерной назойливостью клиента, который и так хотел у нас что-то приобрести, — это точно не то, чего мы хотим добиться при построении рекомендательной системы. 

    Методика Uplift-моделирования разделяет клиентов на четыре категории. Согласно ей, на маркетинговую работу с «потерянными» и «лояльными» мы попусту потратим деньги и/или время; клиентов из группы «не беспокоить» вовсе настроим против себя; а вот «убеждаемые» — как раз те, кого мы ищем. Именно среди этой группы конверсия от правильно подобранных предложений повысится больше всего.

    DMP


    Где же хранить все важные данные по клиентам и почему нельзя просто использовать данные, хранимые в CRM или системе по управлению лояльностью? Часто нужна информация из множества дополнительных источников: активность на сайте, мобильных платформах, обогащенные данные из внешних систем и т.д. Мы для для этих задач используем DMP-кластер (Data Management Platform)  — систему по сбору, анализу и управлению информацией о клиентах. 

    Перечень задач, которые решает платформа

    1. Унификация сбора максимально возможного количества данных о клиентах из различных источников:

      a. поведение на веб-сайтах;
      b. поведение и использование мобильных приложений;
      c. импорт данных о клиентском взаимодействии из корпоративных систем (CRM, Service Desk и др);
      d. импорт данных о маркетинговом взаимодействии и конверсиях.
    2. Идентификация клиента и его устройств во всех возможных каналах, связывание «пути клиента» (customer journey) из различных источников, матчинг идентификаторов.
    3. Унификация доступа к данным по клиентам и пользователям, а также их «пути» для целей аналитики.
    4. Сегментация аудитории, определение попадания клиента или посетителя в тот или иной сегмент на основе описанных правил.
    5. Активация сегментов для маркетинговых коммуникаций — обновление сегментов в настроенных рекламных каналах.

    Сбор клиентских и пользовательских данных возможен из различных собственных источников:

    • собственные сайты и лендинги;
    • собственные мобильные приложения;
    • сайты партнеров;
    • CRM;
    • клиентский сервис;
    • Wi-Fi ловушки;
    • другие корпоративные системы.

    Платформа оперирует двумя основными типами сущностей:

    • профиль клиента;
    • событие пути клиента.

    Профиль клиента (Customer Profile) представляет собой набор известных идентификаторов клиента, а также атрибуты, которые ему назначены. Атрибуты представляют собой более-менее стойкие во времени характеристики или черты (traits) клиента. Они могут быть известными на основе анкетных данных (предоставленные самим клиентом), аналитическими (характеристики клиента, рассчитанные по каким-либо алгоритмам или формулам), либо предиктивными (предсказательные характеристики, полученные в результате работы моделей машинного обучения).

    Событие пути клиента (Customer Journey) представляет собой запись о произошедшем событии в какой-то точке контакта с клиентом, его идентификаторы и атрибуты, описывающие событие и его контекст. Допустим, пользователь зашел на страницу сайта. В таком случае атрибутами, описывающими событие, будут наименование страницы, раздел сайта, в котором находится пользователь, браузер и операционная система пользователя, форм-фактор устройства (мобильный телефон, планшет, компьютер). Также может определяться регион, из которого пользователь делал запрос — страна, город. Если клиент интернет-магазина положил товар в корзину, то такими данными будут название товара, категория товара, стоимость, которую видел пользователь, количество и т.д. Если пользователь перешел на сайт с какого-то рекламного объявления, то в привязке к событию сохраняются UTM-метки.

    Чем больше различных признаков присутствует в данных, тем больше вероятность того, что рекомендательная система будет успешно справляться со своей задачей, поэтому для улучшения качества данных применяются методы обогащения данных и сквозной аналитики. Разница между ними состоит в том, что под обогащением данных подразумевается получение дополнительной информации из внешних сервисов, в то время как сквозная аналитика предполагает объединение данных из внутренних систем.

    NiFi


    Прежде чем обрабатывать данные, нужно их получить, а учитывая, что задача построения рекомендаций требует актуальной информации, то и организовать автоматическое обновление данных. Для решения такого класса задач применяются ETL-системы. Мы выбрали NiFi, т.к. его удобнее всего интегрировать с нашей остальной инфраструктурой, построенной на базе кластера Hadoop.  

    Пайплайн в NiFi выстраивается из блоков, именуемых процессорами. Каждый процессор выполняет свою задачу. Приведу пример из четырех блоков.

    1. ListFTP получает список файлов по заданному пути на FTP-сервере, возможен обход вложенных папок. ListFTP удобен тем, что хранит состояние последнего сканирования папок: для каждого файла записывается timestamp его последнего изменения, и до тех пор, пока он не изменится, этот файл не будет загружаться повторно.
    2. После того, как процессор ListFTP получил список файлов, этот перечень отправляется в процессор FetchFTP, который осуществляет загрузку данных. Имеется возможность указать регулярное выражение для имен файлов, которые следует загружать.
    3. Предположим, что данные на сервере заказчика хранятся в виде архивов и было бы удобно на лету распаковывать их, чтобы на нашем сервере оказались данные, пригодные для непосредственного считывания. С этой задачей нам поможет процессор UnpackContent, позволяющий распаковывать tar и zip-архивы.
    4. Заключительный этап нашего пайплайна — загрузка данных в HDFS при помощи PutHDFS. В настройках этого процессора нужно указать директорию, в которую будут сложены файлы. 

    NiFi обладает широким набором процессоров для загрузки (например, для взаимодействия с S3 и Azure), преобразования данных (например, преобразования форматов) и других операций. Также имеется возможность создания своего собственного процессора.

    Spark


    Объем данных, с которым приходится работать при построении рекомендательных моделей, может измеряться сотнями гигабайт. В таких условиях не обойтись без инструмента, справляющегося с большими объемами информации. Мы выбрали pySpark, развернутый на кластере Hadoop. 

    Преимущества такого подхода

    1. Все процессы по получению и обработке информации существуют в рамках единой инфраструктуры: NiFi обеспечивает удобную доставку файлов с серверов заказчика, HDFS — хранение файлов на дисковой подсистеме кластера и резервное копирование, Yarn — управление задачами.
    2. Spark обладает очень гибкими возможностями конфигурирования, что позволяет эффективно управлять ресурсами при построении пайплайна.
    3. Хотя Spark в некоторых задачах и проигрывает в быстродействии Pandas, особенно на небольших датасетах, все его сильные стороны раскрываются при работе с большими объемами данных.

    AirFlow 


    Airflowбиблиотека для разработки и управления рабочими процессами. Пайплайны представлены в виде DAG'ов (directed acyclic graph), которые представляют собой код на языке Python, описывающий последовательность производимых действий. Для удобства работы Airflow имеет встроенный набор операторов, облегчающих выполнение определенных действий, например: bash_operator, s3_file_transform_operator, sqlite_operator и другие. Имеется планировщик задач и удобный веб-интерфейс.

    Разработка рекомендательных моделей 


    Наша инфраструктура готова и пора перейти непосредственно к разработке рекомендательной системы. 

    Основные методы построения рекомендательных систем:
    1. Контент-ориентированный подход основан на анализе истории пользователя. Производится оценка отношения клиента к товарам, с которыми он взаимодействовал ранее, и на основании этого выполняется построение рекомендаций. Преимущества такого подхода: легко строить рекомендации для новых товаров, т.к. в основе работы модели лежит анализ признаков. Недостатки: сложно строить рекомендации для клиентов, по которым имеется мало истории.
    2. Коллаборативная фильтрация. Суть этого метода заключается в следующем: если клиент A покупает товары №1, №2, №3, а клиент B товары №1 и №3, то вероятно, что товар №2 также будет интересен клиенту B. В отличие от клиент-ориентированного подхода, при коллаборативной фильтрации не используются признаки товаров или клиентов, а только матрица оценок, в которой на пересечении клиента и товара находится метрика полезности.
    3. Кластеризация. В случае, когда имеется мало исторических данных, можно прибегнуть к кластеризации клиентов на основе их признаков с последующим построением рекомендаций. Недостатком такого подхода является невозможность построения индивидуальных рекомендаций.


    Важно отметить, что принципы формирования рекомендаций во многом зависят от предметной области: где-то лучше будут работать рекомендации по подобию, где-то по сопутствующим товарам, где-то по связи покупок клиентов. Одна из наших рекомендательных систем предназначается для сети общественного питания. В ней мы используем модель Bayesian Personalized Ranking, суть которой заключается в следующем: оптимизация модели выполняется на основе ранга пар пользователь – товар. Для этого формируется матрица оценок — таблица размерности (количество клиентов Х количество товаров), где в ячейках указана метрика — степень заинтересованности клиента в товаре. В качестве метрики можно выбрать количество покупок, сумму, частоту, длительность просмотра товара в каталоге и другие производные метрики. Затем на основе этой матрицы оценок формируется датасет: (u, i, j) ∈ DS, что означает, что пользователь u предпочитает товар i товару j.

    Такой подход может быть хорош, когда у нас мало дополнительной информации о клиентах, а имеется, например, только его история навигации по сайту. Но в том случае, когда данные о покупателях содержат дополнительные сведения, можно построить рекомендательную систему при помощи градиентного бустинга. 

    В этом случае важно максимально обогатить имеющиеся данные новыми признаками, такими как: 

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

    Модель, обученная на таких данных, сможет не только подобрать наиболее интересный для клиента товар, но и выбрать самое подходящее время рассылки и канал коммуникации. Обучение модели производится при помощи градиентного бустинга. Наш выбор — XGBoost, но CatBoost или LightGBM тоже показывают достойные результаты.

    A/B тестирование 


    Как проще всего оценить рост конверсии от применения рекомендательной модели? Можно сравнить исторические данные по конверсии по прошедшим рассылкам, но возникает много вопросов.

    1. Нужно посчитать долю клиентов получивших рассылку и совершивших покупку. Но как это посчитать? Клиент пришел через три дня после получения, его считать? Клиент пришел и купил 10 товаров, но не тот, который был в рассылке? Клиент ходил каждую неделю, он пришел из-за сообщения?
    2. Как влияет содержание маркетингового сообщения на конверсию? Очевидно, что предложение 90% скидки вызовет более высокую конверсию чем скидка в 10%.

    Для оценки качества рекомендательных моделей мы обычно применяем A/B-тестирование, т.е. в тестовых рассылках выделяем контрольные группы, в которых создаем сегменты из случайных клиентов или специально вручную сформированных. Но это уже тема отдельной большой статьи.

    Если говорить про наш опыт, то использование специальных моделей по формированию персональных маркетинговых предложений для SMS-рассылок позволила повысить конверсию клиентов с 3% до 25%.

    Выводы


    Текст получился длиннее, чем я планировал, но теперь вы знаете, как работают наши сервисы рекомендаций. При построении рекомендательной модели в случае отсутствия дополнительной информации о клиентах преимущество отдаем, например, Bayesian Personalized Ranking (использование ранга пар пользователь-товар). Если же дополнительная информация о клиентах присутствует, можно пробовать градиентный бустинг (XGBoost, CatBoost, LightGBM), но не забываем при этом максимально обогащать новыми признаками. Правильно выстроенная инфраструктура при внедрении сервиса рекомендаций поможет сократить время в дальнейшем, она автоматизирует многие процессы (сбор, обработку данных), поэтому Hadoop, Spark, NiFi, AirFlow — отличные помощники.

    Для оценки эффективности рекомендательных моделей мы используем A/B-тесты и считаем долю клиентов, совершивших после получения сообщения целевую покупку, или же увеличение среднего чека при просмотре рекомендательных лент.
    ГК ЛАНИТ
    Ведущая многопрофильная группа ИТ-компаний в РФ

    Comments 25

      +7
      Именно поэтому я и установил адблокер. И именно поэтому НИКОГДА не кликаю на рекламные ссылки. Не загаживайте мой интернет, пожалуйста.
        +2
        Ну не скажите, я не против рекламы если за ней стоит качество контента, т.е. когда контента не было бы без рекламодателя. Но попрошу на новый год побольше мозгов маркетологам, хотя бы на уровне автора статьи, т.к. бесят две совершенно нелогичные вещи:
        1) Не надо бесконечно предлагать мне то, что я один раз погуглил. Я утром погуглил, вечером мне привезли Apple Watch для жены — не надо крутить мне их рекламу полгода после этого
        2) Претензия персонально к youtube — я плачу 10 долларов за премиум, спасибо, избавили от своей рекламы. Но почему я должен смотреть рекламу, зашитую в каждое видео блогера? Давайте им выбор — либо то либо то. Без адблока и премиума даже не знаю как люди смотрят — на рандомном моменте по 5 раз за видео вылазит вырвиглаз, так еще и блогер пол видео делает рекламную интеграцию. Так и до Черного Зеркала недалеко
          +1
          Давайте им выбор — либо то либо то

          Было бы неплохо, если бы авторов обязывали отмечать рекламные интеграции на таймлайне, под угрозой снятия монетизации с ролика, а для премиум-аккаунтов дали возможность автоматически проматывать такие блоки при просмотре.
            0
            Да, очень-очень полезная опция бы получилась. Мне мое время дорого — я плачу за премиум и не хочу смотреть рекламу дешевого видеорегистратора в свободное время.
        +7

        К сожалению, большинству "рекомендалок" очень-очень далеко до того, чтобы быть более полезными, нежели надоедающими. Большую роль в этом ещё играет абсолютно абсурдное предположение "посмотрел товар == интересуется". Из-за этого приходится многие вещи смотреть в приват-окне без залогинивания, иначе потом загаженную "карусель предложений" никак не очистишь. А причин может быть много: прислали ссылку, друг\родственник попросил узнать о товаре, член семьи зашёл с моего ПК, ибо быстрее, итд.


        С рекомендациями плохо справляются даже оффлайн магазины, когда используешь карту постоянного покупателя, по которой отслеживают твои предпочтения, и в приложении которой присылают купоны. Скажем, человек не употребляет спиртное, но купил вино для готовки мяса — всё, добро пожаловать: купоны на алкоголь будут совать в следующие 2-3 месяца, пока рекомендательный алгоритм не поймёт, что чё-то человек их не берёт. Но стоит через полгода купить бутылку коньяка другу на ДР, как всё начинается заново...

          +1
          мы только что в вайбере!!! обсуждали коврики, которые купил знакомый, я открываю фейсбук и что вы думаете я вижу? Именно бежевые, о которых шла речь. Хотя до этого я ими не интересовался
            0
            о, вот это точно. Бросил пить полгода как, магазин Vino&Vino бомбардирует меня скидками каждую пятницу, а перед праздниками — каждый день.
            0
            Из-за этого приходится многие вещи смотреть в приват-окне без залогинивания, иначе потом загаженную «карусель предложений» никак не очистишь.

            Эм, адблок?
            Думаю пора делать подписку на удаление блоков рекомендаций и прочих заведомо мусорных блоков, типа пятого пункта в «Самое читаемое» на том же Хабре.
              0

              Адблок есть, но, если честно, настраивать его на авто-генерирующиеся стайл-шиты вида "pd_rd_w-g71JB pf_rd_p-c295905f-82f9-4d73-8142-c393a4211258", которые через месяц уже будут с другими аттрибутами, в другой последовательности или <вставьте сюда способ борьбы с адблоком>. К тому же, всё-таки это часть функционала сайта магазина, а не какие-то "поиграй в игру" или "достаточно лишь прислать..." баннеры. И хочется, чтобы эта функциональная часть работала хотя бы, как должна.

                0
                авто-генерирующиеся стайл-шиты вида

                Есть где-нибудь петиция по запрету вот всего этого? Люблю стилизовать сайты или подстаивать под себя, или хотя бы банить всякий шлак, но со всем этим новомодным уже не работает.
                  0
                  через месяц? а разве не при следующем обновлении страницы?
                    0

                    Конечно, стайл-шит будет "другой", да, но иногда их можно выцепить по определённому паттерну, например, они все будут содержать какой-нить width: 101 или часть названия CardIdentifier_2352adfsdfer_blabla, которые можно запихнуть в правило с помощью :-abp-contains(), например. Но через месяц это будет уже что-то другое по типу 1_123_abc_CoolBogusStyleID или ещё что.

                +10
                Ожидаемо никто не хвалит автора с математикой, но все хейтят рекламу.
                Автор — молодец ) Реклама — отстой.
                Тоже очень удивляюсь. Никогда, ни разу не кликал ни по одному баннеру, а гугл и яндекс зарабатывают на них миллиарды… Как!?
                В яндекс даже писал в техподдержку — навигатор настойчиво рекомендует мне заправиться, когда проезжаю мимо АЗС. Мало того, что бесит небезопасна всплывающая реклама в навигаторе во время движения, так ещё и бесполезна — я на электромобиле. Разработчики, как думаете, что и о ком я говорю при каждом появлении такой рекомендации?
                  +1
                  Спасибо на добром слове!
                  Разработчики, как думаете, что и о ком я говорю при каждом появлении такой рекомендации?

                  Не буду забирать хлеб у Яндекс разработчиков, пусть они это комментируют. Я бы добавил в настройках возможность отключить эту фичу, но за работу крутых рекомендаций в Я. Музыке, я им многое готов простить.
                    0
                    Кстати да, в яндекс музыке хорошо рекомендации работают, поддерживаю
                      0

                      Тоже поддержу. Причём я не понимаю КАК они работают, по какому принципу они мне предлагают весь этот треш, что сыпется в ежедневную подборку… И ещё больше я не понимаю, ПОЧЕМУ мне нравится этот треш)

                    +1
                    Сдаётся мне что в яндекс навигаторе нет никакой рекомендательной системы в части заправок. Тупо бизнес правило которое всегда показывает рекламу.
                    0
                    где читать, куда смотреть что бы сделать такие рекомендации как в coub, а именно разделы trend / hot
                      0
                      ап
                      0
                      <sarcasm/> тот самый случай, когда неплохой статье можно поставить минус с пунктом «в статье больше рекламы, чем пользы». Для меня пользы нет, хотя и очень интересно, и вся статья — про рекламу.
                        0
                        в нормальных дозах реклама не бесит, даже в какой-то степени полезна, ведь не узнаешь о качественном товаре/услуге/блоке без рекламы, но в последние годы с ней очень заигрались и получается перебор
                          0
                          Про примеры полезной рекламы я читал только в интернете пару раз.
                            0

                            Встречал такое утверждение, что беда нашего общества — что лучшие умы нашего времени заняты исключительно тем, как бы показывать нам побольше рекламы.


                            А еще недавно была статья про то, что сотрудники фейсбука говорят что их рекомендации и таргетирование нифига не работают как надо (несмотря на терабайты приватных данных пользователей). То есть все эти безумные бигдаты и войны с пользователями за право за ними еще чуть-чуть больше подслушивать и подглядывать, ни к чему не приводят, кроме нагрева атмосферы. А реклама как была тупейшей фигней типа "чувак гуглил про диваны — давайте ему пихать рекламу диванов из каждого утюга теперь!", так и осталась.

                            0
                            На компе заблокировать такое не проблема, но вот в телефоне… это невыносимо, когда просто несколько раз сказал рядом с ним «нужно обновить наушники» целый месяц сплывала реклама различных моделей наушников и так каждый раз
                              0
                              но вот в телефоне

                              А чем телефон отличается от компьютера?

                            Only users with full accounts can post comments. Log in, please.