Главная страница » Как сделать xyz анализ в 1с

Как сделать xyz анализ в 1с

XYZ-анализ в 1С:Предприятии 8 — это метод классификации ресурсов (чаще всего товаров/номенклатуры, но также может быть клиентов или поставщиков) по степени стабильности их потребления или продаж. Цель XYZ-анализа — оценить Предсказуемость спроса.

Основные понятия XYZ-анализа:

    Класс X: Товары/ресурсы с Высокой стабильностью потребления (спроса), практически без значительных колебаний. Их продажи легко прогнозировать. Класс Y: Товары/ресурсы со Средней стабильностью потребления. Могут наблюдаться сезонные или другие колебания, но в целом спрос предсказуем. Класс Z: Товары/ресурсы с Нерегулярным, спорадическим потреблением. Продажи трудно или невозможно прогнозировать.

Как проводится XYZ-анализ (методика):

Основной показатель для XYZ-анализа — Коэффициент вариации (Coefficient of Variation, CV). Он показывает относительное отклонение данных от их среднего значения.

Формула коэффициента вариации:

$CV = (\text{стандартное_отклонение} / \text{среднее_значение}) \times 100\%$

Шаги проведения XYZ-анализа:

Определение объекта анализа: Чаще всего это номенклатура, но может быть клиент, поставщик, номенклатурная группа. Выбор параметра анализа: Что именно мы будем анализировать? Обычно это Количество проданного товара или Сумма выручки от продаж за определенный период. Определение периодов анализа: Выбирается несколько последовательных периодов (например, 3, 6, 12 месяцев, недель). Чем больше периодов, тем точнее будет анализ. Важно, чтобы периоды были одинаковой длительности. Сбор данных: Для каждого объекта анализа (например, каждой позиции номенклатуры) собираются данные по выбранному параметру за каждый из выбранных периодов. Расчет среднего значения: Для каждого объекта рассчитывается среднее значение параметра за все периоды. Расчет стандартного отклонения: Для каждого объекта рассчитывается стандартное отклонение значения параметра за все периоды. Расчет коэффициента вариации (CV): По вышеуказанной формуле для каждого объекта. Присвоение классов: На основе рассчитанного коэффициента вариации объектам присваиваются классы X, Y, Z по следующим критериям (пороговые значения могут варьироваться в зависимости от бизнеса):

    Класс X: CV < 10% (иногда до 15%) Класс Y: 10% (15%) <= CV < 25% (иногда до 50%) Класс Z: CV >= 25% (или 50%)

Реализация XYZ-анализа в 1С:Предприятии 8:

В типовых конфигурациях 1С (например, 1С:Управление торговлей (УТ), 1С:ERP, 1С:Комплексная автоматизация (КА)) функционал ABC/XYZ-анализа Встроен.

Встроенный функционал в УТ / ERP:

Местонахождение:

    В УТ 11 / КА 2 / ERP 2 обычно это находится в разделе "Маркетинг и планирование" (или "Закупки" / "Склад и доставка") -> "Классификация номенклатуры" или "ABC/XYZ-анализ".

Настройка:

    Открыв отчет или обработку классификации, вы сможете настроить:

      Период анализа: (например, 6 месяцев, 12 месяцев). Параметр анализа: Количество продаж, Сумма продаж, Валовая прибыль и т. д. Группировка: По номенклатуре, номенклатурным группам, партнерам (клиентам). Настройка пороговых значений: В некоторых конфигурациях можно настроить границы для классов X, Y, Z (т. е. 10%, 25%).

Выполнение: После настройки параметров запускается процесс классификации. 1С сама рассчитывает необходимые показатели (количество/сумма продаж по периодам, среднее, стандартное отклонение, коэффициент вариации) и присваивает класс. Результаты: Результаты обычно выводятся в виде отчета (табличного или графического), где для каждой позиции номенклатуры (или другого объекта анализа) указан присвоенный класс XYZ. Часто XYZ-анализ комбинируется с ABC-анализом (по вкладу в прибыль/оборот).

Пример пути в УТ 11 (может немного отличаться в разных версиях): Раздел: Маркетинг и планирование -> Настройка анализов -> Классификация номенклатуры (или через отчеты: Отчеты по продажам -> ABC/XYZ-анализ номенклатуры).

Если нет встроенного функционала (например, в 1С:Бухгалтерия или старых версиях):

Если ваша конфигурация не имеет встроенного XYZ-анализа, его можно реализовать программно или использовать внешние отчеты/обработки с Инфостарта или аналогичных ресурсов.

Программная реализация (основные шаги):

Получение данных:

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

Фрагмент кода

// Пример запроса (упрощенный)

Запрос = Новый Запрос;

Запрос. Текст =

"ВЫБРАТЬ

| ПродажиОбороты. Номенклатура,

| НАЧАЛОПЕРИОДА(ПродажиОбороты. Период, МЕСЯЦ) КАК МесяцПродаж,

| ПродажиОбороты. КоличествоОборот КАК Количество,

| ПродажиОбороты. СуммаОборот КАК Сумма

|ИЗ

| РегистрНакопления. Продажи. Обороты(&НачалоПериода, &КонецПериода, Месяц, ) КАК ПродажиОбороты

|ГДЕ

| ПродажиОбороты. Номенклатура. ТипНоменклатуры = &ТипНоменклатуры

|СГРУППИРОВАТЬ ПО

| ПродажиОбороты. Номенклатура,

| НАЧАЛОПЕРИОДА(ПродажиОбороты. Период, МЕСЯЦ)";

Запрос. УстановитьПараметр("НачалоПериода", НачалоПериода(ТекущаяДата(), Месяц) — 6 * Месяц); // Например, за 6 месяцев

Запрос. УстановитьПараметр("КонецПериода", КонецПериода(ТекущаяДата(), Месяц));

Запрос. УстановитьПараметр("ТипНоменклатуры", Перечисления. ТипыНоменклатуры. Товар); // Пример

РезультатЗапроса = Запрос. Выполнить().Выгрузить();

Подготовка данных для расчета:

    Выгруженные данные нужно преобразовать в структуру, удобную для расчетов. Например, в таблицу значений, где каждая строка — номенклатура, а колонки — продажи за каждый месяц. Или в структуру вида: КартаНоменклатуры -> СписокЗначенийПродажПоМесяцам.

Расчет среднего значения и стандартного отклонения:

    В 1С нет встроенных функций для прямого расчета стандартного отклонения (как в Excel). Вам придется реализовать их вручную:

      Среднее значение: Сумма значений / Количество значений. Стандартное отклонение: Найти среднее значение. Для каждого значения: вычесть среднее, возвести результат в квадрат. Просуммировать полученные квадраты отклонений. Разделить сумму на количество значений (для генеральной совокупности) или на (количество значений — 1) для выборки. Извлечь квадратный корень из результата.

Фрагмент кода

// Пример расчета стандартного отклонения (очень упрощенно)

// Функция для расчета среднего

Функция ВычислитьСреднее(СписокЗначений)

Если СписокЗначений. Количество() = 0 Тогда Возврат 0; КонецЕсли;

Сумма = 0;

Для Каждого Значение Из СписокЗначений Цикл

Сумма = Сумма + Значение;

КонецЦикла;

Возврат Сумма / СписокЗначений. Количество();

КонецФункции

// Функция для расчета стандартного отклонения

Функция ВычислитьСтандартноеОтклонение(СписокЗначений)

Если СписокЗначений. Количество() <= 1 Тогда Возврат 0; КонецЕсли; // Для 1 элемента ст. откл. = 0

Среднее = ВычислитьСреднее(СписокЗначений);

СуммаКвадратовОтклонений = 0;

Для Каждого Значение Из СписокЗначений Цикл

СуммаКвадратовОтклонений = СуммаКвадратовОтклонений + Pow(Значение — Среднее, 2);

КонецЦикла;

// Делим на (N — 1) для выборочного стандартного отклонения

Возврат Sqrt(СуммаКвадратовОтклонений / (СписокЗначений. Количество() — 1));

КонецФункции

Расчет коэффициента вариации:

Фрагмент кода

// В цикле для каждой номенклатуры

// …

КоэффициентВариации = 0;

Если СреднееПродаж <> 0 Тогда

КоэффициентВариации = (СтандартноеОтклонениеПродаж / СреднееПродаж) * 100;

КонецЕсли;

Присвоение класса:

Фрагмент кода

Если КоэффициентВариации < 10 Тогда

КлассXYZ = "X";

ИначеЕсли КоэффициентВариации < 25 Тогда

КлассXYZ = "Y";

Иначе

КлассXYZ = "Z";

КонецЕсли;

Вывод результатов: Отобразить в отчете (схема компоновки данных) или табличном документе.

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

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх