Um acompanhamento da resposta de @StephanKolassa:
Concordo com Stephan que o ETS () do pacote de previsão em R é provavelmente a sua melhor e mais rápida escolha. Se o ETS não der bons resultados, convém usar o pacote Profeta do Facebook (o Auto.arima é fácil de usar, mas dois anos de dados semanais limitam os dados suficientes para um modelo ARIMA na minha experiência). Pessoalmente, achei o Profeta mais fácil de usar quando você tem dados sobre promoções e eventos de férias disponíveis, caso contrário, o ETS () pode funcionar melhor. Seu verdadeiro desafio é mais um desafio de codificação de como iterar com eficiência seu algoritmo de previsão em um grande número de séries temporais. Você pode verificar esta resposta para obter mais detalhes sobre como automatizar a geração de previsão .
Na previsão de demanda, alguma forma de previsão hierárquica é realizada com freqüência, ou seja, você possui 2000 produtos e precisa de uma previsão separada para cada produto separado, mas existem semelhanças entre os produtos que podem ajudar na previsão. Você deseja encontrar uma maneira de agrupar o produto ao longo de uma hierarquia de produtos e, em seguida, usar a previsão hierárquica para melhorar a precisão. Como você está procurando previsões no nível do produto individual, tente tentar a abordagem hierárquica de cima para baixo.
Algo um pouco mais exagerado, mas eu gostaria de dizer: Amazon e Uber usam redes neurais para esse tipo de problema, onde, em vez de ter uma previsão separada para cada produto / série temporal, eles usam uma gigantesca rede neural recorrente para prever todas as séries temporais em massa. Observe que eles ainda terminam com previsões individuais para cada produto (no caso da Uber, é o tráfego / demanda por cidade em oposição aos produtos), eles estão apenas usando um modelo grande (um modelo de aprendizado profundo LSTM) para fazer tudo de uma só vez. A idéia é semelhante em espírito à previsão hierárquica, no sentido de que a rede neural aprende com as semelhanças entre os históricos de diferentes produtos para obter melhores previsões. A equipe do Uber disponibilizou parte de seu código ( por meio dos repositórios do Github da competição M4), no entanto, é o código C ++ (não exatamente o idioma favorito da multidão de estatísticas). A abordagem da Amazon não é de código aberto e você precisa usar o serviço pago Amazon Forecast para fazer as previsões.
Com relação ao seu segundo comentário: você precisa diferenciar entre previsão de vendas e previsão de demanda. A demanda é irrestrita; se de repente um item for popular e seus clientes quiserem 200 unidades, não importa que você tenha apenas 50 unidades em mãos, sua demanda ainda será de 200 unidades.
Na prática, é muito difícil observar a demanda diretamente, por isso usamos as vendas como proxy da demanda. Isso tem um problema porque não leva em conta as situações em que um cliente queria comprar um produto, mas não estava disponível. Para resolvê-lo, juntamente com os dados históricos de vendas, as informações sobre níveis de estoque e falta de estoque são incluídas diretamente em um modelo ou usadas para pré - processar a série temporal antes de gerar um modelo para previsão .
Normalmente, uma previsão sem restrições é gerada primeiro por um mecanismo de previsão e depois repassada para um sistema de planejamento que adiciona as restrições mencionadas (por exemplo, a demanda é de 500 unidades, mas apenas 300 unidades estão disponíveis) juntamente com outras restrições (estoque de segurança, estoque de apresentação, restrições orçamentárias, planos de promoções ou introduções de novos produtos, etc ...) - no entanto, isso se enquadra na rubrica geral de planejamento e gerenciamento de inventário, sem previsão propriamente dita .