Имя: Пароль:
1C
 
Промахи и выбросы в продажах
0 Прохожий
 
05.02.26
14:33
Нужно как-то оценить среднюю продажу в месяц. "Нормальная" продажа идет 1-2 объема, но бывают перекупы, которые иногда берут по 20-50 объемов и т.п. Нужно как-то отделить такие продажи и опираться только на "нормальные" продажи. Есть какой-то математический аппарат или просто в запросе собирать по регистраторам при условии что количество продажи меньше какого-то значения? Цель найти средний размер "нормальной" продажи, умножить на число продаж в месяц и понять потребность в месяц без учета выбросов.
Не все меряется штуками, поэтому "количеством меньше 5" результат получить не удается.
Слишком сложная математика будет пугать народ.
1 Krendel
 
05.02.26
14:39
Мат ожидание и дисперсия
2 Прохожий
 
05.02.26
14:39
(1) Оно понятно.
3 Прохожий
 
05.02.26
14:40
А может уже есть какой новомодный ИИ?
4 Krendel
 
05.02.26
14:40
Если УТ - вешаешь 1 часть на одно соглашение, другую на другое
5 Krendel
 
05.02.26
14:41
Любой платный ИИ тебе сделает анализ по твоим данным
6 Прохожий
 
05.02.26
14:54
(4) Никто ничего вешать не будет. Только роботы. Последняя надежда человечества.
7 Прохожий
 
05.02.26
14:54
(5) платный может. Разово. А мне надо вечный.
8 d4rkmesa
 
05.02.26
15:07
(0) Что-то кажется, любой продажник должен об этом больше рассказать. Медианные значения исключают всплески, по идее. Можно попробовать потыкать "анализ данных и прогнозирование" (своеобразный и крайне непопулярный функционал в платформе) https://its.1c.ru/db/v8310doc#bookmark:dev:TI000000700 .
9 Krendel
 
05.02.26
15:13
(6)(7) Ну вот и ответ ;-)
10 Галахад
 
гуру
05.02.26
16:15
(8) + 1. Посчитать медиану не сложная математика.
11 АгентБезопасной Нацио
 
05.02.26
16:17
Стандартный XYZ-анализ. Т.е. (1).
12 АгентБезопасной Нацио
 
05.02.26
16:36
хм. Был уверен, что в языке запросов есть, а оказывается - только в СКД
13 АгентБезопасной Нацио
 
05.02.26
17:19
ВЫБРАТЬ
    ТоварыНаСкладах.Номенклатура КАК Номенклатура,
    ТоварыНаСкладах.ВНаличии КАК ВНаличии
ПОМЕСТИТЬ ВТ_
ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
    ТоварыНаСкладах.Период > &Период
    И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
    И ТоварыНаСкладах.Номенклатура В(&Номенклатура)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_.Номенклатура КАК Номенклатура,
    СУММА(ВТ_.ВНаличии) КАК СуммаЕдиниц,
    СУММА(1) КАК КоличествоПродаж,
    СУММА(ВТ_.ВНаличии) / СУММА(1) КАК Среднее
ПОМЕСТИТЬ ВТ_Средние
ИЗ
    ВТ_ КАК ВТ_

СГРУППИРОВАТЬ ПО
    ВТ_.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_.Номенклатура КАК Номенклатура,
    СУММА((ВТ_.ВНаличии - ВТ_Средние.Среднее) * (ВТ_.ВНаличии - ВТ_Средние.Среднее)) КАК ДКвСумма
ПОМЕСТИТЬ ВТ_ДКв
ИЗ
    ВТ_ КАК ВТ_
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Средние КАК ВТ_Средние
        ПО ВТ_.Номенклатура = ВТ_Средние.Номенклатура

СГРУППИРОВАТЬ ПО
    ВТ_.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Средние.Номенклатура КАК Номенклатура,
    ВТ_Средние.СуммаЕдиниц КАК СуммаЕдиниц,
    ВТ_Средние.КоличествоПродаж КАК КоличествоПродаж,
    ВТ_Средние.Среднее КАК Среднее,
    ВТ_ДКв.ДКвСумма/ВТ_Средние.КоличествоПродаж КАК Дисперсия,
    SQRT(ВТ_ДКв.ДКвСумма/ВТ_Средние.КоличествоПродаж) КАК СтдОткл
ИЗ
    ВТ_Средние КАК ВТ_Средние
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДКв КАК ВТ_ДКв
        ПО ВТ_Средние.Номенклатура = ВТ_ДКв.Номенклатура
14 АгентБезопасной Нацио
 
05.02.26
17:21
Ну и дальше фильтруй продажи меньше среднее+стдОткл.
Хотя, конечно, это всё для стандартного распределения, не для продаж...
В общем, задачка интересная "на подумать"...
15 АгентБезопасной Нацио
 
05.02.26
17:36
Наверное, лучше так:
ВЫБРАТЬ
    ТоварыНаСкладах.Номенклатура КАК Номенклатура,
    ТоварыНаСкладах.ВНаличии КАК ВНаличии
ПОМЕСТИТЬ ВТ_
ИЗ
    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
ГДЕ
    ТоварыНаСкладах.Период > &Период
    И ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг
    И ТоварыНаСкладах.Номенклатура В(&Номенклатура)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_.Номенклатура КАК Номенклатура,
    ВТ_.ВНаличии КАК СуммаЕдиниц,
    СУММА(1) КАК КоличествоПродаж
//ПОМЕСТИТЬ ВТ_Средние
ИЗ
    ВТ_ КАК ВТ_

СГРУППИРОВАТЬ ПО
    ВТ_.Номенклатура,
    ВТ_.ВНаличии
Упорядочить ПО     
    ВТ_.Номенклатура,
    СУММА(1) УБЫВ
    
Потом соединить с собой, и посчитать, какие количества продаж дают заданное качество сервиса (ну, скажем, 90% продаж) и фильтровать по верхней границе.
Завтра для себя сделаю, закину...
Закон Брукера: Даже маленькая практика стоит большой теории.