Posts Tagged ‘Data Mining’

DataMining в SAP: используем деревья решений

Среда, Декабрь 29th, 2010

Ржаксинский Андрей

Более актуальная версия данного материала опубликована на портале SAPLands.

Данная заметка расскажет о возможностях SAP для анализа данных на примере построения модели дерева решений. Функционал встроен в платформу SAP Netweaver и по умолчанию присутствует во всех системах.

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

Извлечем информацию из исходного набора данных о том, как прогнозное поле зависит от значения исходных показателей, найдем закономерности в данных и опишем их словами.  Для этого используем модель деревьев решений – это один из алгоритмов Data Mining’а (“добыча знаний”).  Это позволит кластерировать исходные данные и выделить сегменты потребителей, наиболее чувствительные к влиянию рекламы. На основании полученных данных можно будет снизить издержки маркетинговых компаний, сконцентрировав усилия на донесении информации конкретным группам потенциальных клиентов.

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

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

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

Но если всё продумано и сделано хорошо, то Компания/Банк получает следующие преимущества:
– увеличение прибыльности бизнеса;
– увеличение соотношения числа продаж к числу контактов с клиентами;
– увеличения числа повторных продаж продуктов существующим клиентам, кросспродажи, пакетные услуги;
– увеличение лояльности клиентов и формирование нерыночных каналов продаж через “соседка сказала соседке”;
– уменьшение расходов на рекламные компании через повышение эффективности компаний;
– снижение маркетинговых затрат путем использования новых каналов продаж, оптимизации существующих;
– он-лайн контроль эффективности рекламных компаний, поиск наиболее эффективных маркетинговых программ, коррекция компаний;
– снижение расходов благодаря отказу в продаже заведомо “провальных” продуктов заведомо нелояльным категориям клиентов, возможно отказ от таких клиентов;
– снижение оттока клиентов.

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

В качестве исходных данных взят файл, поставляемый в папке с примерами к среде анализа данных SPSS Clementine 12.0. Это результаты некоего виртуально исследования и содержит 482 факта. Немного, но достаточно, чтобы продемонстрировать возможность извлечения знаний.

Исходный файл содержит такие поля:
EDUCATE – число лет образования;
GENDER – пол;
AGE – возраст;
TVDAY – среднее число часов просмотра TV в день;
ORGS – кодированная принадлежность к какой-либо организации;
CHILDS – количество  детей;
INC – еще какой-то признак, возможно принадлежность к бизнесу;

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

Вот пример исходных данных:

http://sapbanking.org/files/01-002.png

Загрузим эти данные в аналогичный по структуре DSO:

http://sapbanking.org/files/01-002.png

И построим модель процесса обучения на основе дерева принятия решений:

http://sapbanking.org/files/01-002.png

В качестве источника данных процесса используется наш DSO. В качестве цели – узел с типом “ДеревоПринРешений”.

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

http://sapbanking.org/files/01-002.png

Для непрерывных величин установим диапазоны значений по группам. На примере ниже возраст делим на группу 16-22 года – “студенты”, 23-30 – “молодежь”, 31-40 – “продуктивное время” и т.д.  Эти диапазоны будут использоваться как дискретные величины при построении дерева решений.

http://sapbanking.org/files/01-002.png

Зададим параметры построение дерева:

http://sapbanking.org/files/01-002.png

И визуализируем полученную модель:

http://sapbanking.org/files/01-002.png
Видно, что модель из всего пула начальных величин выделила 2 признака – возраст и принадлежность к организации. Соответственно модель содержит 2 уровня нижестоящих узлов.

Попробуем сделать тестовый прогон примера. Для возраста 52 года и принадлежности к организациям 0 выполним расчет:

http://sapbanking.org/files/01-002.png

Мы попали в узел дерева, который утверждает, что шанс подпасть под действие новостей/рекламы у анализируемого человека 62%.

Поиск в самом дереве показывает, что мы попали в такой узел:

http://sapbanking.org/files/01-002.png

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

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

http://sapbanking.org/files/01-002.png

Создадим функциональный модуль, который 1) запишет запись во входную таблицу; 2) сделает прогонку модели (существует специальный программный модуль RSAN_PROCESS_EXECUTE в стандарте ); 3) считает данные из целевой структуры.

http://sapbanking.org/files/01-002.png

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

В итоге мы получили простые правила анализа клиентов, которые можно описать простыми словами.  К примеру, продукт “Депозит К пенсии” предлагать мужчинам от 50 лет, которые имеют прописку в Московском регионе и заняты на государственной службе – вероятность успешной продажи 72%. Это удешевляет продажи существующих продуктов и облегчает запуск новых. Клиент ощущает меньше негатива, когда ему предлагают продукт, явно вне пределов его финансовых возможностей.

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

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

Необходимо поэтапно улучшать качество клиентских данных и совершенствовать модели. Хотя некоторые проекты погрязают в попытке загрузить в хранилище ВСЕ данные в идеальном качестве и до конечного результата просто руки не доходят.

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