Введение
Как платформа, обслуживающая дилеров, работающих в автомобильной промышленности, CARS стремится предоставить надежные инструменты, которые помогают дилерам более эффективно и действенно привлекать потенциальных покупателей. Для этого важно понимать дилеров, которых мы обслуживаем, независимо от того, относится ли это понимание к их индивидуальному представительству или их конкуренции.
Тем не менее, эта задача усложняется, когда мы обслуживаем более 19 000 дилеров, вносящих вклад в почти 2 миллиона списков, к которым ежемесячно обращаются более 25 миллионов онлайн-покупателей. Чтобы решить эту проблему, команда CARS по обработке и анализу данных разработала Модель интеграции и конкуренции дилеров. Эта модель создает универсальное представление объекта дилера в виде вложения и использует эти вложения для определения других ведущих конкурентов для дилеров.
Встраивания дилеров
встраивание можно просто рассматривать как список чисел, отражающих характеристики сущности, которую они должны представлять. Для представления сущности дилера вложения могут быть списком чисел, который фиксирует как атрибуты запасов, характерные для дилера, так и атрибуты покупательского спроса, характерные для местоположения дилера.
Атрибуты запасов, представленные встраиванием дилера, включают в себя такие характеристики, как перечисленные марки автомобилей, показатели цены и пробега, связанные с перечисленными транспортными средствами, а также то, как перечисленные транспортные средства сравниваются с ожиданиями местного рынка, как определено Модель ценового значка CARS. Чтобы обеспечить компактное представление атрибутов запасов во внедрении дилера, необработанные числовые значения, представляющие характеристики запасов, кодируются с использованием анализа основных компонентов (PCA).
Атрибуты покупательского спроса, представленные встраиванием дилера, включают характеристики трафика посетителей, разделяемого между дилерами. Эти атрибуты компактно представлены путем построения дилерской сети с использованием библиотеки NetworkX и кодирования топологии этого графа с использованием модифицированной реализации алгоритма Node2Vec, которая открыта. источник и разработан в рамках Стэнфордского проекта сетевого анализа (SNAP).
На рисунке ниже показан пример сгенерированной дилерской сети. Узлы представляют дилеров, цвет узла представляет количество соседей, которые имеет этот узел — более яркие узлы имеют больше соединений, а близость между узлами основана на общих характеристиках трафика посетителей.
На рисунке ниже показана частота подсчета соседей по всем узлам; у большинства дилеров менее 100 соседей, которые имеют одинаковые характеристики трафика посетителей.
Node2Vec
Алгоритм Node2Vec рассматривает граф как корпус: узлы — это слова, а все остальные узлы, к которым можно получить доступ через обход ребер из заданного начального узла, — это документы. Затем Node2Vec может представить каждый узел как набор предложений через набор случайных блужданий. Каждое случайное блуждание в наборе начинается с начального узла, а затем вероятностно проходит ребра к соседним узлам; каждый посещенный узел в обходе является словом в предложении.
Вероятности шагов Node2Vec основаны как на связности узлов, так и на весе ребер между узлами. Существуют два параметра, взвешивающие эти вероятности шагов: один будет отдавать приоритет структурной эквивалентности между дилерами во вложении, а другой будет отдавать приоритет гомофилии между дилерами во вложении. Гомофилия имеет приоритет, поскольку цель представления общего трафика посетителей между дилерами будет основываться на близости между дилерами.
Используя это представление, Node2Vec применяет алгоритм Word2Vec под капотом для создания компонента встраивания дилера, представляющего атрибуты покупательского спроса дилера. Более техническое введение в алгоритм Node2Vec представлено в оригинальной статье SNAP; открытый исходный код предоставляется в следующем репозитории GitHub.
Конкуренты-дилеры
Вложения дилеров, используемые для представления объектов дилеров, строятся с использованием комбинации PCA для кодирования атрибутов запасов дилера и Node2Vec для кодирования атрибутов покупательского спроса. Эти встраивания позволяют определить основных конкурентов для дилера, независимо от того, основана ли конкуренция на общем трафике посетителей или сходстве инвентаря.
На рисунке ниже показано представление T-SNE компонента конкуренции вложения, уменьшенное до двух измерений. Очевидно, что вышеупомянутый подход к построению вложений успешно справляется с конкуренцией в сообществах дилеров.
Когда конкуренция между дилерами основана на общем трафике посетителей, все конкуренты дилера определяются и ранжируются путем сравнения встраивания целевого дилера с вложениями всех конкурентов-кандидатов. Кандидаты-конкуренты — это другие дилеры в сообществе целевого дилера, которые находятся в пределах установленного порога максимального расстояния; порог, оптимизирующий выбор кандидатов. По мере того, как рейтинг конкурента дилера приближается к 1, этот дилер собирает трафик посетителей, разделенный с этим конкурентом.
Предполагается, что конкуренты, вероятно, будут находиться в пределах географической близости от целевого дилера, поэтому также ожидается, что по мере того, как рейтинг конкурента дилера приближается к 1, этот конкурент будет ближе к географическому положению этого дилера. На рисунке ниже показано, что это предположение верно. Конкурент дилера с рангом 1 находится примерно в 12 милях от него. По мере того, как рейтинг конкурента увеличивается, увеличивается и расстояние между дилером и этим конкурентом; расстояние вычисляется по формуле гаверсинуса.
Оценка модели
Оценка вложений в этом случае не является простой задачей. Во-первых, не существует масштабируемого подхода к созданию золотого набора данных о конкурентах-дилерах. Во-вторых, встраивания обычно полезны в последующих задачах, связанных с другими моделями машинного обучения, которые не могут быть зафиксированы какой-либо одной метрикой. Чтобы получить четкое представление о том, как работает модель, аппроксимируется основная правда конкурентов-дилеров, а затем используется для расчета отзыва, точности, оценки f1 и расстояния Жаккара.
Набор реальных конкурентов для каждого дилера включает в себя всех других дилеров, разделяющих трафик посетителей с целевым дилером, а набор прогнозируемых конкурентов определяется с помощью вложений дилеров, выводимых моделью. В приведенной ниже таблице представлены несколько статистических данных по каждому показателю оценки при рассмотрении пятидесяти лучших конкурентов.
В среднем более половины конкурентов, определенных с помощью модели, делят трафик посетителей с целевым дилером; они конкуренты первой степени. Конкуренты, выявленные моделью и не разделяющие трафик посетителей с целевым дилером, являются конкурентами второй или третьей степени; они могут не конкурировать с целевым дилером сейчас, но потенциально могут стать конкурентом в будущем.
Развертывание модели
Группа специалистов по данным CARS использует нашу технологию с открытым исходным кодом под названием Skelebot для автоматизации создания образов Docker, инкапсулирующих среды моделей и выполнение заданий; исходный код и документация доступны через GitHub. Мы также используем cars-forge для управления затратами, связанными с нашими работами по машинному обучению.
Эти сгенерированные образы Docker развертываются в AWS ECR с помощью Jenkins Pipelines, а результаты производственных моделей сохраняются в AWS S3 и запрос с помощью AWS RedShift. Результаты доступны на информационной панели, построенной с использованием библиотеки Dash; панель инструментов включает в себя как обнаружение аномалий, так и объяснимость результатов модели.
Панели производительности моделей жизненно важны для нас в CARS, поскольку они помогают инициировать необходимые протоколы, чтобы гарантировать, что наши модели поддерживают наилучшую возможную производительность, и в то же время обеспечивают интерпретируемость наших моделей как для внутренних, так и для внешних заинтересованных сторон.
Заключение
CARS стремится предоставить оптимальную ценность для дилеров, независимо от того, исходит ли эта ценность от инструментов, используемых для увеличения трафика посетителей, или инструментов, используемых для помощи нашим внутренним командам в предоставлении действенной информации и помощи дилерам. Внедрение дилера и модель конкуренции представляет эффективный и действенный подход к пониманию ценности, предоставляемой любому дилеру, путем сравнения дилера с его конкурентами, определенными с помощью модели.
Команды по продажам, продуктам и данным теперь могут визуализировать различные показатели, такие как конверсия и лиды для дилера по сравнению с его конкурентами, что в конечном итоге помогает дилерам лучше разрабатывать стратегию. CARS также планирует использовать эти вложения для разработки и оценки других систем машинного обучения, таких как поиск и отток дилеров.
Мы продолжим улучшать встраивание дилеров и модель конкуренции, ища способы повысить производительность модели. Например, одной из возможностей может быть использование нашей недавно выпущенной модели Сигналы доверия дилеров, обученной с использованием преобразователей HuggingFace. Эту информацию можно использовать для выявления продавцов, у которых в объявлениях указаны неоднозначные цены.
CARS активно ищет новые таланты, чтобы помочь развитию команды обработки данных. Если вы или кто-то из ваших знакомых заинтересован в работе над аналогичными проектами в CARS, перейдите на нашу страницу Карьера и просмотрите текущие вакансии!