Файлы для практики: vTargetMail, Fact.Sale
Расширенная аналитика в Microsoft Power BI: Hexbin и дерево решений
Подготовка данных о продажах
Загружаем данные о продажах Факт. Интересуют поля: дата доставки (Delivery Date), цена за единицу (Unit Price) и прибыль (Profit). Прибыль — это доход после вычета себестоимости. Например, при продажной цене 14,95 прибыль составляет 8,5. Unit Price — цена за единицу без учёта налога.
Точечная диаграмма
Импортируем компонент Hexbin. Сначала строим точечную диаграмму (scatter plot). В область Details помещаем Delivery Date как отдельное значение, а не иерархию, чтобы точки не сворачивались по годам, кварталам и месяцам. Profit — по оси X, Unit Price — по оси Y. При наведении видим прибыль и цену для конкретной даты доставки.
Наблюдается прямая зависимость: чем выше доходность продажи, тем выше цена за единицу. Нет ситуации, когда дешёвый товар за счёт массовых продаж становится основным источником прибыли. Есть исключения: у отдельной покупки цена выше при той же доходности, но суммарная доходность сравнивается с более дешёвыми товарами.
Гексагональная диаграмма (Hexbin)
Переключаемся на гексагональную диаграмму (Hexbin). Плоскость данных разбивается на шестиугольники, которые показывают плотность точек. Точки можно убрать. При наведении на бин (bin) видно количество точек внутри. Уменьшаем радиус шестиугольника до 10. Получаем плотностное распределение доходности к цене.
Большинство товаров — дешёвые и низкодоходные, в лучшем случае среднедоходные. Есть товары с высокой и средней доходностью и средней ценой. Такой анализ полезен для поиска плотных групп.
Подключение DV 2017 и задача рассылки
Подключаем базу DV 2017 на localhost. Анализируем таблицу рассылки каталога клиентам для привлечения покупок. Целевое поле — BikeBuyer: 0 — клиент ничего не купил, 1 — купил. Ранее в курсе по хранилищу данных и Data Mining оценивали эффективность рассылки и строили модель, чтобы заранее предсказывать, кому отправлять каталог. В Power BI это можно сделать без перехода в Visual Studio.
Дерево решений в Power BI
Настройка целевой переменной и факторов
Импортируем компонент Decision Tree Chart. Добавляем целевую переменную BikeBuyer. В Input variables задаём факторы: пол, семейное положение, количество детей, количество машин. Позже добавляем общий доход и расстояние до работы (Commute Distance).
Установка R-пакетов
Для работы компонента нужны R-пакеты: rpart, rpart.plot, RColorBrewer. В Power BI используется R 3.6.1. Если установлено несколько версий R, выбираем нужную. Если пакет не установлен, компонент не запускается.
Построение и интерпретация дерева
Строим дерево. Сначала оно получается крупным. Убираем лишние поля. В узлах видно разделение. Если количество машин ≥ 3, вероятность ответа «нет» около 60%, ответа «да» — 40%. Добавляем количество детей, затем семейное положение и другие факторы. Дерево становится информативнее.
Если детей ≥ 1, концентрация покупок выше: чем больше детей, тем выше вероятность покупки велосипеда. Можно настраивать максимальную глубину (Max Depth) — до 15, минимальный размер листа (Min Bucket Size), кросс-валидацию (cross-validation). Точность отображается как 10-5.
Корректировка суммирования
В исходных данных было всего 60 записей вместо 18 484. Причина: BikeBuyer распознан как числовое поле, и по нему автоматически включилось суммирование (Sum). Переключаем режим на Don't summarize / Не суммировать, чтобы нули и единицы сохранились.
После корректировки в корне видим: 51% не покупают, 49% покупают. Далее идёт разбиение: если общее количество детей ≥ 4, доминирует покупка. Если при этом машин ≥ 4, снова доминирует отказ. В листьях цвет показывает основной ответ и вероятность. Наибольшая вероятность покупки — 72% — у клиентов с общим количеством детей ≥ 4 и годовым доходом более $155 000. Добавление Commute Distance делает дерево детальнее.
Вывод по инструментам
Дерево решений в Power BI позволяет выполнять анализ данных без перехода в Visual Studio. Компонент доступен на маркетплейсе. Настраивая целевую переменную и факторы, можно предсказывать, купит клиент или нет.
Краткие итоги
Практическая ценность рассмотренных инструментов раскрывается через последовательность от разведочного анализа к прогнозной модели. Сначала визуализация продаж помогает увидеть структуру связи между ценой и прибылью, затем гексагональная диаграмма переводит внимание с отдельных точек на плотность наблюдений. Это меняет способ принятия решений: вместо поиска аномалий на уровне единичных сделок аналитик оценивает массовые сегменты и их вклад. Такой переход важен там, где данных много и точечная диаграмма становится перегруженной.
Далее логика смещается от описания к прогнозу. Подключение внешней базы и выбор целевой переменной превращают визуальный анализ в прикладную задачу: определить, кому адресовать рассылку, чтобы повысить отдачу и снизить затраты. Дерево решений здесь выступает не просто моделью, а инструментом объяснения. Его узлы показывают, какие признаки и в какой последовательности разделяют клиентов, а вероятности в листьях помогают оценить практическую ценность сегмента.
Ключевой методический момент — контроль качества данных и настроек. Если числовое поле целевой переменной случайно агрегируется, результат теряет смысл. Поэтому проверка типа суммирования, выбор факторов, настройка глубины и кросс-валидации становятся частью аналитического процесса, а не технической формальностью. Встроенность инструментов в Power BI снижает порог входа, но не отменяет необходимости интерпретировать модель и проверять её адекватность.
Практическое применение связано с сегментацией, маркетингом, управлением ассортиментом и оценкой клиентской ценности. Аналитик может быстро переходить от данных к визуальной гипотезе, затем к модели и обратно, уточняя факторы. Это ускоряет цикл принятия решений и делает результаты прозрачнее для бизнеса.
В Microsoft Power BI рассматриваются два инструмента расширенной аналитики: гексагональная диаграмма (Hexbin) и дерево решений (Decision Tree Chart). Сначала загружаются данные о продажах Факт. Используются поля дата доставки (Delivery Date), цена за единицу (Unit Price) и прибыль (Profit). Profit — прибыль после вычета себестоимости. Unit Price — цена за единицу без учёта налога.
Для первичного анализа строится точечная диаграмма (scatter plot). Delivery Date помещается как отдельное значение, а не иерархия, чтобы точки не сворачивались по датам. Profit располагается по оси X, Unit Price — по оси Y. При наведении видны значения для конкретной даты. По диаграмме видно: чем выше доходность продажи, тем выше цена за единицу. Дешёвые товары не становятся главным источником прибыли за счёт массовости. Исключения возможны, но общая зависимость сохраняется.
Затем используется Hexbin. Плоскость данных делится на шестиугольники, которые показывают плотность точек. Точки можно убрать, чтобы сосредоточиться на плотности. При наведении на бин (bin) видно количество точек. Радиус шестиугольника уменьшается до 10. В результате большинство товаров оказываются дешёвыми и низкодоходными, в лучшем случае среднедоходными. Есть группы с высокой и средней доходностью и средней ценой. Такой анализ помогает находить плотные сегменты.
Далее подключается база DV 2017 на localhost. Анализируется таблица рассылки каталога клиентам. Целевое поле — BikeBuyer: 0 означает, что клиент ничего не купил, 1 — что купил. Задача — предсказать, кому отправлять каталог. В Power BI для этого используется компонент Decision Tree Chart. Переходить в Visual Studio не нужно.
В дереве решений задаётся целевая переменная BikeBuyer. В Input variables добавляются факторы: пол, семейное положение, количество детей, количество машин. Позже добавляются общий доход и Commute Distance — расстояние до работы. Для работы компонента нужны R-пакеты rpart, rpart.plot, RColorBrewer. Используется R 3.6.1.
При первом построении дерево может быть крупным. Лишние поля убираются. Если количество машин ≥ 3, вероятность ответа «нет» около 60%, «да» — 40%. После добавления количества детей дерево становится информативнее. Если детей ≥ 1, вероятность покупки выше. Чем больше детей, тем выше шанс покупки велосипеда.
Важная ошибка: в данных оказалось только 60 записей вместо 18 484. Причина — BikeBuyer был распознан как числовое поле и автоматически суммировался. Нужно переключить режим на Don't summarize / Не суммировать, чтобы нули и единицы сохранились. После исправления в корне дерева видно: 51% не покупают, 49% покупают. Если общее количество детей ≥ 4, доминирует покупка. Если при этом машин ≥ 4, снова доминирует отказ. В листьях цвет показывает основной ответ и вероятность.
Наибольшая вероятность покупки — 72% — у клиентов с общим количеством детей ≥ 4 и годовым доходом более $155 000. Дерево можно детализировать, добавляя Commute Distance. Доступны настройки максимальной глубины (Max Depth) до 15, минимального размера листа (Min Bucket Size) и кросс-валидации (cross-validation). Точность отображается как 10-5. Таким образом, Power BI позволяет выполнять анализ данных и строить дерево решений прямо внутри отчёта, без сложной внешней архитектуры.
1. Hexbin в Power BI используется для анализа плотности точек и позволяет увидеть массовые сегменты там, где точечная диаграмма перегружена.
2. Для анализа продаж важны поля Delivery Date, Unit Price и Profit, причём Profit — прибыль после вычета себестоимости.
3. Delivery Date в точечной диаграмме лучше использовать как отдельное значение, а не иерархию, чтобы не сворачивать точки.
4. Гексагональная диаграмма показывает плотность наблюдений внутри шестиугольников; радиус можно уменьшать для детализации.
5. По плотностному распределению большинство товаров оказались дешёвыми и низкодоходными, но есть сегменты с более высокой доходностью и ценой.
6. Для прогноза покупки после рассылки используется целевая переменная BikeBuyer: 0 — нет покупки, 1 — покупка.
7. Дерево решений в Power BI строится через компонент Decision Tree Chart без перехода в Visual Studio.
8. Для работы Decision Tree Chart нужны R-пакеты rpart, rpart.plot и RColorBrewer, а также корректная версия R.
9. Если целевое числовое поле суммируется, количество записей искажается; нужно переключить режим на Don't summarize.
10. Наибольшая вероятность покупки в построенном дереве связана с количеством детей ≥ 4 и годовым доходом более $155 000.
11. Дерево можно уточнять дополнительными факторами, например Commute Distance, и настраивать глубину, размер листа и кросс-валидацию.
12. Встроенная аналитика в Power BI ускоряет переход от данных к модели, но требует проверки настроек и интерпретации результата.
1. Для чего в Power BI применяется гексагональная диаграмма (Hexbin)?
2. Чем точечная диаграмма отличается от гексагональной при анализе плотности данных?
3. Почему Delivery Date в точечной диаграмме нужно использовать как отдельное значение, а не как иерархию?
4. Что означает поле Profit в используемом наборе данных?
5. Чем Unit Price отличается от обычной продажной цены?
6. Какие выводы о связи прибыли и цены можно сделать по точечной диаграмме?
7. Что показывает плотность внутри шестиугольника на Hexbin?
8. Почему при анализе плотности точки можно убрать?
9. Какие сегменты товаров преобладают по плотностному распределению?
10. Какую задачу решали с помощью данных DV 2017?
11. Что означает значение BikeBuyer, равное 0 и 1?
12. Какие факторы можно добавлять в дерево решений и как они влияют на его детализацию?
13. Почему при построении дерева возникло только 60 записей вместо 18 484?
14. Как исправить ошибку с суммированием целевого поля?
15. Как интерпретировать узлы и листья дерева решений?
16. Какие настройки дерева решений доступны в компоненте?
17. Для чего используется кросс-валидация при построении дерева?
18. Какие R-пакеты необходимы для работы Decision Tree Chart?
19. Какие условия соответствуют наибольшей вероятности покупки велосипеда?
20. Как дополнительный признак Commute Distance влияет на дерево?