socialgekon.com
  • Principal
  • Talento Ágil
  • De Outros
  • Europa
  • Processo Interno
Ciência De Dados E Bancos De Dados

Otimizando a receita do varejista com IA de previsão de vendas

Previsão é uma técnica que usa dados históricos e eventos para construir estimativas sobre tendências futuras, desastres potenciais e o comportamento geral de qualquer assunto. A previsão pode ser usada como suporte probabilístico para análise de decisão, para estimar despesas, receitas e planos de orçamento.

A previsão de negócios pode ser dividida em duas categorias distintas: previsão qualitativa e previsão quantitativa .

  • Previsão qualitativa. A previsão qualitativa se preocupa com a pesquisa e as estratégias de mercado, portanto, é mais orientada por especialistas e influenciada por fatores humanos. Geralmente, visa a construção de estratégias de curto prazo.
  • Previsão quantitativa. A previsão quantitativa exclui qualquer fator humano. Depende apenas dos dados históricos de uma entidade e tem como objetivo prever quais serão alguns fatores como vendas, preços e outros aspectos financeiros no longo prazo.

Para obter mais informações, você pode dar uma olhada em Previsão Financeira da Investopedia primeiro.



Ambos os tipos de previsão mostraram-se muito promissores e conseguiram criar melhorias de negócios para muitas entidades.

Se você quiser saber mais sobre como a previsão pode afetar as decisões de mercado, um bom lugar para começar é Mercados de previsão: fundamentos, designs e aplicativos por Stefan Luckner et al.

Um problema que podemos resolver usando a previsão quantitativa é a previsão de demanda ou previsão de vendas.

Abordagens de previsão de demanda e previsão de vendas

Suponha que você seja um varejista que opera muitas lojas e cada loja tem um sistema estático de reposição de estoque de produtos com base em decisões humanas baseadas em certos eventos, como temporadas e tendências de mercado.

Ocasionalmente, você encontrará um desses problemas que podem levar a dois problemas principais:

  • Produtos com excesso de estoque. Ter um estoque substancial de produto planejado para ser vendido durante um determinado período, mas não vendido.
  • Produtos fora de estoque. Ter a oportunidade de vender o produto, mas não ser possível porque o produto não está disponível.

De acordo com uma pesquisa do IHL Group com 600 residências e varejistas , os varejistas estão perdendo quase US $ 1 trilhão em vendas anualmente devido a problemas de falta de estoque.

“Os compradores encontram falta de estoque em uma em cada três viagens de compras, de acordo com o relatório, que foi enviado por e-mail à Retail Dive. Em varejistas de alimentos, remédios e em massa, eles encontram itens fora de estoque em uma em cada cinco viagens, em lojas de departamentos e varejistas especializados é um em cada quatro e em lojas de eletrônicos um em cada três ” Grupo IHL encontrado.

Ao que parece, esses dois problemas levam a uma diminuição na receita porque perdemos a probabilidade de venda ou investimos mais dinheiro em produtos não vendidos, o que significa ter ativos que não gerarão receita tão cedo para compensar seus custos.

Isso é claramente prejudicial para o fluxo de caixa da entidade e, para lidar com esse risco, precisamos de duas coisas:

  • Mais informações para nos ajudar a tomar a decisão
  • Uma equipe de previsão que pode fazer planejamento estratégico de longo prazo para sistemas de reposição de estoque

Então, a pergunta é: quais são as indicações de que você precisa adotar IA em sua empresa para ajudar no processo de previsão?

Para tomar essa decisão, você precisa de respostas de especialistas para as seguintes perguntas:

  • É difícil prever seu funil de vendas?
  • A sua previsão de vendas é imprecisa ou não precisa o suficiente (mesmo que você tenha dados históricos)?
  • Você sofre de problemas de falta de estoque ou excesso de estoque?
  • Você não consegue extrair percepções descritivas e inferenciais dos dados que possui para orientar suas decisões e planejamento?

As respostas a essas perguntas devem ser um sinal claro que o ajudará a decidir se deve ou não começar a empregar IA em suas estratégias de previsão.

Como a IA pode beneficiar o processo de previsão de vendas?

A IA tem mostrado ótimos resultados em superar a previsão humana em muitas empresas, permitindo tomadas de decisão e planejamento mais rápidos, bem como estratégias de gerenciamento de risco mais confiáveis. Isso é por que as principais empresas estão adotando IA em seu planejamento .

Ao lidar com um problema de previsão de demanda, o método de previsão de séries temporais pode ser utilizado para prever as vendas de cada produto, permitindo que as empresas otimizem a reposição de estoques e minimizando a ocorrência dos problemas mencionados. No entanto, muitos modelos lutam com a previsão em um nível de produto individual, ou nível de categoria de produto, por causa da falta de recursos necessários. Portanto, a questão é: como podemos fazer isso funcionar e aproveitar ao máximo nossos dados?

Para os varejistas da vida real, esses problemas são tudo menos triviais. Você tem mais de 1.000 produtos que introduzem muita não linearidade no conjunto de dados e dependências multivariadas , ou você precisa ser avisado sobre a quantidade de reposição de estoque projetada com bastante antecedência para poder produzi-lo ou comprá-lo, ou fazer o que for necessário para adquiri-lo até que a demanda se materialize.

Neste caso, modelos clássicos como ARIMA e VOCÊ ESTÁ não funcionará e precisaremos de um método mais robusto como RNNs e XGBoost , e é por isso que precisamos de muita criação de recursos para resolver esse problema.

Para que isso funcione, precisamos:

  • Adquira os recursos de entrada necessários para explicar a variedade e diversidade dos produtos.
  • Categorize nossos dados, de modo que cada categoria tenha o mesmo comportamento de série temporal e cada categoria seja abordada usando um modelo independente.
  • Treine nossos modelos nos recursos de entrada categorizados adquiridos.

Para o propósito deste artigo, tomaremos o XGBoost como um exemplo de tal modelo.

Recursos necessários em modelos de previsão de vendas

O conjunto de recursos necessários para este problema é classificado em quatro grupos principais:

  • Recursos relacionados ao tempo
  • Recursos relacionados a vendas
  • Recursos relacionados a preços
  • Recursos relacionados ao estoque

Recursos relacionados ao tempo

Ao contrário aprendizagem profunda (rede neural recorrente) , os modelos de aprendizado de máquina não podem obter dependências de longo ou curto prazo dentro de uma série temporal sem criar uma camada de extração manual de recursos para o data hora característica.

Muitos recursos podem ser extraídos da data, como:

  • Ano
  • Dia
  • Hora
  • Fim de semana ou dia da semana (seja o dia da semana ou fim de semana)
  • Dia da semana

Muitas abordagens apenas extraem esses recursos de tempo e os usam como entradas e modelos de trem, mas é possível fazer mais engenharia. Como podemos ver, os recursos (dia, hora, dia da semana) são periódicos, o que significa que possuem uma gama de valores repetitivos. Como uma modelo pode lidar com isso?

A resposta curta é: não pode porque o que o modelo vê é que a hora 00:00 está a 23 horas de distância das 23:00, mas na verdade, está a uma hora de distância. Uma maneira de resolver isso é converter esses recursos em transformação cíclica.

Recursos relacionados ao tempo

Usando o conceito de seno e cosseno, ou representação vetorial, pode-se converter cada hora (24 horas) em um ângulo, e usar o pecado e cosseno deles tornará muito mais fácil para o modelo detectar as proporções reais entre as horas, independentemente da periodicidade.

Isso removerá a descontinuidade que ocorre nos recursos de tempo periódico ou em qualquer recurso periódico.

Para o nosso artigo, usaremos o Amostra de conjunto de dados da Superstore encontrado publicamente e tente prever as vendas mensais desejadas para uma determinada categoria de produto.

Além disso, usaremos o ambiente Python 3.7 com as seguintes bibliotecas:

  • NumPy
  • Pandas
  • XGBoost
  • Sklearn

Agora, vou mostrar como construir a função de conversão do recurso de período e testar se ela foi útil ou não.

def convert_periodic(val,period): theta = 2*np.pi*val/period sin_period = np.sin(theta) cos_period = np.cos(theta) return sin_period,cos_period def convert_month(x): return convert_periodic(x,12) df['sin_month'], df['cos_month'] = zip(*df['month'].map(convert_month))

Com isso implementado, estamos prontos para testar se o recurso adicionado melhorará o desempenho ou não.

X = df.drop(['Order Date','Sales','sin_month', 'cos_month'],axis = 1) y = np.log1p(df['Sales']) X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2, shuffle=False)

Como podemos ver, fizemos uma transformação log 1p para nosso recurso de vendas alvo, porque é um recurso enviesado (não distribuído normalmente).

Agora, ajustaremos um regressor XGBoost nos dados.

y_pred = model.predict(X_test) print(f'Loss without cyclic conversion on testing set is {sqrt(mean_squared_error(y_pred,y_test))}') Loss without cyclic conversion on testing set is 0.4313676193485837

A seguir, vamos tentar com nosso recurso criado.

X = df.drop(['Order Date','Sales'],axis = 1) y = np.log1p(df['Sales']) X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2, shuffle=False) y_pred = model.predict(X_test) print(f'Loss with cyclic conversion on testing set is {sqrt(mean_squared_error(y_pred,y_test))}') Loss with cyclic conversion on testing set is 0.33868030449130826

Como podemos ver, a perda melhorou de 0,43 RMSE para 0,33 RMSE.

Alguns outros recursos relacionados ao tempo que você pode pensar, dependendo do seu problema, são:

  • Número de meses desde que o item esteve na loja
  • Número de dias desde a última venda

Recursos relacionados a vendas

Este é o principal recurso de entrada necessário para prever nossas vendas, então, como obter o máximo dos dados de vendas? Podemos conseguir isso usando o conceito de lag e autocorrelação.

Os recursos de atraso são registros históricos de vendas dos produtos. Por exemplo, se usarmos um recurso de 12 defasagens para vendas mensais como uma entrada para nosso modelo para prever as vendas para maio de 2020, isso significa que forneceremos o modelo com registros de dados entre maio de 2019 e abril de 2020. Isso pode ser muito útil.

Além disso, pode ser interpretado usando gráficos de autocorrelação para verificar o quão correlacionado está o recurso de destino com seus recursos defasados. Isso também ajuda a selecionar apenas os recursos correlacionados entre os recursos defasados, portanto, diminuímos o uso de memória e a redundância de recursos.

É assim que podemos adicionar recursos de latência em nosso dataframe:

for i in range(3): df[f'lag_{i+1}'] = df['Sales'].shift(i+1) df = df.dropna() df.head()

Recursos relacionados a vendas

Aqui, eu escolhi um valor de um recurso de três lag para ser incluído em nosso conjunto de treinamento. Este recurso é um hiperparâmetro - você pode escolhê-lo com base no gráfico de autocorrelação ou tentando muitos valores e apenas escolhendo o melhor no estágio de ajuste.

X = df.drop(['Order Date','Sales'],axis = 1) y = np.log1p(df['Sales']) X_train,X_test,y_train,y_test = train_test_split(X,y,test_size = 0.2, shuffle=False) y_pred = model.predict(X_test) print(f'Loss with lag features on testing set is {sqrt(mean_squared_error(y_pred,y_test))}') Loss with lag and aggregated sales features on testing set is 0.2862175857169188

Agora, o RMSE melhorou para 0,28, usando recursos de latência e conversões cíclicas.

Alguns recursos adicionais relacionados a vendas que você pode adicionar:

  • Fração de item vendido (a fração de itens vendidos em termos de vendas totais em uma loja)
  • Frequência de eventos de venda para a categoria do item
  • Adicionando o conceito de antiguidade

Antiguidade é um conceito introduzido para atribuir um nível de antiguidade a novos itens em uma loja:

  • Antiguidade 0: itens novos para a empresa
  • Antiguidade 1: itens nunca vendidos nesta loja, mas vendidos em outras lojas da empresa
  • Antiguidade 2: itens que foram vendidos nesta loja antes

Recursos relacionados ao preço

Um argumento simples é que uma das causas diretas do aumento e diminuição das vendas são os preços e as promoções. O preço é uma das melhores maneiras de diferenciar entre diferentes categorias, subcategorias e supercategorias de produtos.

Por exemplo, supondo que uma categoria e uma subcategoria tenham sido atribuídas a cada produto, pode-se criar as seguintes características de preço:

  • Preços (média, máxima, mínima, mediana) em toda a categoria
  • Preços (média, máxima, mínima, mediana) na subcategoria
  • Comparações entre essas estatísticas, como a diferença entre cada estatística na categoria e na subcategoria

Essa agregação pode ser realizada várias vezes usando muitos agrupamentos por assunto (assumindo que pretendemos prever a demanda mensal), como:

  • Mensal, loja, categoria
  • Mensal, loja, subcategoria
  • Mensal, loja, item, categoria
  • Mensal, loja, item, subcategoria

Além disso, mais recursos podem ser adicionados, excluindo o Por mês agrupamento para estudar o comportamento dos preços em geral.

Recursos relacionados ao estoque

Este não é tão comum entre varejistas e analistas de vendas, mas faz muita diferença nos modelos de previsão de vendas. Os conjuntos de dados de estoque contêm principalmente os dados de estoque de cada produto, diariamente em cada loja. A partir disso, podemos combiná-los com os dados de vendas para obter uma taxa de faturamento mensal para cada produto. Essa proporção indicará a rapidez com que o estoque de um produto é vendido completamente e tem dois benefícios principais:

  • Pode ajudar o modelo a prever vendas com base no nível de estoque atual.
  • Isso pode nos ajudar a usar esse valor para agrupar produtos em produtos de movimentação lenta, média e rápida. Esse agrupamento nos ajudará na tomada de decisões e na modelagem.

Para isso, você precisa de dados de estoque diários para cada produto, junto com os dados de vendas, e então você pode calcular a taxa de giro de estoque da seguinte maneira:

Recursos relacionados ao estoque

Dica: Essas agregações são feitas com base em um intervalo de tempo. Por exemplo, se estivermos trabalhando na previsão de vendas mensais, o ITO será calculado como o total de vendas no último mês sobre o valor médio do estoque durante o mesmo mês.

A previsão de vendas pode transformar dados em oportunidade

Em resumo, a previsão de vendas pode ajudar as empresas a aumentar as receitas e obter lucros, desde que tenham os canais de dados certos e usem os métodos de engenharia de recursos corretos. Este artigo foi um teste para mostrar que todos os tipos de dados podem ser úteis na solução desse problema.

Cada empresa deve investigar se a IA é necessária para seus problemas de previsão e, caso seja, precisará de engenheiros especializados em IA e conselhos de engenheiros de aprendizado de máquina para criar um sistema de previsão de vendas próprio.

Se você é uma empresa / varejista que deseja aplicar essa técnica de previsão de vendas, comece reunindo todos os dados que puder, especialmente vendas diárias, estoque diário e transações diárias.

Depois de possuir esses dados, você pode usá-los para aumentar suas receitas e otimizar estratégias de reposição de estoque, permitindo que sua empresa obtenha o maior lucro possível com os recursos disponíveis, conforme demonstrado em vários exemplos acima, bem como as práticas de previsão de vendas utilizadas pelos principais varejistas .

Referências:

O conjunto de dados
Leituras adicionais sobre previsões financeiras

Compreender o básico

Como você calcula uma previsão de vendas (em nível de produto)?

Reunindo os dados de vendas, estoque, preços, criando um banco de dados para eles, pré-processando-os e executando a engenharia de recursos para criar recursos explicáveis ​​e, em seguida, aplicando um método de previsão como XGBoost ou RNN.

Quais são as quatro etapas para preparar uma previsão de vendas?

O processo de previsão de vendas é dividido em quatro etapas: coleta de dados, pré-processamento de dados, engenharia de recursos e modelagem de dados.

Qual é o melhor método de previsão de vendas?

ARIMA e ETS são perfeitos para vendas totais, mas no nível de produto, algo como XGBoost ou RNN tem melhor desempenho.

Por que a previsão de demanda / vendas é importante?

Porque resolve os dois principais problemas de demanda e vendas, que são o estoque excessivo e os problemas de falta de estoque. Isso leva a maior receita e melhor fluxo de caixa.

Qual é a diferença entre potencial de vendas e previsão de vendas?

O potencial de vendas responde à pergunta: “Quantas unidades de uma determinada marca poderiam ser vendidas?” Por outro lado, uma previsão de vendas responde à pergunta: “Quantas unidades serão vendidas?”

Apresentando Battlescripts: Bots, Ships, Mayhem!

Web Front-End

Apresentando Battlescripts: Bots, Ships, Mayhem!
O impacto do Brexit no setor de serviços financeiros

O impacto do Brexit no setor de serviços financeiros

Processos Financeiros

Publicações Populares
Melhores práticas de fusões e aquisições na América Latina
Melhores práticas de fusões e aquisições na América Latina
As 25 melhores predefinições do Lightroom Mobile para fotos impressionantes do iPhone
As 25 melhores predefinições do Lightroom Mobile para fotos impressionantes do iPhone
EUA: corrida para prefeito de Honolulu segue para segundo turno
EUA: corrida para prefeito de Honolulu segue para segundo turno
Como fazer autenticação JWT com um Angular 6 SPA
Como fazer autenticação JWT com um Angular 6 SPA
Como editar fotos no iPhone com iOS Photos
Como editar fotos no iPhone com iOS Photos
 
React Test-driven Development: From User Stories to Production
React Test-driven Development: From User Stories to Production
Criação de uma API REST segura em Node.js
Criação de uma API REST segura em Node.js
Um guia de campo para DesignOps
Um guia de campo para DesignOps
Donald Trump encontra o Papa Francisco no Vaticano, jura não esquecer sua mensagem
Donald Trump encontra o Papa Francisco no Vaticano, jura não esquecer sua mensagem
Automação no Selenium: Modelo de objeto de página e fábrica de página
Automação no Selenium: Modelo de objeto de página e fábrica de página
Categorias
NutriçãoVida DesignerGestão De EngenhariaPessoas E Equipes De ProdutoFamíliaCiclo De Vida Do ProdutoAprendendoFerramentas E TutoriaisKpis E AnálisesFuturo Do Trabalho

© 2023 | Todos Os Direitos Reservados

socialgekon.com