Содержание


Сегментационный анализ клиентов в IBM SPSS

Использование IBM PureData System for Analytics, DB2 для LUW и SPSS Modeler

Используйте приведенные в статье действия и пример программного кода, чтобы научиться разделять клиентов на категории на основе общих характеристик. Используйте IBM SPSS, PureData System for Analytics на базе Netezza и DB2 для LUW максимально эффективно.

Процесс сегментации клиентов включает следующие задачи:

Предварительные требования

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

Чтобы загрузить пример данных на свою систему:

  1. Извлеките содержимое архива Customer Segmentation.zip на диск C. Проверьте наличие в каталоге следующих файлов:
    • CUSTOMER - Set2.CSV
    • CUSTOMER.CSV
    • Customer_Segmentation.cpj
    • Data_Preparation_Customer_Segmentation.str
    • Data_Understanding_Customer_Segmentation.str
    • Deployment_Customer Segmentation.str
    • Modeling_Customer_Segmentation.str
  2. Создайте запись ODBC DSN (data source name) для базы данных DB2.
  3. Создайте запись ODBC DSN для базы данных Netezza.

Понимание потребностей бизнеса

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

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

Определение значимых данных

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

В этой статье объясняется, как использовать для сегментационного анализа данные из двух источников — таблица базы данных в DB2 и текстовой файл.

Получение информации из базы данных

Для чтения информации из базы данных необходимо сначала установить ODBC-соединение. Из узла базы данных такие ODBC-соединения можно использовать для получения доступа к базе данных.

Рисунок 1. Получение информации из базы данных
Image shows type data for customers in Customer_SPSS
Image shows type data for customers in Customer_SPSS

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

Рисунок 2. Девять полей из узла аудита данных
Image shows fields with customer ID, age, income, etc.
Image shows fields with customer ID, age, income, etc.

Получение данных из текстового файла

Для чтения данных из текстового файла можно использовать доступные в SPSS узлы fixed file/variable file (фиксированный файл/файл переменных).

Рисунок 3. Чтение данных из текстового файла
Image shows customer-Set2.csv >                     Type 2 > Statistics
Image shows customer-Set2.csv > Type 2 > Statistics

Узел Statistics (Статистика), выделенный красным цветом, позволяет получить показанную ниже сводную статистику для конкретных полей и корреляций между полями.

Рисунок 4. Сводная статистика для конкретных полей и корреляций
Image shows table with counts                     for every statistic

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

Сбор и интеграция данных

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

  • Объединение данных из разнородных источников.
  • Выбор поднабора данных на базе установленного сценария.
  • Извлечение или модификация данных.
  • Удаление столбцов, которые не требуются для дальнейшего анализа.

На рисунке 5 показано графическое представление действий на этапе подготовки данных.

Рисунок 5. Действия по подготовке данных
Image shows data is                     integrated and prepared
Image shows data is integrated and prepared

Данные о клиентах хранятся в таблице DB2 и в текстовом файле. Для тестирования сценария используйте базу данных SAMPLE в DB2. (Можно использовать и другую базу данных.)

Если база данных SAMPLE не создана в ходе установки DB2, выполните следующую команду для ее создания:

CREATE DATABASE SAMPLE;

Создайте таблицу с использованием следующего кода:

CREATE TABLE CUSTOMER_SPSS ( CUSTOMERID  INTEGER NOT NULL, AGE INTEGER, EDUCATION
VARCHAR(50), YEARSEMPLOYED INTEGER,INCOME INTEGER, CARDDEBT DECIMAL, OTHERDEBT
DECIMAL, DEFAULTED INTEGER, ADDRESS VARCHAR(50), CONSTRAINT PK_CUST PRIMARY KEY
(CUSTOMERID));

Файл CUSTOMER.CSV содержит данные, которые необходимо загрузить в таблицу DB2. Загрузите данные из CSV-файла в таблицу DB2 с использованием оператора LOAD.

LOAD FROM CUSTOMER.CSV OF DEL INSERT INTO CUSTOMER_SPSS;

Файл CUSTOMER - Set2.CSV является дополнительным источником данных для сегментационного анализа. Данные, хранимые в таблице DB2 и файле CSV, интегрируются и анализируются в SPSS Modeler для создания единого предоставления сегментации клиентов.

Демографические характеристики и информация о платежах клиентов сохраняются в IBM Netezza Data Warehouse. Для получения доступа к этой информации используйте таблицу CUSTOMER_DATA в базе данных Netezza. Для создания таблицы используйте следующий SQL-оператор:

CREATE TABLE CUSTOMER_DATA ( CUSTOMERID  INTEGER NOT NULL, AGE INTEGER, EDUCATION
VARCHAR(50), YEARSEMPLOYED INTEGER,INCOME INTEGER, CARDDEBT DECIMAL, OTHERDEBT
DECIMAL, DEFAULTED INTEGER, ADDRESS VARCHAR(50), ACTIVE_STATUS VARCHAR(1),
LAST_UPDATE_DT TIMESTAMP);

Разработка модели сегментации клиентов

На предыдущем этапе данные из таблицы DB2 и CSV-файла были объединены и проанализированы в SPSS Modeler. Следующим этапом является разработка предиктивной модели в SPSS Modeler для определения корректной сегментации.

Используйте в этой модели узел TwoStep Cluster (Двухэтапная кластеризация), обеспечивающий один из видов кластерного анализа. Он может использоваться для разделения набора данных на отдельные группы, если вы не знаете, как эти данные можно сгруппировать, в особенности в начале исследования. Все предикторы в узле TYPE указаны как Input (Вход), а поля назначения нет. На рисунке 6 показаны модели TwoStep Cluster, которые не используют поля назначения.

Рисунок 6. Модели TwoStep Cluster без поля назначения
Image shows two-step                     segmentation
Image shows two-step segmentation

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

Рисунок 7. TwoStep Cluster раскрывает закономерности
Image shows pie                     charts with distribution across clusters
Image shows pie charts with distribution across clusters

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

Развертывание и использование результата моделирования

Смоделированный результат сегментационного анализа переклассифицируется с использованием соответствующих имен кластеров и сохраняется в таблице хранилища данных в Netezza.

Рисунок 8. Данные, хранимые в Netezza
Image shows loading clusters in Netezza data warehouse
Image shows loading clusters in Netezza data warehouse

Такая сегментация, определенная как результат прогнозирования, хранится в таблицах Netezza. Эти таблицы можно использовать в инструментах формирования отчетов, таких как Cognos® Report Studio. На рисунке 9 показан пример результата, полученного из SPSS Modeler и хранимого в таблице Netezza.

Рисунок 9. Пример результата, опубликованного в хранилище данных Netezza
Image shows segment for each                     customer ID
Image shows segment for each customer ID

К итоговому результату, хранимому в базе данных Netezza, можно выполнять запросы и извлекать данные с использованием следующего SQL-кода.

SELECT SEGMENT, COUNT(*) NUM_OF_CUSTOMERS FROM CUSTOMER_SEGMENT GROUP BY SEGMENT;

На следующем снимке экрана показан результат выполнения этой команды.

Рисунок 10. Результат выполнения SQL-оператора SELECT
Image shows customers sorted by age, affluence, education
Image shows customers sorted by age, affluence, education

Непрерывная оценка методов анализа данных

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


Ресурсы для скачивания


Похожие темы

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Большие данные и аналитика
ArticleID=1007729
ArticleTitle=Сегментационный анализ клиентов в IBM SPSS
publish-date=06042015