|
ABC-анализ является одним из наиболее популярных статистических методов анализа деятельности торговых предприятий.
Основная идея ABC-анализа заключается в определении относительно небольшой группы элементов общей выборки, которая в своей сумме вносит наибольший вклад в анализируемый показатель деятельности предприятия (http://ru.wikipedia.org/wiki/ABC-анализ)
Примерами применения ABC-анализа могут быть:
1. Определение основных покупателей, которые в сумме покупают 70% от общего объема продаж;
2. Определение группы товаров, продажи которых которых в сумме составляют 70% от общего объема продаж;
3. Определение группы товаров, остатки которых составляют основную массу складских остатков
4. Определение группы покупателей, задолженность которых составляет основную массу дебиторской задолженности
Механизмы ABC-анализа входят в существующие на сегодня типовые решениях 1С. Более того, они являются одними из самых основных инструментов анализа эффективности торговой деятельности предприятия.
В статье обобщен накопленный опыт и описан универсальный подход, позволяющий использовать механиз запросов 1С для эффективного расчета ABC-классов объектов в любой выборке.
Метод состоит из двух основных этапов:
1) Организация выборки данных;
2) ABC-анализ предоставленной выборки.
Начиная с версии 1С 8.1, язык запросов позволяет создавать пакетные запросы с использованием временных таблиц. Это существенно упрощает процесс обработки данных в нашем случае. Для примера приведем текст запроса, в котором анализируется выборка продаж за указанный период в разрезе договоров контрагентов (запрос может быть использован в конфигурации "Управление производственным предприятием для Украины", редакция 1.1")
"Управление производственным предприятием для Украины", редакция 1.1
Разработка конфигурации: "ABBYY Ukraine", 2005-2006 (1.1.5.6)
// Первая часть запроса - организация выборки данных и размещение ее в виде временной таблицы
ВЫБРАТЬ
ПродажиОбороты.ДоговорКонтрагента КАК ЗначениеГруппировки,
СУММА(ПродажиОбороты.СтоимостьОборот) КАК ЗначениеПоказателя
ПОМЕСТИТЬ ТаблицаВыборки
ИЗ
РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, , ) КАК ПродажиОбороты
СГРУППИРОВАТЬ ПО
ПродажиОбороты.ДоговорКонтрагента
ИМЕЮЩИЕ
СУММА(ПродажиОбороты.СтоимостьОборот) > 0
;
// Вторая часть запроса - ABC-анализ выборки данных
ВЫБРАТЬ
ЗначенияПоказателяПоГруппировкам.ЗначениеГруппировки,
ЗначенияПоказателяПоГруппировкам.ЗначениеПоказателя,
ВЫБОР КОГДА СУММА(ЗначенияПоказателяПоГруппировкамДляСоединения.ЗначениеПоказателя) <= ВыборкаОбщегоПоказателя.ОбщаяСуммаПоказателя * &ОбъемКласса_C / 100
ТОГДА "C-класс"
КОГДА СУММА(ЗначенияПоказателяПоГруппировкамДляСоединения.ЗначениеПоказателя) <= ВыборкаОбщегоПоказателя.ОбщаяСуммаПоказателя * (&ОбъемКласса_C + &ОбъемКласса_B) / 100
ТОГДА "B-класс"
ИНАЧЕ "A-класс"
КОНЕЦ КАК ABC_класс
ИЗ
ТаблицаВыборки КАК ЗначенияПоказателяПоГруппировкам
ЛЕВОЕ СОЕДИНЕНИЕ
ТаблицаВыборки КАК ЗначенияПоказателяПоГруппировкамДляСоединения
ПО
ЗначенияПоказателяПоГруппировкам.ЗначениеПоказателя >= ЗначенияПоказателяПоГруппировкамДляСоединения.ЗначениеПоказателя
ЛЕВОЕ СОЕДИНЕНИЕ
(ВЫБРАТЬ // Общая сумма показателя
СУММА(ТаблицаВыборки.ЗначениеПоказателя) КАК ОбщаяСуммаПоказателя
ИЗ
ТаблицаВыборки
) КАК ВыборкаОбщегоПоказателя
ПО
ИСТИНА
СГРУППИРОВАТЬ ПО
ЗначенияПоказателяПоГруппировкам.ЗначениеГруппировки,
ЗначенияПоказателяПоГруппировкам.ЗначениеПоказателя,
ВыборкаОбщегоПоказателя.ОбщаяСуммаПоказателя
УПОРЯДОЧИТЬ ПО
ABC_класс,
ЗначенияПоказателяПоГруппировкам.ЗначениеПоказателя УБЫВ
// Третья часть запроса - уничтожение временной таблицы
;
УНИЧТОЖИТЬ
ТаблицаВыборки
Параметры запроса:
1. Дата1 - дата начала анализа
2. Дата2 - дата окончания анализа
3. ОбъемКласса_C - часть (в процентах, как правило, 10%) малого класса C
4. ОбъемКласса_B - часть (в процентах, как правило, 20%) среднего класса B
Пример результата запроса по продажам товаров:
|
|
|
| ЗначениеГруппировки |
ЗначениеПоказателя |
ABC_класс |
| Диван для отдыха |
10 796,58 |
A-класс |
| МИНСК-АТЛАНТ 1733-03 |
7 632,87 |
A-класс |
| СТИНОЛ RF-370 |
4 711,65 |
A-класс |
| Кресло-качалка |
4 103,45 |
A-класс |
| Телевизор SONY KV-21 LT 1 K |
4 089,47 |
A-класс |
| Телевизор SAMSUNG CS-21 S 4 WR |
2 705,27 |
A-класс |
| Телевизор "SHARP" |
2 091,93 |
B-класс |
| Телевизор SAMSUNG CS-21 K 2 |
1 917,54 |
B-класс |
| Телевизор "JVC" |
1 752,72 |
B-класс |
| СТИНОЛ RF-305 |
1 430,57 |
B-класс |
| Станок для фигурного плетения |
678,46 |
C-класс |
| Стеллаж складской |
452,3 |
C-класс |
| Мясорубка MOULINEX A 15 |
325,09 |
C-класс |
| Ботинки женские демисезонные |
304,34 |
C-класс |
| Мужские сапоги с натуральным мехом |
298,47 |
C-класс |
| Женские модельные туфли |
223,78 |
C-класс |
| Коньяк Courvoisier VS 0.5л |
150,75 |
C-класс |
| Кофеварка BRAUN KF22R |
144,17 |
C-класс |
| Коньяк Одесса Шустов 0.7л |
141,33 |
C-класс |
| Ботинки мужские |
134,61 |
C-класс |
| Женские босоножки |
134,27 |
C-класс |
| Коньяк Коктебель 5* 0.5л |
89,52 |
C-класс |
| Водка Nemiroff Nemirovskaya 0.7л |
76,88 |
C-класс |
| Пиво Bitburger бочонок 5л |
75,37 |
C-класс |
| Водка Nemiroff Nemirovskaya особая 0.5л |
66,9 |
C-класс |
| Вино Baron Philippe de Rothschild Medoc 0.75 |
66,14 |
C-класс |
| Водка Smirnoff Blue 0.5л |
62,42 |
C-класс |
| Коньяк Martell VS 0.5л |
61,24 |
C-класс |
| Вино Basvinex Совиньон белое 0.75л |
53,28 |
C-класс |
| Коньяк Hennessy VS 0.7л |
48,06 |
C-класс |
| Пиво Оболонь Premium 0.5л |
47,94 |
C-класс |
| Ремонт дивана |
47,5 |
C-класс |
| Вино Askaneli Brothers Оджалеши 0,75л |
45,23 |
C-класс |
| Водка Nemiroff особая (черная) 0.7л |
40,03 |
C-класс |
| Вино Askaneli Brothers Киндзмараули 0.75л |
39,57 |
C-класс |
| Водка Smirnoff Red 0.5л |
36,74 |
C-класс |
| Пиво Heineken с/б 0.33л |
27,13 |
C-класс |
| Вино Alegre Лидия де люкс 0.7л |
21,21 |
C-класс |
| Вино Bonacchi Montepulciano DOC 2000 11.5% 0.75л |
19,22 |
C-класс |
| Водка Nemiroff Пшеничная 0.5л |
13,57 |
C-класс |
| Пиво De Koninck Antoon blond 6% с/б 0.75л |
11,87 |
C-класс |
| BOSCH холодильник |
9,24 |
C-класс |
| Пиво Belle-Vau Kriek 0.375л |
9,05 |
C-класс |
| Пиво Невское светлое 0,5л |
9,05 |
C-класс |
| Мужские сапоги с искуственным мехом |
7,54 |
C-класс |
| Пиво Bavaria 8,6 ж/б 0.5л |
5,09 |
C-класс |
| Транспортные расходы |
2,83 |
C-класс |
| Поддон деревянный |
2,83 |
C-класс |
| Междугородные переговоры |
0,95 |
C-класс |
Основным достоинством данного метода является его универсальность, ведь он работает с любой выборкой данных. Кроме того, благодаря использованию механизма запросов, существенно повышена производительность работы с большими объемами данных (более чем в 10 раз по сравнению с традиционными алгоритмами обработки, использующими таблицы значений). Для анализа различных показателей остается лишь правильно организовать входящую выборку.
Примеры организации выборок:
1. Выборка продаж в разрезе товарной номенклатуры:
ВЫБРАТЬ // Значения показателя в разрезе установленных группировок
Номенклатура КАК ЗначениеГруппировки,
СУММА(СтоимостьОборот) КАК ЗначениеПоказателя
ПОМЕСТИТЬ ТаблицаВыборки
ИЗ
РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2)
СГРУППИРОВАТЬ ПО
Номенклатура
ИМЕЮЩИЕ
СУММА(СтоимостьОборот) > 0
2. Выборка товарных остатков в разрезе номенклатуры:
ВЫБРАТЬ // Значения показателя в разрезе установленных группировок
Номенклатура КАК ЗначениеГруппировки,
СУММА(СтоимостьОстаток) КАК ЗначениеПоказателя
ПОМЕСТИТЬ ТаблицаВыборки
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата1)
СГРУППИРОВАТЬ ПО
Номенклатура
ИМЕЮЩИЕ
СУММА(СтоимостьОстаток) > 0
3. Выборка таблицы дебиторской задолженности:
ВЫБРАТЬ
ДоговорКонтрагента КАК ЗначениеГруппировки,
СУММА(СуммаУпрОстаток) КАК ЗначениеПоказателя
ПОМЕСТИТЬ ТаблицаВыборки
ИЗ
РегистрНакопления.ВзаиморасчетыСКонтрагентами.Остатки
СГРУППИРОВАТЬ ПО
ДоговорКонтрагента
ИМЕЮЩИЕ
СУММА(СуммаУпрОстаток) > 0
Прокопенко Константин Игоревич
Направление бизнес-приложений Руководитель сектора управленческого учета ЗАТ "Спец-інвест"
|