Торговля oneFactor
1 613

Как из нескольких источников больших данных сделать сервис, снижающий инвестиционные риски ритейлеров

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

В закладки
Аудио
МАВТ-Винотека

В 2018 году мы совместно с уральским алкогольным ритейлером МАВТ-Винотека провели пилотный проект по оценке потенциала локаций перед открытием новых торговых точек с использованием больших данных и машинного обучения.

В общей сложности пилотный проект занял 1.5 месяца. В результате нам удалось повысить точность прогнозирования выручки для новой торговой точки в 4 раза (относительно среднего по рынку) и внедрить полученную модель в существующий бизнес-процесс заказчика.

А зачем ритейлерам вообще большие данные?

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

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

Какие факторы учитывать в таком случае и на что обратить внимание в первую очередь? Наш ответ – использовать большие данные и машинное обучение для прогнозирования.

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

Например: X*население в радиусе локации + Y*средний доход населения = ожидаемая выручка.

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

В ходе решения возник ряд вопросов:

- какие факторы необходимо заложить в формулу оценки локации?

- как определить X и Y(«важность» каждого из факторов)?

- как проверить, что формула правильная?

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

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

2. Применить полученные знания на контрольной (для нас это новые точки, выручка по которым неизвестна)

Так мы и действовали.

Какие факторы заложить в формулу оценки локации?

Интуитивно понятно, что на выручку торговой точки влияют следующие факторы:

- численность населения

- доход населения

- конкуренция

- удобство локации

и т. д.

Интуитивно, может, и понятно, но как оценить все эти факторы?

Численность населения

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

«Сырые» гео-данные от мобильных операторов выглядят на карте как квадраты 500x500м, что не очень подходит для оценки конкретной географической точки. К счастью, внутри oneFactor уже 5 лет развивается платформа GeoMind, которая уточняет «сырые» данные от мобильных операторов с точностью до 50 м, что и позволило нам оценить население вокруг каждой локации МАВТ-Винотеки с максимальной точностью.

oneFactor

Кстати, по нашим исследованиям, реальная численность населения Челябинска на 18% ниже данных по результатам переписи.

Доход населения

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

Конкуренция

Данные о расположении конкурентов можно найти в любом открытом источнике, но что конкретно из себя представляет фактор «конкуренция»?

Возможные интерпретации:

- количество конкурентов в разных радиусах;

- расстояние до ближайшего конкурента в метрах;

- суммарный доход населения в радиусе локации, деленный на количество конкурентов (вот оно, преимущество нескольких источников больших данных);

…и еще 20+ различных интерпретаций.

На всякий случай, мы взяли сразу все.

Удобство локации:

Под этим фактором можно подразумевать:

- расстояние до ближайшей транспортной остановки;

- азимут входа в магазин (чтобы оценить «видимость» потенциальной вывески);

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

Правильная интерпретация? Сразу все.

Мы привели только примеры, но далеко не полный список. В конечном итоге, каждая из существующих локаций «МАВТ-Винотека» была описана более чем 200 факторами, причем каждый из них имел разные значения в зависимости от анализируемого месяца, которых было 24.На языке машинного обучения - мы создали «признаковое пространство», которое далее было использовано для оценки важности каждого из факторов и построения формулы зависимости.

Как определить X и Y («важность» каждого из факторов)?

Описать каждую локацию, создав признаковое пространство, это только пол дела. Следующий шаг – оценить степень влияния каждого из признаков на выручку и получить формулу зависимости.

Именно на этом этапе и начинается «машинное обучение»: если в классических исследованиях вес факторов определяется экспертно, то мы использовали искусственный интеллект, который проанализировал влияние каждого из 200+ параметров на выручку существующих точек за период в 24 месяца.

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

oneFactor

Как проверить, что формула правильная?

На данном этапе мы проверяли формулу, которую искусственный интеллект предложил как наиболее подходящую для моделирования выручки торговой сети МАВТ-Винотека.

Задача, которую решала команда oneFactor, носит очень специфичный характер, так как для реального эксперимента необходимо открывать новые торговые точки и ждать, пока они выйдут на «полную мощность» (в среднем 3 месяца), что, мягко говоря, не очень разумно для первичного тестирования модели, даже если ее предложил искусственный интеллект. Поэтому перед началом проекта мы разделили существующие локации в пропорции 80/20:

- 80% локаций использовали для обучения модели.

- 20% оставшихся локаций не показывали искусственному интеллекту и оставили для тестирования.

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

Мы начали переобучать модель, изменяя входящие факторы. Например: население в радиусе 500 метров давало куда меньший прирост точности, чем население в радиусе 300м, но еще больший прирост точности достигается, если использовать не просто численность населения, а именно количество мужчин в возрасте 25-45 с уровнем дохода выше среднего. К этому выводу мы пришли, проанализировав клиентскую базу МАВТ-Винотеки.

Через несколько итераций переобучения мы смогли достичь точность, которой можем гордиться, – на тестовых локациях наша модель ошибалась не более, чем на 10% в 93% случаев (в среднем по рынку показатель не превышает 20-25%). На данном этапе мы ощутили внутреннюю уверенность идти в полевое использование и внедрили полученную модель в существующий бизнес-процесс оценки локаций МАВТ-Винотеки.

Сейчас при продуктивном использовании разработанной модели машинного обучения мы достигаем отклонения до 10% в 82% случаев, в то время как оценка новой локации занимает не более 48 часов (ранее это было 3 недели). В рамках полевого тестирования мы замеряем точность через 3 месяца после открытия, так как первые месяцы локация «раскачивается» и только заявляет о себе окружающему населению.

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

Какие мы сделали выводы?

1. Очень важно работать с заказчиком в атмосфере доверия, это позволяет обмениваться идеями, качественно погрузиться в особенности работы бизнеса и в результате построить точную модель. В случае с МАВТ-Винотекой мы изначально работали в рамках доверительных партнерских отношений и помогали друг другу, за что хотим выразить благодарность от всей компании oneFactor.

2. Из вопроса доверия вытекает другой немаловажный аспект – готовность заказчика делиться историческими данными с целью построения модели машинного обучения. Любой сколь угодно умный искусственный интеллект не сможет хорошо спрогнозировать выручку локаций только на данных о населении, не учитывая особенностей бизнеса. Чем больше данных имеется у клиента и чем они точнее, тем лучше конечный результат. Практически невозможно составить хорошую модель, если использовать данные за 1-3 месяца, так как при этом теряется связь с макроэкономическими показателями. В идеале использовать всю возможную историю продаж, которая есть у заказчика.

oneFactor

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

Автор: Руководитель продуктового направления «Ритейл» oneFactor Евгений Максимча

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "oneFactor", "author_type": "self", "tags": [], "comments": 5, "likes": 16, "favorites": 33, "is_advertisement": false, "subsite_label": "trade", "id": 51930, "is_wide": false, "is_ugc": true, "date": "Tue, 27 Nov 2018 19:04:08 +0300" }
{ "id": 51930, "author_id": 83756, "diff_limit": 1000, "urls": {"diff":"\/comments\/51930\/get","add":"\/comments\/51930\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/51930"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199122, "possessions": [] }

5 комментариев 5 комм.

Популярные

По порядку

0

Класс! :)

Ответить
0

Интересный подход!

Было бы здорово узнать немного более про техническую реализацию.

1) Я так понимаю, выборка существующих магазинов была не очень большой. Как с этим боролись?

2) Точность алгоритма оценивали для конкретного одного разбиения 80/20 или это показатель кросс-валидации?

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

Спасибо!

Ответить
1

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

Ответить
0

А сотрудники МосИгры просто с блокнотиками у нового места потенциального стояли и делали контрольные замеры потока несколько часов в день (утро/день/вечер).

А сколько стоила ваша работа? Какой порядок цифр за подобное исследование?

Ответить
0

Мы рассчитываем стоимость сервиса на основании бизнес-кейса и реального экономического эффекта для заказчика. Напишите, пожалуйста, детали на sales@onefactor.com, ответим и рассчитаем стоимость.

Ответить
0
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Голосовой помощник выкупил
компанию-создателя
Подписаться на push-уведомления
{ "page_type": "default" }