Здравствуйте. На платформе mybi connect источник данных GetCourse продолжает набирать популярность, на волне которой мы развиваем соответствующую отчетность в среде MS Power BI и добавляем функционал, отвечающий потребностям пользователей.

В наших недавних статьях мы раскрыли структуру модели данных в MS Power BI и когортный анализ на основании данных GetCourse. Сегодня, в продолжении темы, мы представим один из самых популярных инструментов анализа метрик в бизнесе – ABC-классификатор, основанный на принципе Парето.

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

Что ж, приступим. На связи Николай Щелков, аналитик из mybi connect.

Принцип Парето для анализа данных в бизнесе

Как известно, всего несколько граммов золота сполна окупают усилия, прикладываемые долгими неделями и месяцами при его добыче на рудниках. Зачастую, не вся игра стоит свеч, а лишь несколько конкретных ходов, позволяющих сорвать куш. Эти и ряд других аналогий характеризуют принцип поиска небольшого числа элементов, генерирующих основную ценность (“the vital few”) в общем объеме располагаемых ресурсов (“the trivial many”). Этот принцип популярен в бизнес-среде, в которой поиск эффективных решений – одна из основополагающих задач.

“20% усилий дают 80% результата”. “Акции лишь небольшого количества компаний генерируют основную прибыль инвестиционного портфеля”. “Потеря одного крупного клиента сравнима с уходом множества средних и малых”. Всякий раз, когда вы слышите подобные фразы, Вам напоминают о принципе (правиле, законе), названном в честь экономиста и социолога Вильфредо Парето. Сильно не вдаваясь в известную теорию, напомним, что данный вид анализа нацелен на выявление ключевых факторов влияния на результат (в зависимости от контекста проблемы).

Простейшая иллюстрация принципа Парето

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

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

В нашем отчете мы провели Парето-анализ для трех сущностей: Заказы, Менеджеры и Пользователями. В фокусе нашего внимания было поле Заработано, отражающее прибыль от продаж на платформе GetCourse.

Перейдем к примеру. Посмотрим, какой объем прибыли соответствует каждому менеджеру по работе с клиентами на нашей платформе.

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

  1. Столбчатая диаграмма показывает значения параметра для каждого элемента рассматриваемой сущности (в нашем случае, прибыль по менеджерам), расположенные по убыванию.
  2. Линейный график отражает накопленный вклад каждого элемента сущности в итоговое значение параметра (доля прибыли, которая получена благодаря каждому нашему менеджеру).
Пример диаграммы Парето – визуализация прибыли по менеджерам

Что можно сказать по данному визуальному элементу?

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

Во-вторых, что принцип Парето не стоит воспринимать буквально. То есть не обязательно 80% результата будет получено за счет именно 20% задействованных ресурсов. Тем не менее, общая логика остается в силе: всего 3 менеджера из 11 так или иначе причастны к более половины всей совокупной прибыли (54,1%, если быть точным).

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

В-четвертых, характер столбчатой диаграммы позволяет предположить, что наших менеджеров можно разделить на 3 группы:

  1. Наиболее эффективные (первые 3 менеджера, наибольшим образом повлиявшие на получение прибыли).
  2. Средней эффективности (следующие 5 менеджеров, каждый из которых сделал значимый, но не выдающийся вклад в результат).
  3. Наименее эффективные (оставшиеся 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-классификатора для прибыли по менеджерам

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

Например, мы видим, что с точки зрения повышения производительности, достойны внимания не только 3 последних менеджера в списке, но и четвертый с конца, также попавший в категорию C.

Также мы видим, что к трем отмеченным ранее лидерам присоединились еще двое – и 80% результата приносит не 20%, а примерно половина сотрудников, то есть работа коллектива достаточно равномерна.

Эти и подобные выводы и гипотезы – результат анализа, который мы предлагаем использовать, в частности, для работы с платформой GetCourse. В дальнейшем в статье рассмотрены технические аспекты реализации инструментов Парето и ABC.

Реализация Парето и ABC в отчете GetCourse

Переходя непосредственно к визуализации и коду, следует еще раз отметить, ключевое преимущество данного вида анализа – универсальность. Мы разберем модель данных и меры для Парето и ABC по менеджерам, но также данный анализ аналогичным образом реализован для таких сущностей, как Заказы и Пользователи (что также не предел).

Итак, мы с вами разобрали диаграмму и таблицу – они являются основными элементами листа “ABC” в отчете. Помимо них на листе также присутствуют стандартные элементы управления (срезы и кнопки), а также агрегирующие карточки с суммарными цифрами по ключевым полям.

Лист с Парето-анализом и ABC-классификатором в отчете GetCourse

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

Замечание: ABC-классификация предполагает достаточно комплексные расчеты на всем массиве данных выборки по параметру. В нашем примере с менеджерами, которые исчисляются единицами и десятками, отчет работает максимально оперативно, но если речь идет о десятках, сотнях тысяч и более единиц данных (например, позиции товарной номенклатуры или уникальные покупатели), это может негативно сказаться на быстродействии.

Также, присвоение класса каждому элементу из огромного множества не всегда полезно с позиции бизнес-логики. В таком случае, рекомендуется применять ABC-классификацию не к отдельно взятым товарным позициям или клиентам, а сразу к нескольким из них. Например, можно группировать товары по типу продукта (в случае GetCourse – по тематике обучающих курсов), по производителю, или по ценовой категории. Пользователей можно объединить по регионам, типу (частные или корпоративные), и ряду других параметров. Такой подход позволит как оптимизировать сам отчет, так и представить данные в наиболее наглядном виде с точки зрения целей бизнеса.

Реализация

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

Сущность “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. Творите, экспериментируйте, принимайте эффективные бизнес-решения!