О нейросетях последние года три было написано и сказано немало. Подумав, мы тоже решили рассказать, как мы используем «искусственный разум» в повседневной работе. Тем более что со многими рутинными операциями он справляется значительно лучше людей.



В продажах автомобилей все основные операции традиционно завязаны на людях — эмоциональных и в разной степени надежных. Ежегодно CarPrice проводит до 150 тысяч аукционов, а значит в недрах компании накапливается терабайты статистики по каждой модели авто, от ее реального состояния и до динамики цены в зависимости от места продажи и времени суток. Можно ли, анализируя массивы информации увеличивать конверсию в продажу? Можно и нужно!

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

Итак, ниже мы расскажем о нескольких инструментах, созданных на основе нейросетей, которые позволяют нам повышать эффективность работы. Все они работают постоянно, в онлайн-режиме.

Смарт-маржа


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

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

Вы можете сказать, что-то в духе «просто сделайте маржу минимальной, тогда продажи вырастут» и… ошибетесь. Есть автомобили, владельцы которых не продадут свою машину, даже если мы доплатим. Есть машины, владельцы которых вообще не чувствительны к цене — им куда важнее сервис и безопасность сделки. Поэтому просто снижение маржи в большинстве случаев означает, что мы недополучим выручку. Повторюсь, основная задача этого инструмента — создать условия, чтобы автомобиль был продан. Если, допустим, при снижении маржи на какое-то количество процентов вероятность продажи машины увеличивается в 2-3 раза, значит мы это сделаем. В итоге за счет резкого роста конверсии в продажи увеличиваются доходы компании.

Вот немного статистики. Перед внедрением мы проводили A/B-тестирование. Ниже представлен примерный график маржинальности. Черная линия — тестовая группа, со смарт-маржой. Зеленая — контрольная группа, без смарт-маржи. Видно, что по рекомендациям нейросети маржинальность ниже.



А это график состояния выкупленных машин, которое у нас отражается в «звездах». Оказывается, при правильном учете всех факторов нейросетью мы выкупаем больше хороших машин, чем без нейросети. Лучше машина — меньше рекламаций.



График конверсии. У тестовой группы со смарт-маржой она выше:



Выше и средняя цена приобретенной машины. То есть выше и объем выручки аукциона:



И наконец, сравним среднюю доходность по группам в целом. С применением смарт-маржи она оказывается на несколько десятков процентов выше просто потому, что растет конверсия. За счет «умного» снижения маржи на определенные автомобили мы получаем более высокую конверсию в продажу, что, конечно же, резко увеличивает доходы компании.

Ошибается ли нейросеть в определении оптимальной маржи? Сегодня почти нет, а вот на стадии тестирования ошибки вылезали постоянно.

Что «под капотом» у смарт-маржи

При разработке модели смарт-маржи используется алгоритм машинного обучения MultiLayer Feedforward Perceptron. Нейросеть, полученная в результате применения этого алгоритма, в нашем случае выглядит следующим образом:



X1, X2,…,Xn  - это набор входных данных, который нам известен:

1) о клиенте:

  • пол;
  • возраст;
  • маркетинговый канал, откуда пришел клиент на сайт CarPrice (Offline, Calls, CPA, Context и пр.);
  • из какого района города приехал клиент.

2) его машине:

  • марка;
  • модель;
  • год выпуска;
  • модификация;
  • пробег;
  • состояние авто (кузов, салон, техника).

3) о точке продаж CarPrice, куда приехал клиент:

  • профессиональный опыт сотрудника CarPrice, который работает с клиентом;
  • общие показатели точки продаж CarPrice, куда приехал клиент.

4) о цене, которую на аукционе дают дилеры за данную машину.

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

На выходе (outputs) нейросеть выдает вероятность согласия клиента продать нам свое авто. В итоге задача сводится к максимизации критерия ожидаемой абсолютной маржи:

<dealer price>*<margin>*<purchase probability> 


  • dealer price — максимальная цена, которую дают за авто на аукционе дилеры
  • margin — процент маржи, зарабатываемый CarPrice
  • purchase probability — вероятность согласия клиента продать своё авто

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


Смарт-совместимость


Предположим, мы взяли на работу инспектора по осмотру машин. Он отработал несколько месяцев и провел несколько сотен аукционов. Нейросеть анализирует результаты его работы и выясняет, с каким типом авто или клиентов он работает лучше. Например, один прекрасно выкупает машины у девушек с айфонами. А другой прекрасно справляется с модельным рядом Volkswagen. Кто-то спец по «японцам», а кто-то отлично выкупает все подряд, но лишь в понедельник или пятницу.

За такими закономерностями следит нейросеть. Бюджетные авто или дорогие, «немцы» или «корейцы» — кто бы ни к нам ни приехал, система знает, какой сотрудник обеспечит наилучшую конверсию. Записавшись на сайте и оставив данные об автомобиле, нейросеть назначает сотрудника, который справится лучше любого другого. Как и в первом случае, учитывается масса параметров, включая модель телефона клиента (если запись была через мобильную версию сайта).

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

Что «под капотом» у смарт-совместимости
В процессе анализа данных нам удалось выявить различия в навыках менеджеров при выкупе машин.  Этот инсайт лёг в основу нейросети, которая использует следующий набор входных параметров:
  • конверсия менеджера в разрезе ценовых диапазонов авто
  • конверсия менеджера в разрезе цены – года выпуска авто
  • конверсия менеджера в разрезе марок – моделей авто
  • конверсия менеджера в разрезе пола/возраста клиента
  • конверсия менеджера за последние 7 дней
  • конверсия менеджера в разрезе маркетинговых каналов, откуда пришел клиент

На выходе нейросети считается вероятность выкупа машины. Оптимизируемым критерием здесь является:

<Probability to purchase> 

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

Смарт-слотирование


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

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

Здесь важно также учитывать, что не каждый клиент в итоге приедет к нам в офис. Мы, например, удивляемся тому, что женщины приезжают в два раза обязательней, чем мужчины. А люди с айфонами доезжают до CarPrice на 30% лучше, чем люди с телефонами на Android. Мы учитываем это и многое другое, когда даем клиенту возможность выбрать лучшее время.

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



А это конверсия приезда в выкуп. Видно, что объем «зеленых» машин также растет.



Наш заработок в точках со смарт-слотами сейчас на 27% выше чем в точках без них. И опять-таки, без каких-либо затрат. Если не считать затраты на алгоритмистику и программирование, конечно же.

Что «под капотом» у смарт-слотирования
Базовым алгоритмом нейросети здесь является тот же MLP, входными параметрами для которого являются:

  • марка/модель/год выпуска авто
  • маркетинговый канал, с которого зашёл клиент на сайт CarPrice
  • модель устройства, используемое клиентом для оценки авто на сайте
  • день недели/часы суток когда клиент зашел на сайт

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

В зависимости от рассчитанной величины вероятности выкупа и ожидаемой маржи, которую заработает компания, клиенты разделяются на 3 группы по ценности. Критерий разделения на группы выглядит следующим образом:

<ProbabilityAppointment To Purchase>*<Expected Margin>

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

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

cr_apcon2m_source_chan <= 0.5672744316784764 AND cr_apcon2m_weekday_conf > 0.5210736783538652 AND cr_apcon2m_hour_conf > 0.5068323664539807 AND cr_apcon2m_source_chan > 0.4755808440018966 AND cr_apcon2m_brand_model > 0.037602487984167376 AND cr_apcon2m_brand_model <= 0.1464285714285714 AND cr_apcon2m_hour_conf > 0.14705882352941177


Здесь переменные cr_ — конверсии по параметрам клиента. Например  cr_apcon2m_source_chan — это средняя конверсия клиентов, пришедших с того же маркетингового канала. При выполнении условий выше расчётная вероятность приезда клиента равна 0.14.

Смарт-лента


Каждый дилер, который покупает у нас автомобили, имеет определенные предпочтения. Кто-то любит дорогие модели, кто-то покупает только «логаны» и «солярисы»… Дилеры просматривают множество автомобилей, и если учитывать их покупательские предпочтения при формировании ленты аукционов, можно резко увеличить конверсию. Вроде бы очевидно? Однако все чуть сложнее.

Предпочтения дилеров непостоянны. Меняется бизнес и предпочтения клиентов, поэтому они могут переходить из одного сегмента в другой. Нейросеть по кликам, транзакциям и сделкам определяет это и перенастраивает ленту автомобилей. Допустим, весь декабрь дилер Иванов из Вологды покупал «фокусы» за 300-500 тыс. руб. Но вдруг с января он стал покупать дорогие внедорожники ценой от полутора до двух миллионов. Лента тут же перестроится, предлагая ему максимально релевантные авто. Кроме того, система сама отправляет ему уведомления, чутко реагируя на реакцию.

Ниже несколько типичных профилей дилеров. Те, кто покупает дешевые машины, как-правило, никогда не покупают дорогие авто. Зачем тогда им их показывать?



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

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

Что в итоге?


Разумеется, мы разрабатываем и другие нейроинструменты, часть из которых сегодня находится в состоянии, близком к внедрению. Почему это так важно? Во-первых, нейросеть позволяет нам зарабатывать больше на существующем потоке клиентов. То есть для того, чтобы увеличить выручку, не нужно увеличивать расходы на маркетинг. Во-вторых, нейросеть обеспечивает больше довольных клиентов — чем больше людей продали машины через CarPrice, тем выше NPS. А в долгосрочной перспективе это, пожалуй, намного важнее выручки.
 
Для тех, кто предпочитает видеоформат, предлагаем выступление Дениса Долматова, генерального директора CarPrice, посвященное нашим нейросетям.

И напоследок о вакансиях. Сейчас мы ищем в Москве DevOps/Linux администратора в команду автомобильного аукциона, а также senior PHP-разработчика в команду внутренних сервисов. Будем рады вашим резюме.
 

Комментарии (22)


  1. klimentRu
    29.01.2019 12:10

    Потому-что это модно?


    1. Kostya_Klyuch Автор
      29.01.2019 13:36
      -1

      Потому что это обеспечивает рост прибыли компании


  1. roryorangepants
    29.01.2019 12:37

    Обычно когда я читаю фразу в духе «более хитрая нейросеть» в статье, где нет ни слова про технические детали, алгоритмы и архитектуры, мой мозг это автоматически трансформирует в фразу «градиентный бустинг».


    1. Kostya_Klyuch Автор
      29.01.2019 13:37

      При построении предсказательных моделей мы используем нейросеть, алгоритм MultiLayer Perceptron


    1. Ermit
      29.01.2019 18:21

      А что с градиентным бустингом не так?


      1. Kostya_Klyuch Автор
        30.01.2019 10:58

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


  1. rinaty
    29.01.2019 12:50

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


    А в этой статье идет речь про какую-то маржу, что не связывается с озвученной концепцией. Вы модель бизнеса поменяли или ...?


    1. rinaty
      29.01.2019 13:27

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


      1. Kostya_Klyuch Автор
        29.01.2019 13:40

        Да, всё верно. Есть клиенты, которые готовы продать свою машину ниже средней цены по рынку. Например, в случае непопулярной (неликвидной) марки-модели. В этом случае нейросеть увеличивает маржу.


    1. roman_carman
      29.01.2019 17:56

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


  1. AlexTOPMAN
    29.01.2019 12:52

    Цитаты:
    1. «Смарт-маржа настроена так, чтобы создать условия, при которых вероятность продажи машины была бы максимальной.»
    2. «Если, допустим, при снижении маржи на какое-то количество процентов вероятность продажи машины увеличивается в 2-3 раза, значит мы это сделаем»
    Я что-то не понимаю в продажах? Или цель — максимально «окучить» занимаемую нишу (за счёт дикого объёма продаж) и потом, когда она насытится — хоть «трава не расти»? Т.е. даже не пытаясь торговаться с покупающим клиентом, предложив ему изначально «потолок его возможности и желания потратить на покупку» вместо «потолка разумной стоимости автомобиля», ниже которого, понятно, торговаться продавцу невыгодно. Это же стратегия для предельно конкурентного рынка. но, он не всегда (не всё время) такой, даже если так кажется и даже по исследованиям. Фокус же всех продаж — чтобы клиент купил самое дешёвое на рынке у тебя, но заплатив подороже. Где указанный в публикации ИИ преследует именно эту цель? Изначально речь идёт о продажах, а к концу всё скатывается к тому, что здесь описан только «сервис по смарт-покупке автомобилей дилером», но никак не далее про продажи (смарт-продажи) закупленных автомобилей. Моё мнение: объём продаж в перспективе должен превалировать над объёмом закупок. Поправьте меня, если я не прав.


    1. roman_carman
      29.01.2019 18:01

      На дворе 2019, никто не будет работать себе в убыток долгие годы, чтобы просто «окучить» поляну, которую довольно сложно окучить. В прошлом году было продано 5,4 млн подержанных машин. Все официальные продавцы (автодилеры, салоны, КарПрайс...) занимают процентов 7 от этого объема. Остальное продается из рук в руки. Прикиньте, сколько лет вы будете «окучивать» эту поляну себе в убыток, чтобы взять там значимую долю? Поэтому КарПрайс и пытается нащупать решение, когда и доля растет, и экономика от этого роста не страдает.


  1. Igor_Shumilov
    29.01.2019 14:36
    +1

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

    Если же на слот, занятый не слишком ликвидным авто, появляется ликвидный конкурент, то ресурсами call-центра мы переносим первое авто на менее популярные часы.
    Как-то это некрасиво по отношению к клиенту.
    Сеть может просчитать возвращаемость клиентов? Есть у меня сейчас неликвидная машина и меня засунули в какие-то неудобные мне условия. И больше я к вам не приду. Даже если моя новая, как и следующие десять моих новых машин, будут ликвидными.
    Равно как и клиент, который продал одну ликвидную машину, ему сервис понравился, но вот со следующей своей неликвидной машиной его тоже прогнали по неудобному сценарию. И даже если третья машина его будет ликвидной вряд ли он вернётся туда, где к нему такое потребительское отношение. «Женщину вынули, автомат засунули» (с) Кин-дза-дза
    Но текущие показатели красивые, тут не поспоришь.


    1. roman_carman
      29.01.2019 18:04

      В банках или мобильных операторах, например, есть приоритетное обслуживание высокодоходных клиентов. Справедливо это? С позиции бизнеса — да.


      1. Igor_Shumilov
        29.01.2019 18:14

        В банках есть чёткие критерии таких клиентов — количество денег на счету. И когда я сижу в обычной очереди, а приехавший на Майбахе дядя без очереди проходит в комнату для VIP клиентов у меня не возникает вопросов «Почему?». Потому что ситуация очевидна для меня.
        Когда я приеду на своём Infinity Q50 (стоимостью около 2х миллионов) и увижу, что ко мне относятся хуже, чем к тому, кто приехал на Mazda CX-5 (стоимостью около полутора миллионов), у меня возникнут вопросы. Большая ликвидность Мазды не очевидна для простого водителя.


        1. roman_carman
          29.01.2019 18:18

          «И когда я сижу в обычной очереди, а приехавший на Майбахе дядя без очереди проходит в комнату для VIP клиентов» — Вы не поняли :) Речь о ликвидности, а не о стоимости машины. Условно, по статистике, 100 человек приезжали на черном форде фокусе 2005 года и из них 95 чел машину продали. Значит лучший слот будет отдан под такую машину, потому что вероятность ее продажи выше. То есть, выше вероятность, что компания на сделке заработает. Цена машины тут вообще не при чем


          1. Igor_Shumilov
            29.01.2019 18:23

            Я понял, что речь о ликвидности. Но это весьма не очевидный критерий для обычного человека (который не занимается продажей машин с пробегом регулярно и не знает, что такое «ликвидность автомобиля»).


          1. roman_carman
            29.01.2019 18:24

            Вдогонку, отношение ко всем одинаковое, но, согласитесь, вероятность сделки разная. Про ликвидность, чтобы было понятно, вот тут можно посмотреть: iz.ru/825384/2018-12-19/sostavlen-reiting-samykh-prostykh-dlia-pereprodazhi-avtomobilei


  1. mark_ablov
    30.01.2019 08:42

    Занятно. Тоже сейчас планируем использовать ML для похожей цели — оценка стоимости машин. Правда пока нет своего осмотра (рынок не российский, вполне можно верить продавцам).

    Поэтому набор входных параметров куда более скуден для значительной части машин — год, модель, пробег + вторичные характеристики (цвет, трансмиссия, кузов, ...) и месторасположение клиента. Однако для части машин (~40k) есть много данных по состоянию.

    Вопрос по существу — есть ли какой-то анализ использования вашей смарт-ленты? У нас для этих целей используется простой сохраняемый фильтр по марке/пробегу/стоимости. По внутренним отзывам дилеров это хватает.


    1. Kostya_Klyuch Автор
      30.01.2019 12:11
      +1

      Даже из того набора параметров, что Вы перечислили можно построить достаточно точную модель оценки стоимости авто. Нюанс здесь больше в способе формирования датасета для обучения модели. По поводу смарт-ленты. Мы проводили А/Б тест, в результате которого средняя маржа с одного дилера была стабильно выше в тестовой группе.


      1. mark_ablov
        30.01.2019 13:08

        Спасибо за ответ. Буду играться с набором данных.


  1. Murat1992
    30.01.2019 13:22

    — Почему работой CarPrice управляет искусственный интеллект?
    — Машинами могут управлять только машины.