Хотя если я верно понимаю, нужен массив с ID товара и count(свой) При "заказе" товара loop random > внутри цикла парсятся ID и кладутся в массив с индексом count++ второй цикл f-рандом(count) и удаляются все ID из массива с f-softmax(count) (f- как математическая функция)