Применение ИИ 15 лет назад

2006 год, зима.

Работаю в ООО «Топ-книга» то-ли менеджером распределительной логистики (распределяли товар по нашим магазинам), толь начальником этого отдела, уж не помню.

Направление: открытки, игрушки и т.п.

Вся ИТ система :) работала в «Шопсах», это такие Excel файлы с перечнем товаров, приходом и расходом. Все увязано формулами и макросами. Из-за ограничения тогдашнего экселя в 256 столбцов, файлы приходилось часто менять, заводить новые.

И соответственно с тем уровнем аналитики и ИТ, формирование заявок в магазины конечно базировалось на их продажах/остатках, но в общем все делалось на глаз.

Пример:

«Продалось за месяц 5 красных мишек (осталось 2), давай закинем 3 красных и 4 желтых (красные кончились)… вроде хорошо пошли, а желтые это почти красные.»

(На светофоре моргающий желтый, это почти зеленый J.)

Или

«Мало что-то видов открыток «С днем рождения бабушке»... накинем еще щепотку»

Небольшое отступление.

Такое тыканье пальцем в небо меня то же не устраивало и в результате была сделана EPR система на базе тех же Excel файлов…

Да… да! EPR система (автоматическое формирование заявок в магазины + заявок на склад от поставщиков) была сделана в Экселе с макросами.

Но попозже напишу как там все было.

Вот и смотря на всю эту пестроту перед глазами.

Возник в голове вопрос…?

Когда менеджер делает заявку со склада в магазин новых позиций, то хотелось бы знать, как они будут продаваться.

Но!

Когда менеджер по закупу, заказывает у производителя товар, то хотелось бы +- знать, как он будет продаваться.

И это даже важнее!

И знать, как будет продаваться товар, нужно в виде цифры!

Т.е. предполагать, Как будет продаваться товар, до его закупа у поставщика.

Без экспертной оценки человеком.

Не слабое такое желание :)

В ту пору ввели такое понятие как коэффициент оборачиваемости. Т.е. отношение продаж в неделю к запасам в неделях.

К= «Продажи в неделю»/ «Запас в неделях»

Сам он показывал фактически товарный запас, а его динамика о «продаваемости» и о перекосах поставок/продаж конечно.

Товарный запас, насколько помню, устанавливался не более 12-16 недель.

(Если подумать с сегодняшнего времени, это дикость. Но логистика доставки тогда была такая логистика + видимо на верху было видней.)

«К» считался в штуках, а не в рублях.

Возникла гипотеза.

Клиент ходит по магазину, ищет товар…

Наш товар «цепляет только за глаз».

Да, тебе нужна открытка или игрушка +- известного вида-содержания, но купишь то, что тебе понравилось.

Стало быть, надо как то понять, что нравится людям.

Поскольку под рукой была база данных об истории продаж около 50.000 или 80.000 позиций + их фото. Возникла мысль как то все это обработать и посмотреть.

Копаясь в интернете, опять наткнулся на нейронные сети.

Нашел простенькую программу NeuroPro 0.25, от какого-то института Российского.

Покрутил ее, покопался...

Возникло два вопроса.

1. На что смотреть в картинках товара?

2. В каком виде представить коэфф. оборачиваемости?

Да я решил, что нейросеть должна выдавать прогноз по коэфф. оборачиваемости.

Поехали.

«На что смотреть в картинках?»

Решил разбить картинку на 9 квадратов.

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

Т.е. на одну позицию товара получаем список из 9и значений цвета (цифры условные).

1691528224

4131431941

5113243236

0406324136

.. и т.д.

«В каком виде представить коэфф. оборачиваемости?»

С помощью функции рациональная сигмоида F(x)=x/([x]+a) значения коэфф. оборачиваемости были засунуты в интервал 0…1.

Обработка картинки велась в макросе в Excel… ну не программист я :).

В чем разобрался, то и пользовал. Да в то время, в общем то многое работало так или иначе в Excel.

По итогу получил базу, как сейчас говорят датасет из 50.000 или 80.000 (за давностью лет не помню) соответствий.

«Девять чисел характеризующих картинку»

и

«Числа в пределах 0…1 характеризующих как хорошо эта позиция продается»

В программе NeuroPro была создана трехслойная нейросеть в 9-ю входами и одним выходом.

Некоторое время я ее крутил всяко разно, изменяя коэффициенты, веса нейронов, количество в слоях и т.д.

В итоге, было взято около 10.000 обучающих примеров и сеть была на этом наборе обучена.

Из запаса взяты несколько тысяч проверочных примеров. Сеть выдала прогноз по оборачиваемости товара, я его сравнил с фактом и получил достоверность прогноза 76%, для допуска +-0,1.

Т.е. мог предсказывать «продаваемость» товара по дробной шкале от 0 до 1

(0- плохие продажи, 1-это супер продажи).

На прогноз (да и на обучающие данные) накладывались конечно ошибки.

Запас не всегда поддерживался в нужном объеме.

+

Качество картинок порой было не оч. хорошее.

+

В идеале конечно, надо было брать данные по конкретному региону/магазину (предпочтения могут быть разными).

Все это делалось после работы и заняло коло двух месяцев. К сожалению, далее экспериментальных проб дело не пошло, начальство не поняло, что это дает.

Обращался и в сами издательства, но и там не поняли.

Да... надо было конечно с генеральным говорить, благо все в одном здании и довольно все демократично было.

А может было еще не время?

11
Начать дискуссию