SSAS - анализ кросс-продаж

OLAP, SSAS  SSAS Категория:  OLAP, SSAS
Опубликовал:         03.04.2013               print

Сейчас мы живем во времена маркетинга и продаж. Методы и технологии продаж постоянно совершенствуются, и, пожалуй, в первую очередь, в компаниях начинают применять инструменты Business Intelligence для контроля и анализа эффективности продаж.


Рассмотрим задачу анализа кросс-продаж применительно к SQL Server Analysis Server (версии 2005 - 2012), основываясь на сценарии "Survey" (Опрос, стр. 24-32), описанном Марко Руссо в своей работе. В конце данного примера Марко пишет: "It is possible to use the Survey model for many scenarios that present similar challenges... Another scenario is cross-sell opportunities. There are data mining models to do that, but sometime a graphical output helps to visualize all of the relationships between specific items and the pivot table is the simpler way to obtain it."


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


Подготовим источник данных: нам потребуется таблица кредитных заявок, список клиентов, справочник продуктов и таблица-календарь. Таблицу заявок продублируем посредством представления (view), чтобы дважды связать с таблицей клиентов и справочником продуктов. Предпочтительнее ВСЕ объекты источника данных оформлять на стороне СУБД в виде представлений.




Очень существенным моментом является требование подготовки списка уникальных клиентов. Эта задача непростая, как может показаться на первый взгляд, и относится к классу задач MDM (НСИ). Схематично измерение "Уникальные клиенты" может быть следующим:




Таблицы клиентов и заявок задействуем как источники и для измерений "Уникальные клиенты", "Заявки", и для групп мер "Клиенты", "Показатели", а копию таблицы заявок (request_2) - только под группу мер "Заявки2", причем единственную меру "Количество2" скроем (для чего понадобилась эта группа мер - разъяснение будет далее). Во всех мерных группах количественные меры ("Количество клиентов", "Количество заявок", "Количество2") - это количество строк в соответствующей таблице.


Измерения многомерной базы данных "Банковские продукты", "Даты заявок" опубликуем в кубе дважды, а поскольку измерение базы данных "Даты" потребуется представить в кубе ролевым (Role Played) для решения других задач, то его придется скопировать (Copy, Paste) в базе данных. Два измерения дат заявок нам потребуется для того, чтобы иметь возможность анализировать кросс-продажи за период времени.




Теперь самый ключевой момент - то, как связать измерения и группы мер. Все измерения "Банковские продукты", "Даты заявок" должны быть связаны с группой мер "Клиенты" отношением многие-ко-многим, а с группами мер "Показатели", "Заявки2" - в разбег. Подобная схема связей позволяет по двум, независимым друг от друга направлениям (М2М "Показатели", М2М "Заявки2") выбирать "Количество клиентов" в разрезе продуктов.




После того, как развернем проект на сервере SSAS и спроцессим куб, посмотрим, что у нас получилось:




Как видно из отчета, за период октябрь-декабрь 2012г. воспользоваться ипотечным кредитом и кредитом на нецелевые нужды изъявили желание 3 женщины 1983 года рождения. Если дважды щелкнуть на ячейке куба, то выполнится операция DRILLTHROUGH (хотя я предпочитаю блокировать ванильную функциональность Excel и предоставлять пользователям детализацию через кастомизированное дополнительное действие (Action), и можно увидеть Ф.И.О. (а также персональные данные) этих клиенток. По причинам конфиденциальности подобный скриншот не публикуется :).


Удостоверимся, что наш OLAP-отчет работает правильно, для чего выполним следующий sql-запрос:

--------------------------------------------------------------------------------------------------------------------
SELECT a.fio
  FROM request        a  
  INNER JOIN request  b ON a.id_united_client=b.id_united_client
    WHERE a.product_type='Нецелевой кредит'
          AND b.product_type='Ипотека'
       -- AND a.is_contract=1
          AND a.sex='Ж'
          AND a.birth_year=1983
          AND a.request_created BETWEEN TO_DATE('01.10.2012', 'dd.mm.yyyy') AND TO_DATE('31.10.2012', 'dd.mm.yyyy')
          AND b.request_created BETWEEN TO_DATE('01.10.2012', 'dd.mm.yyyy') AND TO_DATE('31.10.2012', 'dd.mm.yyyy')
    ORDER BY 1
--------------------------------------------------------------------------------------------------------------------

Теперь можно "покрутить" данный отчет в различных дополнительных разрезах, построить график динамики кросс-продаж. Подобное решение можно применить и в других сферах, например, в торгово-коммерческих компаниях (проверено), главное - какие будут сделаны выводы и приняты управленческие решения.


Энергия идеи   dvbi.ru                    Последнее изменение: 2017-10-15 16:16:51Z         Возрастная аудитория: 14-70         Комментариев:  0
Теги:   Примеры
Пожалуйста, проголосуйте и ниже поставьте лайк:   rating
2 2 0


  Comments


Следующая статья:    Гибкая риск-ориентируемая система принятия кредитного решения в процессах розничного кредитования
Предыдущая статья:  SSAS - применение SCD2 для решения практических задач