Previsão de vendas por catálogo

Este tutorial fornece um exemplo de uma empresa de catálogos que está interessada em prever as vendas mensais de sua linha de roupas masculinas, com base em 10 anos de dados de vendas.

No tutorial Previsão de utilização da largura de banda, você aprendeu como o Modelador especialista pode decidir qual é o modelo mais adequado para a série temporal. Agora, é hora de dar uma olhada mais de perto nos dois métodos disponíveis quando você escolhe um modelo: suavização exponencial e ARIMA.

Para ajudá-lo a decidir sobre um modelo apropriado, é uma boa ideia traçar a série temporal primeiro. A inspeção visual de uma série temporal pode frequentemente ser um guia poderoso para ajudá-lo a escolher. Em particular, você precisa se perguntar:
  • A série tem uma tendência geral? Em caso afirmativo, a tendência parece constante ou parece estar morrendo com o tempo?
  • A série mostra sazonalidade? Em caso afirmativo, as flutuações sazonais parecem aumentar com o tempo ou parecem constantes ao longo de períodos sucessivos?

Visualizando o tutorial

Assistir vídeo Assista a este vídeo para visualizar as etapas deste tutorial. Pode haver pequenas diferenças na interface do usuário mostrada no vídeo. O vídeo deve ser um complemento do tutorial escrito. Este vídeo oferece um método visual para aprender os conceitos e as tarefas desta documentação.

Experimente o tutorial

Neste tutorial, você concluirá estas tarefas:

Exemplo de fluxo do modelador e conjunto de dados

Este tutorial usa o fluxo Forecasting Catalog Sales no projeto de amostra. O arquivo de dados usado é catalog_seasfac.csv. A imagem a seguir mostra o fluxo do modelador de amostra.

Figura 1. Fluxo do modelador de amostras
Fluxo do modelador de amostras
A imagem a seguir mostra o conjunto de dados de amostra.
Figura 2 Conjunto de dados de amostra
Conjunto de dados de amostra

Tarefa 1: Abrir o projeto de amostra

O projeto de amostra contém vários conjuntos de dados e fluxos de modelador de amostra. Se você ainda não tiver o projeto de amostra, consulte o tópico Tutoriais para criar o projeto de amostra. Em seguida, siga estas etapas para abrir o projeto de amostra:

  1. Em Cloud Pak for Data no menu de navegação Menu de Navegação, escolha Projetos > Exibir todos os projetos.
  2. Clique em SPSS Modeler Project.
  3. Clique na guia Assets (Ativos ) para ver os conjuntos de dados e os fluxos do modelador.

Ícone de ponto de controle Verifique seu progresso

A imagem a seguir mostra a guia Assets (Ativos) do projeto. Agora você está pronto para trabalhar com o fluxo do modelador de amostra associado a este tutorial.

Projeto de amostra

de volta para a parte superior

Tarefa 2: Examinar os nós Data Asset e Type

A previsão de vendas de catálogo inclui vários nós. Siga estas etapas para examinar os nós Data Asset e Type:

  1. Na guia Ativos, abra o fluxo do modelador Forecasting Catalog Sales e aguarde o carregamento da tela.
  2. Clique duas vezes no nó catalog_seasfac.csv. Esse nó é um nó de ativo de dados que aponta para o arquivo catalog_seasfac.csv no projeto.
  3. Revise as propriedades do formato do arquivo.
  4. Opcional: Clique em Preview data (Visualizar dados) para ver o conjunto completo de dados.
  5. Clique duas vezes no nó Type.
    1. Clique em Ler valores.
    2. No campo men, verifique se a função está definida como Target.
    3. Verifique se todos os outros campos têm a função definida como None (Nenhum).
    4. Clique em Salvar.
  6. Opcional: Clique em Preview data (Visualizar dados) para ver o conjunto de dados filtrados.

Ícone de ponto de controle Verifique seu progresso

A imagem a seguir mostra o nó Type. Agora você está pronto para visualizar os dados.

nó Tipo

de volta para a parte superior

Tarefa 3: Visualizar os dados

Siga estas etapas para usar um nó de plotagem de tempo para visualizar os dados:

  1. Adicione um nó de plotagem de tempo:
    1. Na paleta de nós, expanda a seção Gráficos.
    2. Arraste o nó de plotagem Time para a tela.
    3. Conecte o nó Type ao novo nó Time plot.
  2. Clique duas vezes no nó de plotagem Time para definir suas propriedades.
    1. Na seção Series, clique em Add columns (Adicionar colunas).
    2. Selecione o campo men.
    3. Clique em OK.
    4. Selecione Usar rótulo de campo personalizado do eixo x.
    5. Para o rótulo do eixo X, selecione date (data).
    6. Desmarque a opção Normalizar.
    7. Clique em Salvar.
  3. Passe o mouse sobre o " [men] v. data e clique no ícone Executar Ícone de execução.
  4. No painel Outputs and models (Saídas e modelos ), clique nos resultados com o nome ' [men] v. data para visualizar o gráfico.

    A série mostra uma tendência crescente geral; ou seja, os valores da série tendem a aumentar com o tempo. A tendência crescente é aparentemente constante, o que indica uma tendência linear.

    A série também apresenta um padrão sazonal distinto, com máximas anuais em dezembro, conforme indicado pelas retas verticais do gráfico. As variações sazonais parecem crescer com a tendência ascendente da série, o que sugere sazonalidade multiplicativa e não aditiva.

    Agora que identificou as características da série, você está pronto para tentar modelá-la. O método de suavização exponencial é útil para prever séries que exibem tendência, sazonalidade ou ambas. Como visto anteriormente, esses dados apresentam ambas as características.

Ícone de ponto de controle Verifique seu progresso

A imagem a seguir mostra um gráfico. Agora você está pronto para construir o modelo.

Gráfico de plotagem de tempo

de volta para a parte superior

Tarefa 4: Criar o modelo

Construir um modelo de suavização exponencial de melhor ajuste envolve determinar o tipo de modelo (se o modelo precisa incluir tendência, sazonalidade ou ambos) e, em seguida, obter os parâmetros de melhor ajuste para o modelo escolhido.

O gráfico das vendas de roupas masculinas ao longo do tempo sugeriu um modelo com um componente de tendência linear e um componente de sazonalidade multiplicativa. Isso implica um modelo de inverno. Primeiro, porém, você explora um modelo simples (sem tendência e sem sazonalidade) e, em seguida, um modelo de Holt (incorpora tendência linear, mas não sazonalidade). Isso lhe dará prática na identificação de quando um modelo não se ajusta bem aos dados, uma habilidade essencial na construção de um modelo bem-sucedido.

Siga estas etapas para criar um modelo simples de suavização exponencial:

  1. Clique duas vezes no nó Men (Time Series) para visualizar suas propriedades.
  2. Expanda a seção Observações e intervalo de tempo e defina essas propriedades:
    1. Verifique se a hora/data está definida como data.
    2. Verifique se o Intervalo de tempo está definido como Meses.
  3. Expanda a seção Opções de compilação - geral e defina essas propriedades:
    1. Verifique se o Method está definido como Exponential Smoothing (Suavização exponencial).
    2. Verifique se o Tipo de modelo está definido como Simples.
  4. Clique em Salvar.
  5. Clique em Run all Ícone de execução.
  6. No painel Outputs and models (Saídas e modelos ), clique nos resultados de saída com o nome ' Time plot of [men $TS-men] v. data para visualizar o gráfico.
    A parcela men representa os dados reais, enquanto $TS-men denota o modelo de série temporal.
    Figura 3. Modelo de suavização exponencial simples
    Modelo de suavização exponencial simples

    Embora o modelo simples exiba, de fato, uma tendência de aumento gradual (e bastante pesada), ele não leva em conta a sazonalidade. É possível rejeitar este modelo com segurança.

    Agora tente um modelo linear de Holt. Isso deve, pelo menos, modelar a tendência melhor do que o modelo simples, embora também seja improvável que capture a sazonalidade.

  7. Clique duas vezes no nó Men (Time Series) e defina essas propriedades:
    1. Expanda a seção Opções de compilação - geral.
    2. Defina o tipo de modelo como tendência linear de Holt.
    3. Clique em Salvar.
  8. Clique em Run all Ícone de execução.
  9. No painel Outputs and models (Saídas e modelos ), clique nos resultados de saída com o nome ' Time plot of [men $TS-men] v. data para visualizar o gráfico.

    O modelo de Holt exibe uma tendência ascendente mais suave do que o modelo simples, mas ainda não leva em consideração a sazonalidade, portanto, você também pode desconsiderar esta.

    Figura 4. Modelo de tendência linear de Holt
    Modelo de tendência linear de Holt

    Você deve se lembrar que o gráfico inicial das vendas de roupas masculinas ao longo do tempo sugeria um modelo que incorporava uma tendência linear e sazonalidade multiplicativa. Um candidato mais adequado, portanto, pode ser o modelo de inverno.

  10. Clique duas vezes no nó Men (Time Series) e defina essas propriedades:
    1. Expanda a seção Opções de compilação - geral.
    2. Defina o tipo de modelo como multiplicativo de Winters.
    3. Clique em Salvar.
  11. Clique em Run all Ícone de execução.
  12. No painel Outputs and models (Saídas e modelos ), clique nos resultados de saída com o nome ' Time plot of [men $TS-men] v. data para visualizar o gráfico.

    Isso parece melhor. O modelo reflete a tendência e a sazonalidade dos dados. O conjunto de dados cobre um período de 10 anos e inclui 10 picos sazonais que ocorrem em dezembro de cada ano. Os 10 picos presentes nos resultados previstos correspondem bem aos 10 picos anuais nos dados reais.

    No entanto, os resultados também enfatizam as limitações do procedimento de suavização exponencial. Olhando para os picos ascendentes e descendentes, há uma estrutura significativa que não foi considerada.

    Se você estiver interessado principalmente em modelar uma tendência de longo prazo com variação sazonal, a suavização exponencial pode ser uma boa escolha. Para modelar uma estrutura mais complexa, como essa, você precisa considerar o uso do procedimento ARIMA.

    Figura 5. Modelo multiplicativo de inverno
    Modelo multiplicativo de inverno

Ícone de ponto de controle Verifique seu progresso

A imagem a seguir mostra o fluxo. Agora você está pronto para criar um modelo ARIMA.

Painel Saídas e modelos

de volta para a parte superior

Tarefa 5: Criar um modelo ARIMA

Com o procedimento ARIMA, você pode criar um modelo de média móvel integrado autoregressivo (ARIMA) que é adequado para modelagem ajustada de séries temporais.

Os modelos ARIMA fornecem métodos mais sofisticados para modelar tendências e componentes sazonais do que os modelos de suavização exponencial e têm o benefício adicional de poder incluir variáveis preditoras no modelo.

Continuando com o exemplo da empresa de catálogos que deseja desenvolver um modelo de previsão, você viu como a empresa coletou dados sobre as vendas mensais de roupas masculinas, juntamente com várias séries que podem ser usadas para explicar parte da variação nas vendas. Possíveis preditores incluem o número de catálogos enviados e o número de páginas no catálogo, o número de linhas telefônicas abertas para pedidos, a quantia gasta em publicidade impressa e o número de representantes de atendimento ao cliente.

Algum desses preditores é útil para previsões? Um modelo com preditores é realmente melhor do que outro sem? Usando o procedimento ARIMA, você pode criar um modelo de previsão com preditores e verificar se há uma diferença significativa na capacidade de previsão em relação ao modelo de suavização exponencial sem preditores.

Com o método ARIMA, você pode ajustar o modelo especificando ordens de autorregressão, diferenciação e média móvel, além de contrapartidas sazonais para esses componentes. Determinar os melhores valores para esses componentes manualmente pode ser um processo demorado que envolve uma boa dose de tentativa e erro, portanto, neste exemplo, você especifica que o Expert Modeler escolha um modelo ARIMA para você.

Em seguida, você constrói um modelo melhor, tratando algumas das outras variáveis do conjunto de dados como variáveis preditoras. Os que parecem mais úteis para incluir como preditores são o número de catálogos enviados pelo correio (mail), o número de páginas do catálogo (page), o número de linhas telefônicas abertas para pedidos (phone), o valor gasto em publicidade impressa (print) e o número de representantes do atendimento ao cliente (service).

Siga estas etapas para criar um modelo ARIMA:

  1. Clique duas vezes no nó Type para definir suas propriedades.
    1. Verifique se a função dos campos mail, page, phone, print e service está definida como Input.
    2. Verifique se a função para homens está definida como Target.
    3. Defina a função de todos os campos restantes como None (Nenhum).
    4. Clique em Salvar.
  2. Clique duas vezes no nó Men (Time Series) e defina essas propriedades:
    1. Expanda a seção Opções de compilação - geral.
    2. Defina o método como Expert Modeler.
    3. Defina o " Tipo de modelo como " Somente modelos ARIMA.
    4. Selecione a opção Expert Modeler considera modelos sazonais.
      Figura 6. Escolha apenas modelos ARIMA
      Escolha apenas modelos ARIMA
    5. Clique em Salvar.
  3. Clique em Run all Ícone de execução.
  4. No painel Outputs and models (Saídas e modelos ), clique no modelo com o nome men para exibir os detalhes do modelo.
    1. Na página Models (Modelos ), clique em men na coluna Target (Alvo ).
    2. Clique na página Informações do modelo. Observe como o Modelador Especialista escolheu apenas dois dos cinco preditores especificados como sendo significativos para o modelo.
      Figura 7. O Modelador Especialista escolhe dois preditores
      O Modelador Especialista escolhe dois preditores
    3. Feche as duas janelas do modelo.
  5. No painel Outputs and models (Saídas e modelos ), clique nos resultados de saída com o nome ' Time plot of [men $TS-men] v. data para visualizar o gráfico.

    Este modelo melhora o anterior, capturando também o grande pico para baixo, tornando-o a melhor até agora.

    Figura 8. Modelo ARIMA com preditores especificados
    Modelo ARIMA com preditores especificados

    Em seguida, você pode refinar ainda mais o modelo, mas qualquer melhoria a partir desse ponto provavelmente será mínima. Você estabeleceu que o modelo ARIMA com preditores é preferível, portanto, use esse modelo para prever as vendas do próximo ano.

  6. Feche a janela do gráfico.
  7. Clique duas vezes no nó Men (Time Series) e defina essas propriedades:
    1. Expanda a seção Opções de modelo.
    2. Selecione a opção Estender registros para o futuro e defina o valor como " 12.
    3. Selecione a opção Calcular valores futuros de entradas.
    4. Clique em Salvar.
  8. Clique em Run all Ícone de execução.
  9. No painel Outputs and models (Saídas e modelos ), clique nos resultados de saída com o nome ' Time plot of [men $TS-men] v. data para visualizar o gráfico.

    A previsão parece boa. Como esperado, há um retorno aos níveis normais de vendas após o pico de dezembro e uma tendência constante de aumento na segunda metade do ano, com vendas em geral melhores do que as do ano anterior.

Ícone de ponto de controle Verifique seu progresso

A imagem a seguir mostra um gráfico usando o modelo ARIMA.

Gráfico de plotagem de tempo

de volta para a parte superior

Resumo

Você modelou com sucesso uma série temporal complexa, incorporando não apenas uma tendência ascendente, mas também variações sazonais e outras. Você também viu como, por tentativa e erro, pode se aproximar cada vez mais de um modelo preciso, que pode ser usado para prever vendas futuras.

Na prática, você precisaria reaplicar o modelo à medida que os dados reais de vendas fossem atualizados, por exemplo, a cada mês ou a cada trimestre, e produzir previsões atualizadas.

Próximas etapas

Agora você está pronto para experimentar outros tutoriais do SPSS® Modeler.