Usando AutoML para previsão de demanda e cancelamento de hospedagem

Matheus Buniotto
8 min readJan 6, 2022

--

A previsão do hotel é o recurso definitivo para antecipar o desempenho futuro das principais métricas do hotel/resort. A previsão da demanda futura no setor de hospedagem é crucial porque leva a um planejamento e tomada de decisões eficientes para todos os departamentos e, o mais importante, é um dos impulsionadores dos preços.

Photo by Paolo Nicolello on Unsplash

Hoje, existem diversas ferramentas de Machine Learning capazes de predizer com um ótimo grau de precisão a maioria das métricas da hotelaria e de outros setores. Algumas delas, conhecidas como ferramentas “low-code” capazes de implantar análises e modelos de machine learning de forma rápida e prática.

Vamos analisar os dados abertos de um Hotel e um Resort disponibilizados na plataforma Kaggle após serem anonimizados. Vamos dividir o projeto em algumas etapas:

  1. Entender os dados
  2. Análise exploratória (entender o perfil dos clientes e das vendas)
  3. Previsão de demanda
  4. Previsão de cancelamento

Entendendo os dados

Este conjunto de dados contém informações de reserva para um hotel urbano e um resort e inclui informações como quando a reserva foi feita, duração da estadia, o número de adultos, crianças e / ou bebês e o número de vagas de estacionamento disponíveis, entre outras coisas.

Todas as informações de identificação pessoal foram removidas dos dados.

Os dados possuem 119 390 linhas, cada uma delas representando uma reserva realizada e 32 variáveis.

Algumas das variáveis são:

  • Tipo do Hotel
  • Reserva Cancelada
  • Tempo de Antecedência da Reserva
  • Data da chegada, valor da diária
  • Número de adultos/bebê/crianças
  • Canal de venda
  • Pais de origem do visitante

Antes de iniciar a análise precisamos tratar os dados para podermos extrair as informações relevantes para a análise. Alguns dos tratamentos realizados foram:

  • Remover reservas que não possuem crianças ou adultos.
  • Remover valores nulos e/ou substituir os valores por 0
  • Calcular o total de diárias, já que o conjunto de dados original está dividido entre diárias de fim de semana e diárias de semana.

Análise exploratória

O objetivo principal da EDA é ajudar a analisar dados antes de fazer qualquer suposição. Ela pode ajudar na identificação de erros óbvios e entender melhor os padrões presentes dos dados, detectar desvios ou eventos anômalos, além de encontrar relações interessantes entre as variáveis. (IBM)

Nesse contexto a análise exploratória desse conjunto de dados permitirá entendermos melhor o perfil dos clientes e da demanda dos hotéis, fornecendo informações extremamente relevantes para o negócio.

Por exemplo, nos gráficos abaixo podemos visualizar qual o tempo médio de antecedência das reservas e valor da diária para diferentes períodos do ano e as diferenças desses valores em relação aos 2 tipos de hospedagem(resort ou hotel). Também poderíamos explorar se há diferença entre esses valores para reservas de diferentes segmentos/canais ou com/sem crianças.

Gráfico antecedência de reserva
Gráfico valor da reserva

Outro dado relevante para o setor hoteleiro é o número médio de diárias, explorando os dados podemos comparar entre os 2 tipos de hospedagem e entender a distribuição das reservas entre eles, claro, também podemos visualizar essa informação agregando outras dimensões, como mês, número de crianças, etc.

Também podemos explorar outras informações relevantes presentes no conjunto de dados, como tipo de refeição da diária ou por qual canal a reserva foi feita, por exemplo.

Outro ponto interessante para análise é a correlação e relacionamento entre as variáveis. No gráfico de correlação podemos entender a relação entre as variáveis e como elas se influenciam. Essa visualização será útil para otimizar o modelo de previsão de demanda e cancelamento.

A análise exploratória é fundamental para entender e público e perfil dos visitantes, além de fornecer insights relevantes para ações de marketing, RM, comercial e outras áreas do negócio. Porém, ainda é o primeiro “degrau” da maturidade analítica(Análise descritiva) e não oferece muita vantagem competitiva em relação aos outros players do setor. Agora, além o que ocorreu no passado, vamos partir para uma análise preditiva com foco em entender o que irá acontecer no futuro, essa é uma análise de maior complexidade porém com maior valor para o negócio.

Maturidade Analítica — Gartner

Previsão de demanda

Para previsão de demanda e forecast de diárias/reservas será utilizado o pacote de machine learning Prophet, fornecido pelo Facebook de forma gratuita. Sobre o Prophet:

Prophet é um pacote para prever dados de série temporal com base em um modelo aditivo em que tendências não lineares são ajustadas com sazonalidade anual, semanal e diária, além de efeitos de feriados. Funciona melhor com séries temporais que têm fortes efeitos sazonais e várias temporadas de dados históricos. O Prophet é robusto para dados ausentes e mudanças na tendência, e normalmente lida bem com outliers.

Por ser um algoritmo que considera as flutuações sazonais das séries temporais ele se torna perfeitamente aplicável no conjunto de dados, já que os dados de reservas/diárias sofrem um forte efeito sazonal (diário, semanal e mensal).

No exemplo abaixo vamos prever o período de 365 dias (1 ano), além da exibição em gráfico de linhas com dados históricos + forecast. O gráfico gerado é totalmente interativo com opções de seleção de períodos e visualização dos pontos.

Exemplo de Gráfico interativo
Visualização dos dados do forecast + dados históricos

Além disso, também podemos extrair os dados em forma de tabela, facilitando a visualização diária.

Visualização em formato de tabela

Outro ponto interessante do Prophet é que ele nos fornece a visualização das tendências anuais, mensais e semanais, facilitando a visualização da oscilação de demanda sazonalmente.

Previsão de cancelamento

Para previsão de cancelamento de reserva, vamos lidar com um problema de classificação. Precisamos classificar se a reserva será cancelada: Sim ou Não?

Inicialmente podemos ver a distribuição do conjunto de dados entre reservas canceladas e reservas que não foram canceladas da seguinte forma:

Reserva cancelada (is_canceled):
1 - Sim
0 - Não

Para essa tarefa será utilizado a biblioteca “low-code” PyCaret. Dentre os vários modelos disponíveis para problemas de classificação, escolhi a árvore decisão para utilizar nesse exemplo. O motivo é bem simples, a árvore de decisão é o algoritmo de fácil compreensão e interpretação.

Exemplo de árvore de decisão simplificada

Após criar o modelo podemos compará-lo com os demais algoritmo de classificação e/ou verificar o desempenho do algoritmo que escolhemos (nesse caso, a árvore de decisão). Para esse problema vamos utilizar a Acurácia como métrica de avaliação.

Desempenho do modelo

O modelo criado teve uma acurácia média (destacado em amarelo) de 0,8484 (valor máximo de 1), ou seja, cerca de 85%. Após a criação do modelo e a verificação da performance de baseline, poderíamos otimizar os hiper-parâmetros para melhorar o desempenho do nosso modelo.

Outro ponto interessante para análise é o gráfico de importância das variáveis utilizadas para previsão do modelo. O gráfico abaixo nos informa que as 3 variáveis com maior importância são:

  • Tipo de depósito (Non Refund)
  • Tempo de antecedência da reserva
  • Tipo de segmento (Reserva Online)
Importância das variáveis

Em problemas de classificação binária é utilizada uma matriz tabular cruzada dos resultados preditos com as classes originais observadas no conjunto de dados, conhecida como matriz de confusão.

Exemplo de Matriz de Confusão

O PyCaret facilita as etapas do processo de Machine Learning, e a visualização desses resultados não poderia ser diferente. Com poucas linhas de código conseguimos visualizar a matriz de confusão dos resultados, por exemplo.

Após isso, é necessário finalizar o modelo “treinado” e validado, para então implementar as previsões de cancelamento nas novas reservas efetuadas e prever quais são às prováveis de cancelamento.

Conforme novas reservas são realizadas e as previsões são feitas, os gestores do negócio podem tomar decisões mais assertivas com a informação dos prováveis cancelamentos, e até mesmo implementar estratégias alinhadas com os objetivos do negócio para reverter (ou não) esses futuros cancelamentos.

Conclusão

A combinação de análise dos dados para identificar oportunidades e “gaps” no negócio com soluções de previsão de demanda e cancelamento permite que os hotéis ou resorts trabalhem de forma muito mais assertiva e utilize estratégias baseadas em dados para atingir suas metas e objetivos.

Nesse artigo quis demostrar como podemos aplicar essas análises e previsões de para adquirir informações relevantes para administração de um hotel. Essa é apenas uma fração do poder dos dados quando utilizados para detectar padrões e tendências de comportamento dos seus clientes que podem ser de grande valor para uma tomada de decisão em todos os setores da empresa.

Me segue lá: Linkedin

Links úteis:

--

--

Matheus Buniotto

Compartilho um pouco dos meus estudos e projetos com dados! Atualmente trabalho como analista de Dados e BI com foco em marketing e produto.