Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção

Previsão da Amazônia é um serviço totalmente gerenciado que usa algoritmos estatísticos e de aprendizado de máquina (ML) para fornecer previsões de séries temporais altamente precisas. Recentemente, com base no Amazon Forecast, ajudamos um de nossos clientes de varejo a obter uma previsão de demanda precisa em 8 semanas. A solução melhorou em média 10% a previsão manual em relação ao WAPE métrica. Isso leva a uma economia direta de 16 horas de trabalho mensais. Além disso, estimamos que, atendendo à quantidade correta de itens, as vendas poderiam aumentar em até 11.8%. Neste post, apresentamos o fluxo de trabalho e os elementos críticos para implementar – da prova de conceito (POC) à produção – um sistema de previsão de demanda com o Amazon Forecast, focado nos desafios do setor de varejo.

Histórico e desafios atuais da previsão de demanda no setor de varejo

O objetivo da previsão de demanda é estimar a demanda futura a partir de dados históricos e ajudar no reabastecimento da loja e na alocação de capacidade. Com a previsão de demanda, os varejistas podem posicionar a quantidade certa de estoque em cada local de sua rede para atender à demanda. Portanto, um sistema de previsão preciso pode gerar uma ampla gama de benefícios em diferentes funções de negócios, como:

  • Aumentar as vendas com uma melhor disponibilidade de produtos e reduzir o esforço de desperdício de transferência entre lojas
  • Fornecer informações mais confiáveis ​​para melhorar a utilização da capacidade e evitar proativamente gargalos no provisionamento de capacidade
  • Minimizar os custos de estoque e produção e melhorar o giro de estoque
  • Apresentar uma melhor experiência geral do cliente

As técnicas de ML demonstram grande valor quando um grande volume de dados de boa qualidade está presente. Hoje, o gerenciamento de reabastecimento baseado em experiência ou previsão de demanda ainda é o principal para a maioria dos varejistas. Com o objetivo de melhorar a experiência do cliente, cada vez mais varejistas estão dispostos a substituir os sistemas de previsão de demanda baseados na experiência por previsões baseadas em ML. No entanto, os varejistas enfrentam vários desafios ao implementar sistemas de previsão de demanda baseados em ML na produção. Resumimos os diferentes desafios em três categorias: desafios de dados, desafios de ML e desafios operacionais.

Desafios de dados

Um grande volume de dados limpos e de qualidade é um requisito fundamental para gerar previsões precisas baseadas em ML. Dados de qualidade, incluindo vendas históricas e dados relacionados a vendas (como estoque, preços de itens e promoções), precisam ser coletados e consolidados. A diversidade de dados de vários recursos requer uma plataforma de dados moderna para unir os silos de dados. Além disso, o acesso aos dados em tempo hábil é necessário para previsões de demanda frequentes e refinadas.

desafios de ML

O desenvolvimento de algoritmos avançados de ML requer experiência. A implementação dos algoritmos certos para o problema certo requer conhecimento profundo do domínio e competências de ML. Além disso, aprender com grandes conjuntos de dados disponíveis requer uma infraestrutura de ML escalonável. Além disso, manter algoritmos de ML em produção requer competências de ML para analisar a causa raiz da degradação do modelo e retreinar corretamente o modelo.

Para resolver problemas práticos de negócios, produzir previsões precisas é apenas parte da história. Os tomadores de decisão precisam de previsões probabilísticas em diferentes quantis, tornando importantes as decisões de compensação entre a experiência do cliente e os resultados financeiros. Eles também precisam explicar as previsões às partes interessadas e realizar análises hipotéticas para investigar como diferentes cenários podem afetar os resultados das previsões.

Desafios operacionais

Reduzir o esforço operacional de manter um sistema de previsão econômico é o terceiro principal desafio. Em um cenário comum de previsão de demanda, cada item em cada local tem sua própria previsão. É necessário um sistema que possa gerenciar centenas de milhares de previsões a qualquer momento. Além disso, os usuários finais de negócios precisam que o sistema de previsão seja integrado a sistemas downstream existentes, como plataformas de gerenciamento de cadeia de suprimentos existentes, para que possam usar sistemas baseados em ML sem modificar ferramentas e processos existentes.

Esses desafios são especialmente agudos quando os negócios são grandes, dinâmicos e em crescimento. Para enfrentar esses desafios, compartilhamos uma história de sucesso de cliente que reduz os esforços para validar rapidamente o potencial ganho de negócios. Isso é obtido por meio da criação de protótipos com o Amazon Forecast, um serviço totalmente gerenciado que fornece resultados de previsão precisos sem a necessidade de gerenciar algoritmos e recursos de infraestrutura subjacentes.

Prototipagem rápida para um sistema de previsão baseado em ML com Amazon Forecast

Com base em nossa experiência, muitas vezes vemos que os clientes de varejo estão dispostos a iniciar uma prova de conceito em seus dados de vendas. Isso pode ser feito em um intervalo de alguns dias a algumas semanas para prototipagem rápida, dependendo da complexidade dos dados e dos recursos disponíveis para iterar no processo de ajuste do modelo. Durante a prototipagem, sugerimos o uso de sprints para gerenciar o processo com eficácia e separar o POC em fases de exploração de dados, melhoria iterativa e automação.

Exploração de dados

A exploração de dados geralmente envolve intensa discussão com cientistas de dados ou analistas de inteligência de negócios para se familiarizar com o conjunto de dados históricos de vendas e as fontes de dados disponíveis que podem impactar potencialmente os resultados da previsão, como inventário e eventos promocionais históricos. Uma das maneiras mais eficientes é consolidar os dados de vendas, como o conjunto de dados de destino, do data warehouse no estágio inicial do projeto. Isso se baseia no fato de que os resultados da previsão geralmente são dominados pelos padrões do conjunto de dados de destino. Armazéns de dados geralmente armazenam dados de negócios do dia-a-dia, e uma compreensão exaustiva em um curto período de tempo é difícil e demorada. Nossa sugestão é se concentrar em gerar o conjunto de dados de destino e garantir que esse conjunto de dados esteja correto. Esses resultados de exploração de dados e linha de base geralmente podem ser alcançados em alguns dias, e isso pode determinar se os dados de destino podem ser previstos com precisão. Discutimos a previsibilidade de dados mais adiante neste post.

Iteração

Depois de obter os resultados da linha de base, podemos continuar adicionando mais dados relacionados para ver como eles podem afetar a precisão. Isso geralmente é feito por meio de um mergulho profundo em conjuntos de dados adicionais; para mais informações, consulte Usando conjuntos de dados de séries temporais relacionados e Usando conjuntos de dados de metadados de itens.

Em alguns casos, pode ser possível melhorar a precisão no Amazon Forecast treinando os modelos com subconjuntos de comportamento semelhante do conjunto de dados ou removendo os dados esparsos do conjunto de dados. Durante essa fase de melhoria iterativa, a parte desafiadora — verdadeira para todos os projetos de ML — é que a iteração atual depende das principais descobertas e percepções da iteração anterior, portanto, análises e relatórios rigorosos são essenciais para o sucesso.

A análise pode ser feita quantitativa e empiricamente. O aspecto quantitativo refere-se à avaliação durante o backtesting e à comparação da métrica de precisão, como WAPE. O aspecto empírico refere-se à visualização da curva de predição e dos dados alvo reais e ao uso do conhecimento do domínio para incorporar fatores potenciais. Essas análises ajudam você a iterar mais rapidamente para preencher a lacuna entre os resultados previstos e os dados de destino. Além disso, a apresentação desses resultados por meio de um relatório semanal geralmente pode fornecer confiança aos usuários finais de negócios.

Automação

A etapa final geralmente envolve a discussão do POC para o procedimento de produção e automação. Como o projeto de ML é limitado pela duração total do projeto, talvez não tenhamos tempo suficiente para explorar todas as possibilidades. Portanto, indicar a área potencial ao longo das descobertas durante o projeto pode muitas vezes ganhar confiança. Além disso, a automação pode ajudar os usuários finais de negócios a avaliar a previsão por um período mais longo, porque eles podem usar um preditor existente para gerar previsões com os dados atualizados.

Os critérios de sucesso podem ser avaliados com os resultados gerados, tanto do ponto de vista técnico quanto do negócio. Durante o período de avaliação, podemos estimar os benefícios potenciais para o seguinte:

  • Aumentar a precisão da previsão (técnica) – Calcule a precisão da previsão em relação aos dados de vendas reais e compare com o sistema de previsão existente, incluindo previsões manuais
  • Reduzindo o desperdício (negócios) – Reduzir o excesso de previsão para reduzir o desperdício
  • Melhorar as taxas de estoque (negócios) – Reduzir subestimativas para melhorar as taxas de estoque
  • Estimando o aumento do lucro bruto (negócios) – Reduzir o desperdício e melhorar as taxas de estoque para aumentar o lucro bruto

Resumimos o fluxo de trabalho de desenvolvimento no diagrama a seguir.

Nas seções a seguir, discutimos os elementos importantes a serem considerados durante a implementação.

Fluxo de trabalho passo a passo para desenvolver um sistema de previsão

Geração de conjunto de dados de destino

A primeira etapa é gerar o conjunto de dados de destino para Forecast. No setor de varejo, isso se refere à demanda histórica da série temporal e aos dados de vendas de itens de varejo (SKUs). Ao preparar o conjunto de dados, um aspecto importante é a granularidade. Devemos considerar a granularidade dos dados tanto dos requisitos de negócios quanto dos requisitos técnicos.

O negócio define como a previsão resulta no sistema de produção:

  • horizonte – O número de intervalos de tempo sendo previstos. Isso depende do problema de negócios subjacente. Se quisermos reabastecer o nível de estoque a cada semana, uma previsão semanal ou diária parece adequada.
  • granularidade – A granularidade de suas previsões: frequência de tempo, como diária ou semanal, diferentes localizações de lojas e diferentes tamanhos do mesmo item. No final, a previsão pode ser uma combinação de cada SKU da loja, com pontos de dados diários.

Embora o horizonte de previsão e a granularidade acima mencionados devam ser definidos para priorizar o requisito de negócios, podemos precisar fazer compensações entre requisitos e viabilidade. Tome o negócio de calçados como um exemplo. Se quisermos prever as vendas de cada tamanho de sapato em cada nível de loja, os dados logo se tornarão escassos e o padrão será difícil de encontrar. No entanto, para reabastecer o estoque, precisamos estimar essa granularidade. Para fazer isso, soluções alternativas podem exigir a estimativa de uma proporção entre diferentes tamanhos de calçados e o uso dessa proporção para calcular resultados refinados.

Freqüentemente, precisamos equilibrar os requisitos de negócios e o padrão de dados que pode ser aprendido e usado para previsão. Para fornecer uma qualificação quantitativa dos padrões de dados, propomos o uso de previsibilidade de dados.

Previsão de dados e classificação de padrões de dados

Um dos principais insights que podemos coletar do conjunto de dados de destino é sua capacidade de produzir previsões de qualidade. Isso pode ser analisado na fase inicial do projeto ML. A previsão brilha quando os dados mostram sazonalidade, tendências e padrões cíclicos.

Para determinar a previsibilidade, existem dois coeficientes principais: variabilidade no tempo de demanda e variabilidade na quantidade de demanda. Variabilidade no tempo de demanda significa o intervalo entre duas instâncias de demanda e mede a regularidade da demanda no tempo. Variabilidade na quantidade de demanda significa variação nas quantidades. A figura a seguir ilustra alguns padrões diferentes. A precisão da previsão depende fortemente da previsibilidade do produto. Para mais informações, consulte Classificação da demanda: por que a previsibilidade é importante.

Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Vale a pena observar que essa análise de previsibilidade é para cada item refinado (por exemplo, SKU-Store-Color-Size). É bastante comum que em um sistema de produção de previsão de demanda, diferentes itens sigam padrões diferentes. Portanto, é importante separar os itens seguindo diferentes padrões de dados. Um exemplo típico são os itens de movimento rápido e lento; outro exemplo seria dados densos e esparsos. Além disso, um item de grão fino tem mais chances de produzir um padrão irregular. Por exemplo, em uma loja de roupas, as vendas de um item popular podem ser bastante suaves diariamente, mas se separarmos ainda mais as vendas do item para cada cor e tamanho, elas logo se tornam escassas. Portanto, reduzir a granularidade de SKU-Store-Color-Size para SKU-Store pode alterar o padrão de dados de irregular para suave e vice-versa.

Além disso, nem todos os itens contribuem igualmente para as vendas. Observamos que a contribuição do item geralmente segue a distribuição de Pareto, na qual os principais itens contribuem com a maior parte das vendas. As vendas desses itens principais costumam ser tranquilas. Itens com um registro de vendas mais baixo são muitas vezes irregulares e erráticos e, portanto, difíceis de estimar. Adicionar esses itens pode, na verdade, diminuir a precisão dos principais itens de vendas. Com base nessas observações, podemos separar os itens em diferentes grupos, treinar o modelo de previsão em itens de vendas principais e tratar os itens de vendas mais baixas como casos de canto.

Enriquecimento de dados e seleção de conjunto de dados adicional

Quando queremos usar conjuntos de dados adicionais para melhorar o desempenho dos resultados da previsão, podemos contar com conjuntos de dados de série temporal e conjuntos de dados de metadados. No domínio do varejo, com base na intuição e no conhecimento do domínio, características como estoque, preço, promoção e inverno ou verão podem ser importadas como séries temporais relacionadas. A maneira mais simples de identificar a utilidade dos recursos é por meio da importância do recurso. Na Previsão, isso é feito pela análise de explicabilidade. Previsão Explicabilidade do preditor nos ajuda a entender melhor como os atributos nos conjuntos de dados afetam as previsões para o alvo. A previsão usa uma métrica chamada pontuações de impacto para quantificar o impacto relativo de cada atributo e determinar se eles aumentam ou diminuem os valores de previsão. Se um ou mais atributos tiverem uma pontuação de impacto igual a zero, esses atributos não terão impacto significativo nos valores de previsão. Dessa forma, podemos remover rapidamente os recursos que têm menos impacto e adicionar os potenciais de forma iterativa. É importante observar que as pontuações de impacto medem o impacto relativo dos atributos, que são normalizados junto com as pontuações de impacto de todos os outros atributos.

Como todos os projetos de ML, melhorar a precisão com recursos adicionais requer experimentos iterativos. Você precisa experimentar várias combinações de conjuntos de dados, enquanto observa o impacto de alterações incrementais na precisão do modelo. Você pode tentar executar vários experimentos de previsão por meio do console de previsão ou com Notebooks Python com APIs de previsão. Além disso, você pode embarcar com Formação da Nuvem AWS, que implanta soluções prontas fornecidas pela AWS para casos de uso comuns (por exemplo, o Melhorando a precisão da previsão com a solução Machine Learning). A previsão separa automaticamente o conjunto de dados e produz métricas de precisão para avaliar os preditores. Para mais informações, veja Avaliando a precisão do preditor. Isso ajuda os cientistas de dados a iterar mais rapidamente para obter o modelo de melhor desempenho.

Melhoria avançada e tratamento de casos extremos

Mencionamos que os algoritmos de previsão podem aprender sazonalidade, tendências e características cíclicas dos dados. Para itens com essas características e densidade e volume de dados apropriados, podemos usar o Forecast para gerar estimativas. No entanto, ao enfrentar padrões de dados irregulares, especialmente quando o volume de dados é pequeno, podemos precisar tratá-los de maneira diferente, como com estimativa empírica baseada em um conjunto de regras.

Para SKUs densos, melhoramos ainda mais a precisão da previsão treinando os modelos com subconjuntos de comportamento semelhante do conjunto de dados de série temporal. As estratégias de separação de subconjuntos que usamos são lógica de negócios, tipo de produto, densidade de dados e padrões aprendidos pelo algoritmo. Depois que os subconjuntos são gerados, podemos treinar vários modelos de previsão para os diferentes subconjuntos. Para um desses exemplos, consulte Dados de séries temporais de cluster para uso com o Amazon Forecast.

Rumo à produção: atualização do conjunto de dados, monitoramento e retreinamento

Vamos explorar um exemplo de arquitetura com Forecast, conforme mostrado no diagrama a seguir. Cada vez que um usuário final consolida um novo conjunto de dados em Serviço de armazenamento simples da Amazon (Amazon S3), ele aciona Funções de etapa da AWS para orquestrar diferentes componentes, incluindo a criação do trabalho de importação do conjunto de dados, a criação de um preditor automático e a geração de previsões. Depois que os resultados da previsão são gerados, a etapa Create Forecast Export os exporta para o Amazon S3 para consumidores downstream. Para obter mais informações sobre como provisionar esse pipeline automatizado, consulte Automatização com AWS CloudFormation. Ele usa uma pilha do CloudFormation para implantar conjuntos de dados automaticamente em um bucket S3 e acionar um pipeline de previsão. Você pode usar a mesma pilha de automação para gerar previsões com seus próprios conjuntos de dados.

Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Há duas maneiras de incorporar tendências recentes ao sistema de previsão: atualizar dados ou treinar novamente o preditor.

Para gerar a previsão com dados atualizados refletindo as tendências recentes, você precisa carregar o arquivo de dados de entrada atualizado para um bucket do S3 (os dados de entrada atualizados ainda devem conter todos os seus dados existentes). A previsão não retreina automaticamente um preditor quando você importa um conjunto de dados atualizado. Você pode gerar previsões como você costuma fazer. A previsão prevê o horizonte de previsão a partir do último dia nos dados de entrada atualizados. Portanto, as tendências recentes são incorporadas a quaisquer novas inferências produzidas pelo Forecast.

No entanto, se você deseja que seu preditor seja treinado com os novos dados, você deve criar um novo preditor. Talvez seja necessário considerar o retreinamento do modelo quando os padrões de dados (sazonalidade, tendências ou ciclos) mudarem. Como mencionado em Monitore continuamente a precisão do preditor com o Amazon Forecast, o desempenho de um preditor flutuará ao longo do tempo, devido a fatores como mudanças no ambiente econômico ou no comportamento do consumidor. Portanto, o preditor pode precisar ser treinado novamente ou um novo preditor pode precisar ser criado para garantir que previsões altamente precisas continuem sendo feitas. Com a ajuda de monitoramento preditivo, o Forecast pode rastrear a qualidade de seus preditores, permitindo que você reduza os esforços operacionais, ao mesmo tempo em que o ajuda a tomar decisões mais informadas sobre como manter, retreinar ou reconstruir seus preditores.

Conclusão

O Amazon Forecast é um serviço de previsão de séries temporais baseado em ML e criado para análise de métricas de negócios. Podemos integrar a previsão de previsão de demanda com alta precisão, combinando vendas históricas e outras informações relevantes, como estoque, promoções ou temporada. Em 8 semanas, ajudamos um de nossos clientes de varejo a obter uma previsão de demanda precisa - 10% de melhoria em comparação com a previsão manual. Isso leva a uma economia direta de 16 horas de mão-de-obra mensais e um aumento de vendas estimado em até 11.8%.

Esta postagem compartilhou práticas comuns para levar seu projeto de previsão da prova de conceito à produção. Comece agora com Previsão da Amazônia para obter previsões altamente precisas para o seu negócio.


Sobre os autores

Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Yanwei Cui, PhD, é arquiteto de soluções especialista em aprendizado de máquina na AWS. Ele começou a pesquisa de aprendizado de máquina no IRISA (Instituto de Pesquisa de Ciência da Computação e Sistemas Aleatórios) e tem vários anos de experiência na criação de aplicativos industriais movidos por inteligência artificial em visão computacional, processamento de linguagem natural e previsão do comportamento do usuário online. Na AWS, ele compartilha a experiência de domínio e ajuda os clientes a desbloquear potenciais de negócios e a gerar resultados acionáveis ​​com aprendizado de máquina em escala. Fora do trabalho, ele gosta de ler e viajar.

Implementando o Amazon Forecast no setor de varejo: uma jornada do POC à produção PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Gordon Wang é Cientista de Dados Sênior da equipe de Serviços Profissionais da Amazon Web Services. Ele oferece suporte a clientes em muitos setores, incluindo mídia, manufatura, energia, varejo e saúde. Ele é apaixonado por visão computacional, aprendizado profundo e MLOps. Nas horas vagas, adora correr e caminhar.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS