Бизнес-анализ данных GetCourse: Парето и ABC

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

Бизнес-анализ данных GetCourse: Парето и ABC

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

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

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

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

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

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

Бизнес-анализ данных GetCourse: Парето и ABC
Простейшая иллюстрация принципа Парето

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

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

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

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

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

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

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

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

Во-вторых, что принцип Парето не стоит воспринимать буквально. То есть не обязательно 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-классификатор для наших менеджеров.

Бизнес-анализ данных GetCourse: Парето и ABC
Пример ABC-классификатора для прибыли по менеджерам

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

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

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

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

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

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

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

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

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

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

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

Реализация

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

Бизнес-анализ данных GetCourse: Парето и 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: Парето и ABC

И на сладкое — хорошая новость для прочитавших статью до конца. Обновленная модель данных GetCourse, по-прежнему доступна по формальной цене в 1 рубль, и применима с бесплатным триалом mybi connect. Отчет, сформированный на основе этой модели данных, вы также можете приобрести отдельно на указанном маркетплейсе.

Всех желающих на практике разобраться с Парето и ABC, а также рассмотреть другие модели и отчеты, — приглашаем на наш маркетплейс mybi market. Творите, экспериментируйте, принимайте эффективные бизнес-решения!