Set Analysis – Новые и потерянные клиенты с вложенным расширенным поиском

Мне нравится анализ, который можно выполнить с помощью анализа множеств (Set Analysis) Qlik, но его синтаксис приводит от отсеиванию слишком большого количества бизнес-пользователей. Те же самые бизнес-пользователи, которые используют для своих аналитических задач Excel, недостаточно убеждены, что Qlik доступен для выполнения их пользовательского анализа.

Я считаю, что однажды применение простых и сложных бизнес-правил станет проще, но пока этого не произошло я собираюсь поделиться советами и трюками, чтобы максимально упростить синтаксис Set Analysis. Кроме того, я буду использовать примеры часто используемых индикаторов, которые можно повторно использовать для собственных приложений Qlik.

Одним из запутанных атрибутов синтаксиса Set Analysis является использование двойных кавычек (“) и использование одинарных кавычек (‘). Согласно Qlik Help (отличный ресурс),

Поиск всегда определяется использованием двойных кавычек, например, <Ingredient = {«*Garlic*»}> выберет все ингредиенты, включающие «Garlic».

Поиск также может базироваться на формуле или диапазоне. Например, <Customer = {«= sum (Sales)> 10000»}> выберет всех клиентов с суммой продаж более десяти тысяч, а <Year = {«> = 2008 <= 2010»}> выберет в диапазоне между 2008 и 2010 годами.

С другой стороны, одиночная кавычка (‘) обозначает строковое значение. Например, <Customer = {‘Alles Lusekofter’}>. Однако, это может быть ясно для одних, и смущать других. Еще более сбивает с толку тот факт, что на практике не существует никакой разницы между использованием двойной кавычки («) и одинарной кавычки (‘). Например, <Customer = {‘Alles Lusekofter’}> даст вам тот же результат, что и <Customer = {«Alles Lusekofter»}>, и вопреки тому, что говорится в Qlik Help, <Ingredient = {‘* Garlic *’}> возвращает тот же результат, что и <Ingredient = {«* Garlic *»}>.

Когда мы обучаем тех, у которых нет технического образования написанию Set Analysis, важно оставаться последовательным и оставлять выражения как можно более простыми. Самое простое решение – всегда использовать что-то одно.

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

<Customer = {«=sum( {$<Ingredient={‘*Garlic*’}>} Sales)>10000»}>

будет фильтровать клиентов, у которых есть продажи более чем на десять тысяч для продуктов, содержащих чеснок.

Вот реальное приложение вложенного Set Analysis, которое помогает определить бизнес-правила, определяющие индикаторы для выигранных и потерянных клиентов, которые являются ключевыми индикаторами в любом приложении по продажам. Наши бизнес-правила следующие:

  • Новые клиенты – это те, которые впервые покупали за предыдущие 30 дней.
  • Потерянные клиенты – это те, кто покупали ранее (за последние 120 дней), но ничего не купили за предыдущие 60 дней.
  • Индикаторы можно просмотреть за предыдущие месяцы, а не только за текущий месяц.
  • Учитывайте только положительные транзакции продаж (без возврата)

Наша модель данных включает в себя мастер-календарь с  полями Month, Year, Yearmonth и Orderdate; справочником клиентов; и таблицей фактов с полем «Sales».

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

min({$<Sales={‘>0’}, Year=, Month=, YearMonth=, OrderDate={‘<=$(=max(OrderDate))’}>} OrderDate)

и нам нужно всего лишь изменить min на max, чтобы вычислить последний раз, когда клиент совершил покупку,

max({$<Sales={‘>0’}, Year=, Month=, YearMonth=, OrderDate={‘<=$(=max(OrderDate))’}>} OrderDate)

Обратите внимание, что мы использовали одинарные кавычки (‘) в выражениях поиска, включенных в предыдущие формулы. Теперь мы делаем простой подсчет,

count(distinct Customer)

и добавляем предыдущие формулы, которые рассчитали первый и последний раз, когда была сделана покупка, сравнивая ее с максимальной датой, выбранной пользователем,

=max(OrderDate)

в расширенном поиске в нашем Set Analysis.

Если первая дата, когда покупка была совершена клиентом, составляет менее 30 дней, клиент считается новым, а если последняя дата, когда была сделана покупка, составляет от 60 до 120 дней, клиент считается потерянным. Наши полученные выражения выглядят так.

Новые клиенты

count({$<Year=, Month=, YearMonth=,Customer={«=min({$<Sales={‘>0’}, Year=, Month=, YearMonth=, OrderDate={‘<=$(=max(OrderDate))’}>} OrderDate)>=$(=max(OrderDate)-30)»}>} distinct Customer)

Потерянные клиенты

count({$<Year=, Month=, YearMonth=,Customer={«=max({$<Sales={‘>0’}, Year=, Month=, YearMonth=, OrderDate={‘<=$(=max(OrderDate))’}>} OrderDate)< $(=max(OrderDate)-60) and max({$<Sales={‘>0’}, Year=, Month=, YearMonth=, OrderDate={‘<=$(=max(OrderDate))’}>} OrderDate)>= $(=max(OrderDate)-120)»}>} distinct Customer)

Обратите внимание, что мы использовали двойные кавычки («), чтобы окружить вложенное расширенное выражение поиска. Кроме того, важно помнить, что мы должны повторять игнорируемые поля (например, Year, Month и YearMonth) как во внешнем, так и вложенном Set Analysis.

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

 

Учебный центр по технологиям анализа данных и BI: расписание/запись на учебные курсы, тестирование разработчиков — https://education.biconsult.ru/
Присоединяйтесь к QUBIC – сообщество профессионалов в области BI! Наши страницы в соц.сетях – расписание учебных курсов, бесплатные учебные материалы, анонсы мероприятий: https://vk.com/club165575964 и https://www.facebook.com/qubicspb
Неофициальный форум разработчиков QlikView & Qlik Sense Russian forum
Канал на Youtube – много обучающих видео и записи вебинаров
Готовые решения “Конструктор финансовой отчетности” и “Анализ продаж

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

58 queries in 0,241 seconds