Здравствуйте. На платформе mybi connect источник данных GetCourse продолжает набирать популярность, на волне которой мы развиваем соответствующую отчетность в среде MS Power BI и добавляем функционал, отвечающий потребностям пользователей.
В наших недавних статьях мы раскрыли структуру модели данных в MS Power BI и когортный анализ на основании данных GetCourse. Сегодня, в продолжении темы, мы представим один из самых популярных инструментов анализа метрик в бизнесе – ABC-классификатор, основанный на принципе Парето.
Задача данной статьи – раскрыть вопрос как с технической стороны (показать реализацию данного вида анализа в BI-среде), так и с точки зрения пользы для бизнеса (рассказать почему этот инструмент полезен при принятии управленческих решений).
Что ж, приступим. На связи Николай Щелков, аналитик из mybi connect.
Принцип Парето для анализа данных в бизнесе
Как известно, всего несколько граммов золота сполна окупают усилия, прикладываемые долгими неделями и месяцами при его добыче на рудниках. Зачастую, не вся игра стоит свеч, а лишь несколько конкретных ходов, позволяющих сорвать куш. Эти и ряд других аналогий характеризуют принцип поиска небольшого числа элементов, генерирующих основную ценность (“the vital few”) в общем объеме располагаемых ресурсов (“the trivial many”). Этот принцип популярен в бизнес-среде, в которой поиск эффективных решений – одна из основополагающих задач.
“20% усилий дают 80% результата”. “Акции лишь небольшого количества компаний генерируют основную прибыль инвестиционного портфеля”. “Потеря одного крупного клиента сравнима с уходом множества средних и малых”. Всякий раз, когда вы слышите подобные фразы, Вам напоминают о принципе (правиле, законе), названном в честь экономиста и социолога Вильфредо Парето. Сильно не вдаваясь в известную теорию, напомним, что данный вид анализа нацелен на выявление ключевых факторов влияния на результат (в зависимости от контекста проблемы).
Одна из ключевых задач анализа данных GetCourse (как и анализа любой другой бизнес-платформы) – выявление факторов, которые больше всего влияют на выручку и прибыль от продаж на данной платформе, чтобы наиболее эффективно управлять ей.
Для решения поставленной задачи Парето-анализ подходит как нельзя лучше, в первую очередь, в силу своей универсальности. Каждую экономическую сущность можно проверить на степень влияния на конечный результат.
В нашем отчете мы провели Парето-анализ для трех сущностей: Заказы, Менеджеры и Пользователями. В фокусе нашего внимания было поле Заработано, отражающее прибыль от продаж на платформе GetCourse.
Перейдем к примеру. Посмотрим, какой объем прибыли соответствует каждому менеджеру по работе с клиентами на нашей платформе.
Для визуализации принципа Парето, как правило, используется комбинированная диаграмма:
- Столбчатая диаграмма показывает значения параметра для каждого элемента рассматриваемой сущности (в нашем случае, прибыль по менеджерам), расположенные по убыванию.
- Линейный график отражает накопленный вклад каждого элемента сущности в итоговое значение параметра (доля прибыли, которая получена благодаря каждому нашему менеджеру).
Что можно сказать по данному визуальному элементу?
Во-первых, что прибыль по менеджерам представлена в достаточно наглядной форме, что несет пользу без привязки к специфическому виду анализа, который мы рассматриваем.
Во-вторых, что принцип Парето не стоит воспринимать буквально. То есть не обязательно 80% результата будет получено за счет именно 20% задействованных ресурсов. Тем не менее, общая логика остается в силе: всего 3 менеджера из 11 так или иначе причастны к более половины всей совокупной прибыли (54,1%, если быть точным).
В-третьих, что влияние каждого элемента рассматриваемой сущности на результирующий показатель неоднородно. Есть менеджеры, прибыль от заказов, которые они обслуживали, значительно выше, чем прибыль от заказов, закрепленных за другими менеджерами.
В-четвертых, характер столбчатой диаграммы позволяет предположить, что наших менеджеров можно разделить на 3 группы:
- Наиболее эффективные (первые 3 менеджера, наибольшим образом повлиявшие на получение прибыли).
- Средней эффективности (следующие 5 менеджеров, каждый из которых сделал значимый, но не выдающийся вклад в результат).
- Наименее эффективные (оставшиеся 3 менеджера, значения прибыли в привязке к которым ничтожно малы по тем или иным причинам (которые еще предстоит выяснить).
Подобное предположение – пример поиска паттернов (закономерностей) в данных. Почему менеджеры не отработали одинаково? Быть может, кто-то из них не достаточно мотивирован? Или просто часть из них работает на пол ставки или находились в отпуске в рассматриваемый период? Поиск ответов на эти и подобные вопросы – и есть путь к принятию эффективных управленческих решений, а наша модель позволила эти вопросы сформулировать.
Важно также отметить, что нельзя сказать по графику Парето – это причина, по которой прибыль по одним менеджерам оказалась выше, чем по другим. В зарубежной аналитической практике этот принцип сформулирован как “correlation does not imply causation”, то есть наличие корреляции (взаимосвязи) еще не означает наличие причинно-следственной связи между параметрами. Иными словами, парето-аналитика носит описательный, а никак не предсказательный или предписывающий характер.
В нашем случае, менеджеров, находящихся в конце диаграммы, не следует спешить увольнять. Не следует забывать, что на результирующие значения прибыль может влиять как непосредственно работа менеджеров, так и множество других факторов, таких как предпочтения клиентов, стоимость и качество предлагаемых продуктов, а также учетная политика и наличие ошибок в данных – про это тоже не стоит забывать.
Тем не менее, несмотря на перечисленные условности, грамотно реализованный Парето-анализ позволяет выявить особенности и аномалии в данных для дальнейшего точечного анализа первопричин.
ABC-классификация как развитие принципа Парето
ABC – это логическое продолжение Парето-анализа. У инструмента говорящее название: элементы рассматриваемой сущности подразделяются на 3 категории (условно, A, B и C – названия могут быть иные) в зависимости от значения параметра – нечто подобное мы с вами уже сделали, когда предположили, что менеджеров можно разделить на 3 группы по производительности.
Как определить границы для каждой группы? Распространенная практика предлагает в группу A относить те элементы, суммарное значение параметра по которым составляет около 80% (то есть группа A – это как раз те немногочисленные “самородки”, которые приносят основной результат). К группам B и C, как правило, относят оставшиеся 15% и 5%. Эти границы условны и могут быть изменены в зависимости от специфики бизнеса и сути конкретных показателей (например, достаточно широко распространена градация “70% – 20% – 10%”).
Смысл подобной группировки в том, что в зависимости от того, в какой группе находится элемент, к нему может быть применены различные стратегии повышения эффективности. В нашем случае, руководители менеджеров из категории А будут заинтересованы предпринимать действия для удержания высокопроизводительных сотрудников и сохранения их высокой мотивации, с распространением лучших практик на других сотрудников компании. С менеджерами из категорий B и C, скорее всего, будет проведена работа по выяснению причин средних и низких результатов. Как мы с вами отметили ранее, спектр возможных причин велик, и распространяется далеко не только на самих менеджеров – простор для управленческого творчества!
Более подробно о сути ABC-классификации, а также об одном из возможных вариантов ее реализации в среде Power BI, мы писали ранее в одной из наших статей. Сейчас же давайте посмотрим на ABC-классификатор для наших менеджеров.
Выводы, которые можно сделать по данной таблице, схожи с теми, которые мы делали ранее на основе классического Парето, но ABC-анализ позволяет нам чуть точнее сформулировать призыв к действию.
Например, мы видим, что с точки зрения повышения производительности, достойны внимания не только 3 последних менеджера в списке, но и четвертый с конца, также попавший в категорию C.
Также мы видим, что к трем отмеченным ранее лидерам присоединились еще двое – и 80% результата приносит не 20%, а примерно половина сотрудников, то есть работа коллектива достаточно равномерна.
Эти и подобные выводы и гипотезы – результат анализа, который мы предлагаем использовать, в частности, для работы с платформой GetCourse. В дальнейшем в статье рассмотрены технические аспекты реализации инструментов Парето и ABC.
Реализация Парето и ABC в отчете GetCourse
Переходя непосредственно к визуализации и коду, следует еще раз отметить, ключевое преимущество данного вида анализа – универсальность. Мы разберем модель данных и меры для Парето и ABC по менеджерам, но также данный анализ аналогичным образом реализован для таких сущностей, как Заказы и Пользователи (что также не предел).
Итак, мы с вами разобрали диаграмму и таблицу – они являются основными элементами листа “ABC” в отчете. Помимо них на листе также присутствуют стандартные элементы управления (срезы и кнопки), а также агрегирующие карточки с суммарными цифрами по ключевым полям.
Срезы придают анализу бо́льшую глубину. Например, может оказаться так, что менеджеры эффективнее отработали по заказам определенного типа, либо в определенный период времени. Связи в модели и меры, которые мы опишем ниже, учитывают возможность динамического использования срезов для представленных визуальных элементов.
Замечание: ABC-классификация предполагает достаточно комплексные расчеты на всем массиве данных выборки по параметру. В нашем примере с менеджерами, которые исчисляются единицами и десятками, отчет работает максимально оперативно, но если речь идет о десятках, сотнях тысяч и более единиц данных (например, позиции товарной номенклатуры или уникальные покупатели), это может негативно сказаться на быстродействии.
Также, присвоение класса каждому элементу из огромного множества не всегда полезно с позиции бизнес-логики. В таком случае, рекомендуется применять ABC-классификацию не к отдельно взятым товарным позициям или клиентам, а сразу к нескольким из них. Например, можно группировать товары по типу продукта (в случае GetCourse – по тематике обучающих курсов), по производителю, или по ценовой категории. Пользователей можно объединить по регионам, типу (частные или корпоративные), и ряду других параметров. Такой подход позволит как оптимизировать сам отчет, так и представить данные в наиболее наглядном виде с точки зрения целей бизнеса.
Реализация
При создании рассматриваемого листа, мы добавили в модель данных небольшую таблицу с выдержкой из таблицы Заказы, а также необходимыми мерами (напомним, что исходная модель данных подробно рассмотрена в нашей предыдущей статье). Связь реализована по ключевому полю Идентификатор заказа.
Рассмотрим подробнее поля данной таблицы:
- Столбец Заработано – тот самый параметр (прибыль), значение которого будет определять положение каждого менеджера на шкале Парето-анализа.
- Столбец Идентификатор заказа – поле, связывающее таблицу со “внешним миром”, то есть с другими сущностями в модели данных.
- Столбец Менеджер – в нашем примере это объект анализа. Прибыль в разрезе по менеджерам мы и будем в дальнейшем рассматривать.
- Столбец Номер заказа – это поле более понятно пользователям, чем Идентификатор заказа (суррогатный ключ, то есть созданный искусственно с целью моделирования данных). Для нашей задачи Идентификатор заказа можно использовать как дополнительную информацию (например, для подсчета количества заказов у каждого менеджера).
- Столбец Тип расчета заказа – группирует заказы по дате создания и дате закрытия – для реализации одного из срезов на листе (временного).
- Меры для Парето и ABC-анализа – три меры, собственно, отвечающие за всю “магию”, происходящую на листе, то есть за динамическую работу визуальных элементов – далее речь пойдет как раз про них.
Мера _м1 Заработано по Менеджерам выражена простой формулой:
_м1 Заработано по Менеджерам = SUM ( 'ABC по Менеджерам'[Заработано] )
Она суммирует значение рассматриваемого параметра (прибыли), динамически изменяясь в зависимости от установленных на листе срезов. На диаграмме Парето эта мера используется для отображения столбчатой диаграммы.
Мера _м2 Заработано по Менеджерам (Парето, %) необходима для расчета кумулятивной доли прибыли по конкретным менеджерам в общем объеме прибыли. Это более комплексный объект, включающий в себя несколько переменных:
_м2 Заработано по Менеджерам (Парето, %) = VAR _total = CALCULATE ( [_м1 Заработано по Менеджерам], ALLSELECTED ( 'ABC по Менеджерам'[Менеджер] ) ) VAR _current = [_м1 Заработано по Менеджерам] VAR _sumTable = SUMMARIZE ( ALLSELECTED ( 'ABC по Менеджерам' ), 'ABC по Менеджерам'[Менеджер], "Заработано", [_м1 Заработано по Менеджерам] ) VAR _cumulativeSum = SUMX ( FILTER ( _sumTable, [_м1 Заработано по Менеджерам] >= _current ), [_м1 Заработано по Менеджерам] ) RETURN DIVIDE ( _cumulativeSum, _total )
Переменная _total суммирует прибыль, игнорируя последний наложенный уровень фильтра (за счет функции ALLSELECTED).
Переменная _current суммирует прибыль с учетом фильтров и является базой для сравнения, необходимой для дальнейшего вычисления кумулятивной суммы.
Переменная _sumTable генерирует таблицу с разбивкой прибыли по менеджерам – это необходимо, чтобы в дальнейшем фильтровать эту таблицу внутри формулы меры.
Переменная _cumulativeSum фильтрует сгенерированную предыдущей переменной таблицу в зависимости от накопленной суммы прибыли по менеджерам.
Наконец, результирующая формула рассматриваемой меры – это соотношение накопленной прибыли к совокупному размеру прибыли по менеджерам. На диаграмме Парето эта мера используется для отображения линейного графика.
Мера _м3 ABC-классификатор (Менеджеры) не содержит в себе какие-либо дополнительные расчеты, а просто через функцию SWITCH присваивает элементам рассматриваемой сущности (менеджерам) ранг в зависимости от их вклада в прибыль:
_м3 ABC-классификатор (Менеджеры) = SWITCH ( TRUE (), [_м2 Заработано по Менеджерам (Парето, %)] < 0.80, "A", [_м2 Заработано по Менеджерам (Парето, %)] < 0.95, "B", "C" )
Для нашей модели мы выбрали стандартное ABC-соотношение “80% – 15% – 5%”. Напомним, что эти границы могут быть изменены в зависимости от целей анализа и характера располагаемых данных.
Рассмотренная модель данных позволяет реализовать Парето и ABC-анализ достаточно быстро, прозрачно, и в привязке к ключевым срезам, то есть без потери динамики отчетности.
Заключение
Описанный подход к анализу причинно-следственных связей в бизнесе достаточно прост и интуитивен – возможно, поэтому принцип Парето у всех на слуху, а ABC-классификатор – рядовой инструмент в портфеле маркетологов и аналитиков.
И на сладкое – хорошая новость для прочитавших статью до конца. Обновленная модель данных GetCourse, по-прежнему доступна по формальной цене в 1 рубль, и применима с бесплатным триалом mybi connect. Отчет, сформированный на основе этой модели данных, вы также можете приобрести отдельно на указанном маркетплейсе.
Всех желающих на практике разобраться с Парето и ABC, а также рассмотреть другие модели и отчеты, – приглашаем на наш маркетплейс mybi market. Творите, экспериментируйте, принимайте эффективные бизнес-решения!