Atualmente, estou trabalhando em uma tarefa de previsão de demanda, com dados de dezenas de milhares de produtos em algumas milhares de lojas. Mais especificamente, tenho alguns anos de dados diários de vendas por produto em cada loja, e meu objetivo é prever as vendas futuras de cada item em cada loja, um dia antes; dois dias antes, etc.
Até agora, considerei dividir cada par de loja de produtos em uma única série temporal e fazer uma previsão para cada série temporal, como foi feito no artigo de Neal Wagner, Técnicas inteligentes para prever várias séries temporais em sistemas do mundo real . Em outras palavras, usarei apenas as informações históricas das vendas do produto de uma determinada loja para prever as vendas futuras desse produto nessa loja.
No entanto, eu tenho visitado o Kaggle e competições como a Previsão de Vendas de Produtos Corporativos Favorita sugerem uma abordagem diferente, que é usar as informações de todas as lojas e todos os produtos para prever vendas futuras. Pelo que entendi, as informações históricas de vendas de todos os produtos em todas as lojas são despejadas no conjunto de treinamento, a partir do qual o modelo aprenderá a prever vendas futuras. É muito diferente dos métodos tradicionais de séries temporais, mas aparentemente, com base nos resultados da competição, funciona.
O último método parece promissor e mais robusto. No entanto, há o problema de ter que processar centenas de milhões de pontos de dados.
Qual método é mais apropriado para minha tarefa? Para aqueles que trabalharam em problemas semelhantes, qual metodologia você recomendaria?
fonte
Respostas:
Eu não recomendaria a abordagem usada por Neal et al. . Seus dados são exclusivos por dois motivos:
Eles estão trabalhando com dados de alimentos, que geralmente são mais densos e mais estáveis do que outros dados de produtos de varejo. Um determinado local estará vendendo dezenas de caixas de leite ou pacotes de ovos por semana e estará vendendo esses mesmos produtos há décadas, em comparação com peças de moda ou de carro, onde não é incomum ter vendas de um único item a cada 3 ou 4 semanas, e dados disponíveis por apenas um ano ou dois.
Eles estão prevendo para armazéns e não lojas. Um único armazém abrange várias lojas, portanto, seus dados são ainda mais densos que a média. De fato, um armazém é normalmente usado como um nível natural de agregação / agrupamento para lojas, portanto, eles já estão essencialmente realizando um agrupamento de dados da loja.
Devido à natureza de seus dados, eles podem modelar séries temporais individuais diretamente. Mas os dados da maioria dos varejistas seriam muito escassos no nível individual de sku / loja para que eles pudessem obter isso.
Como disse o ciclista, esse problema geralmente é abordado usando previsões hierárquicas ou de vários escalões . Todos os pacotes de previsão de demanda comercial usam alguma forma de previsão hierárquica
A idéia é agrupar produtos e lojas em produtos e regiões semelhantes, para os quais as previsões agregadas são geradas e usadas para determinar a sazonalidade e a tendência gerais, que são então distribuídas de maneira reconciliada usando uma abordagem de cima para baixo com as previsões de linha de base geradas para cada sku individual. / combinação de loja.
Além do desafio mencionado pelo ciclista, um problema maior é que encontrar os agrupamentos ideais de produtos e lojas não é uma tarefa trivial, que exige uma combinação de experiência no domínio e análise empírica. Os produtos e as lojas são geralmente agrupados em hierarquias elaboradas (por departamento, fornecedor, marca, etc. para produtos, por região, clima, armazém, etc ... por local), que são alimentados com o algoritmo de previsão juntamente com as vendas históricas dados em si.
Abordando comentários de meraxes
Eles estão fazendo o agrupamento implicitamente usando loja, item, família, classe, cluster como recursos categóricos.
Três pontos em relação a isso:
fonte