ABC-классификация

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

Пример базового шаблона

Предположим, вы хотите оценить важность того, или иного продукта для дохода вашей компании с помощью ABC-анализа. Вы должны отнести каждый продукт к определенному классу (A, B или C), для которого верно следующее:

  • Продукты класса А составляют 70% доходов.
  • Продукты класса B обеспечивают 20% доходов.
  • Продукты класса C составляют оставшиеся 10% доходов.

В таблице Products («Продукты») создается вычисляемый столбец, который содержит класс ABC, используемый в качестве атрибута группировки в отчетах. Таблица Products («Продукты») связана с таблицей Sales («Продажи»).

Рисунок 1. Таблица 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"
 ) 
Рисунок 2. В вычисляемых столбцах таблицы Products («Продукты») реализована ABC-классификация

Вы можете использовать новый столбец ABC Class («АВС класс») в качестве фильтра в сводных таблицах, как показано на рисунках 3 и 4.

Рисунок 3. У каждой модели продукта могут быть продажи в классах A, B и C


Рисунок 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"
 ) 
Рисунок 5. ABC-столбец Product («Продукт») оценивает каждую строку в таблице Products («Продукты»)

Если вы хотите рассчитать 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 (АВС Модель»).

Рисунок 6. Столбец 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"
 ) 
Рисунок 7. Столбец ABC Product («АВС Продукт»), реализованный в единой денормализованной таблице.

Рисунок 8. Столбец ABC Model («АВС Модель»), реализованный в единой денормализованной таблице.

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

64 queries in 0,496 seconds