Шаблон ABC-классификации – это усовершенствованный шаблон статической сегментации, также известный как анализ Парето, поскольку он основан на принципе Парето. Результирующий ABC класс вычисляется во время процесса, поэтому он является статическим и использует вычисленные столбцы для хранения результата классификации. Вы можете использовать этот шаблон для оценки основных бизнес-параметров компании, как правило, с точки зрения лучших продуктов или лучших клиентов.
Пример базового шаблона
Предположим, вы хотите оценить важность того, или иного продукта для дохода вашей компании с помощью ABC-анализа. Вы должны отнести каждый продукт к определенному классу (A, B или C), для которого верно следующее:
- Продукты класса А составляют 70% доходов.
- Продукты класса B обеспечивают 20% доходов.
- Продукты класса C составляют оставшиеся 10% доходов.
В таблице Products («Продукты») создается вычисляемый столбец, который содержит класс ABC, используемый в качестве атрибута группировки в отчетах. Таблица Products («Продукты») связана с таблицей Sales («Продажи»).
Чтобы реализовать ABC-классификацию, необходимо создать еще несколько вычисляемых столбцов в таблице Products («Продукты»). Все эти столбцы, кроме ABC Class («АВС-класс»), будут скрыты от клиентских инструментов:
- ProductSales: общая сумма продаж для продукта (текущая строка).
- CumulatedSales: общая сумма продаж для всех продуктов одного класса (текущая строка).
- CumulatedPercentage: значение RunningTotalSales, выраженное в процентах от общей суммы продаж.
- ABC Class: класс продукта, который может быть A, B или C.
Вы определяете вычисляемые столбцы, используя следующие формулы DAX:
[ProductSales] = CALCULATE ( SUM ( Sales[SalesAmount] ) ) [CumulatedSales] = CALCULATE ( SUM ( Products[ProductSales] ), ALL ( Products ), Products[ProductSales] >= EARLIER ( Products[ProductSales] ) ) [CumulatedPercentage] = Products[CumulatedSales] / SUM ( Products[ProductSales] ) [ABC Class] = SWITCH ( TRUE (), Products[CumulatedPercentage] <= 0.7, "A", Products[CumulatedPercentage] <= 0.9, "B", "C" )
Вы можете использовать новый столбец ABC Class («АВС класс») в качестве фильтра в сводных таблицах, как показано на рисунках 3 и 4.
ABC-классификация используется для создания статической сегментации объектов в модели данных. Если у сущности, которую вы хотите классифицировать, нет детализации в таблице, вы должны использовать слегка отличающиеся формулы, как описано в разделе «Полный шаблон».
Примеры использования
Вы можете использовать шаблон ABC-классификации всякий раз, когда хотите сфокусировать внимание на меньшем количестве элементов в наборе, например, когда вам нужно распределить ограниченные ресурсы более эффективным способом. Ниже представлен небольшой список распространенных вариантов использования, но реальных способов применения значительно больше.
Управление запасами
Вы можете использовать ABC-классификацию в качестве метода категоризации запасов, чтобы лучше управлять запасами и снизить затраты на инвентаризацию. Элементы в классе A являются самыми важными для бизнеса, и вам следует чаще анализировать их стоимость, тогда как элементы в классе C менее важны, а элементы в классе B находятся в промежуточном состоянии. Например, вы можете увеличить доступность товара и договориться о более выгодных ценах на товары класса A, сократив время и ресурсы, затрачиваемые на товары в классах B и C.
Мера, используемая в качестве цели для ABC-классификации в управлении запасами, может включать несколько критериев, которые учитывают объем (продаж), прибыльность (маржинальная прибыль от инвестиций в запасы) и скорость (количество заказов на товар).
Сегментация покупателей
Вы можете использовать ABC-классификацию клиентов для проверки ресурсов, выделенных для продаж и маркетинга, таких как инвестиции в политику удержания клиентов, расстановка приоритетов в обращениях в службу технической поддержки, назначение выделенных менеджеров по работе с клиентами и т.д. Меры, которые используют в качестве цели для классификации – это обычно доход и маржа.
Маркетинговая сегментация
Вы можете использовать ABC классификацию для сегментации продуктов для распределения маркетингового бюджета, который используется для продвижения и стимулирования продаж продуктов. Меры, которые используют в качестве цели для классификации – это обычно доход и маржа, в то время как рассматриваемой единицей может быть номер SKU продукта или группа признаков (например, категория, модель, цвет и т.д.).
Полный шаблон
Вы рассчитываете ABC-классификацию для объекта с помощью следующего шаблона, используя эти маркеры:
- <granularity_table> – это таблица, которая определяет уровень подразделения сущностей, которые вы хотите классифицировать. Например, это может быть таблица Products («Продукты»), если вы хотите классифицировать продукты.
- <granularity_attribute> – это атрибут, который вы хотите использовать в качестве цели классификации (то, что объединяет сущности в меньшее количество элементов). Например, это может быть Products[ProductModel], столбец Product Model («Модель продукта») таблицы Products («Продукты»).
- <measure> – это значение, которое нужно вычислить для каждого объекта <granularity_table> для ABC классификации.
[EntityMeasure] = CALCULATE ( <measure> ) [CumulatedPercentage] = CALCULATE ( <measure>, ALL ( <granularity_table> ), <granularity_table>[EntityMeasure] >= EARLIER ( <granularity_table>[EntityMeasure] ) ) / CALCULATE ( <measure>, ALL ( <granularity_table> ) ) [ABC Class] = SWITCH ( TRUE (), <granularity_table>[CumulatedPercentage] <= 0.7, "A", <granularity_table>[CumulatedPercentage] <= 0.9, "B", "C" )
Например, вы можете внедрить вычисляемый столбец ABC Product («АВС Продукт») в модели с таблицами Products («Продукты») и Sales («Продажи») следующим образом:
[ProductSales] = CALCULATE ( [Sales Amount] ) [ProductPercentage] = CALCULATE ( [Sales Amount], ALL ( Products ), Products[ProductSales] >= EARLIER ( Products[ProductSales] ) ) / CALCULATE ( [Sales Amount], ALL ( Products ) ) [ABC Product] = SWITCH ( TRUE (), Products[ProductPercentage] <= 0.7, "A", Products[ProductPercentage] <= 0.9, "B", "C" )
Если вы хотите рассчитать ABC-классификацию для атрибута сущности, следует использовать немного другой шаблон только для вычисляемого столбца EntityMeasure («Мера сущности»):
[EntityMeasure] = CALCULATE ( <measure>, ALL ( <granularity_table> ), <granularity_table>[<granularity_attribute>] = EARLIER( <granularity_table>[<granularity_attribute>] ) )
Например, вы внедряете вычисляемый столбец ABC Model (АВС Модель») в той же модели с таблицами Products («Продукты») и Sales («Продажи») следующим образом:
[ModelSales] = CALCULATE ( [Sales Amount], ALL ( Products ), Products[ProductModel] = EARLIER ( Products[ProductModel] ) ) [ModelPercentage] = CALCULATE ( [Sales Amount], ALL ( Products ), Products[ModelSales] >= EARLIER ( Products[ModelSales] ) ) / CALCULATE ( [Sales Amount], ALL ( Products ) ) [ABC Model] = SWITCH ( TRUE (), Products[ModelPercentage] <= 0.7, "A", Products[ModelPercentage] <= 0.9, "B", "C" )
Все продукты, которые принадлежат к одной и той же модели, имеют одинаковую классификацию ABC Model (АВС Модель»).
Чтобы использовать ABC-классификацию для одной денормализованной таблицы, необходимо немного изменить определение EntityMeasure следующим образом:
[EntityMeasure] = CALCULATE ( <measure>, ALLEXCEPT ( <granularity_table>, <granularity_table>[<granularity_attribute>] ) )
Например, вы могли бы реализовать вычисляемые столбцы ABC Product («АВС Продукт») и ABC Model («АВС Модель») в модели с одной денормализованной таблицей продаж следующим образом:
[ProductSales] = CALCULATE ( [Sales Amount], ALLEXCEPT ( Sales, Sales[Product] ) ) [ProductPercentage] = CALCULATE ( [Sales Amount], ALL ( Sales ), Sales[ProductSales] >= EARLIER ( Sales[ProductSales] ) ) / CALCULATE ( [Sales Amount], ALL ( Sales ) ) [ABC Product] = SWITCH ( TRUE, Sales[ProductPercentage] <= 0.7, "A", Sales[ProductPercentage] <= 0.9, "B", "C" ) [ModelSales] = CALCULATE ( [Sales Amount], ALLEXCEPT ( Sales, Sales[Model] ) ) [ModelPercentage] = CALCULATE ( [Sales Amount], ALL ( Sales ), Sales[ModelSales] >= EARLIER ( Sales[ModelSales] ) ) / CALCULATE ( [Sales Amount], ALL ( Sales ) ) [ABC Model] = SWITCH ( TRUE (), Products[ModelPercentage] <= 0.7, "A", Products[ModelPercentage] <= 0.9, "B", "C" )
- Учебный центр по технологиям анализа данных и BI: расписание/запись на учебные курсы, тестирование разработчиков — https://education.biconsult.ru/
- Присоединяйтесь к QUBIC – сообщество профессионалов в области BI! Наши страницы в соц.сетях – расписание учебных курсов, бесплатные учебные материалы, анонсы мероприятий: https://vk.com/club165575964 и https://www.facebook.com/qubicspb
- Неофициальный форум разработчиков QlikView & Qlik Sense Russian forum
- Канал на Youtube – много обучающих видео и записи вебинаров
- Готовые решения “Конструктор финансовой отчетности” и “Анализ продаж”