Análise dos Dados do Airbnb - São Francisco, Califórnia, EUA

Análise dos Dados do Airbnb - São Francisco, Califórnia, EUA

Airbnb já é considerado como sendo a maior empresa hoteleira da atualidade. Ah, o detalhe é que ele não possui nenhum hotel!

Conectando pessoas que querem viajar (e se hospedar) com anfitriões que querem alugar seus imóveis de maneira prática, o Airbnb fornece uma plataforma inovadora para tornar essa hospedagem alternativa.

No final de 2018, a Startup fundada 10 anos atrás, já havia hospedado mais de 300 milhões de pessoas ao redor de todo o mundo, desafiando as redes hoteleiras tradicionais.

Uma das iniciativas do Airbnb é disponibilizar dados do site, para algumas das principais cidades do mundo. Por meio do portal Inside Airbnb, é possível baixar uma grande quantidade de dados para desenvolver projetos e soluções de Data Science.

Neste artigo, iremos analisar os dados referentes à cidade São Francisco, Califórnia, e ver quais insights podem ser extraídos a partir de dados brutos.


Passo a passo

1 – Fazer o download da base de dados, extrair os dados e fazer o upload do arquivo csv para o ambiente do Google Colab.

2 – Importar as bibliotecas que serão utilizadas:

Não foi fornecido texto alternativo para esta imagem

3 – O Dataset em que iremos analisar está salvo num arquivo de formato csv, para fazer a leitura desse arquivo iremos utilizar a biblioteca Pandas que possui uma função específica para esse tipo de arquivo.

Não foi fornecido texto alternativo para esta imagem

Utilizando o comando head( ) verificamos as linhas de cabeçalho de nossa tabela e podemos verificar como está o padrão de inserção dos dados nas linhas.

Não foi fornecido texto alternativo para esta imagem

4 – Após conferir os dados optei por deixar as colunas padronizadas em Português, para que seja facilitada a compreensão.

Utilizando a função columns, conseguimos renomear as colunas do Dataset:

Não foi fornecido texto alternativo para esta imagem

Para facilitar ainda mais a compreensão nas análises, utilizaremos um dicionário para cada uma das colunas:

Não foi fornecido texto alternativo para esta imagem

5- Após realizar a leitura e a edição dos nomes das colunas, podemos verificar os detalhes do arquivo para garantir sua integridade, utilizando o comando shape verificamos quantas entradas (linhas) e variáveis (colunas) possui o arquivo;

Não foi fornecido texto alternativo para esta imagem

6- Vamos agora conferir quais os tipos utilizados para armazenar os dados nas colunas. Utilizando o comando dtypes temos como retorno, a informação sobre os tipos dos dados.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

7- A qualidade de um dataset está diretamente relacionada à quantidade de valores ausentes. É importante entender logo no início se esses valores nulos são significativos comparados ao total de entradas.

Para verificar, utilizaremos a função isnull( ) junto com a função sum( ) sobre a quantidade de linhas que temos na tabela, isso nos retornará a porcentagem de valores nulos em cada uma das colunas .

Não foi fornecido texto alternativo para esta imagem

  •  É possível ver que a coluna Grupo_Bairro possui 100% dos seus valores faltantes. 
  • A variável Licenca possui valores nulos em quase 40% das linhas.
  •  As variáveis Reviews_Por_Mes e Ultimo_Review têm aproximadamente 19% dos valores nulos.

8- Preenchendo valores ausentes

Como a coluna Grupo_Bairro não terá nenhuma utilidade, iremos exclui-la. Já a coluna Reviews_Por_Mes pode ser importante para nossa análise.

Para não jogarmos informações úteis fora, iremos utilizar um método direto e simples para preencher os dados faltantes, que consiste em substituir os valores nulos de uma coluna do tipo numérico com Mediana da coluna. Utilizaremos a função fillna( ) para preencher os valores.

Não foi fornecido texto alternativo para esta imagem
Podemos observar que a colunas Reviews_Por_Mes não possui mais valores nulos.

9- Distribuição das variáveis

Para identificar a distribuição das variáveis, iremos plotar um histograma.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

10- Identificando Outliers

Através do Histograma é possível notar indícios de presenças de outliers. Por exemplo as variáveis Preco e Noites_Minimas. Os valores não seguem uma distruição, e distorcem toda a representação gráfica. Para confirmar, há duas maneiras rápidas que auxiliam a detecção de outliers. São elas:

  •  Resumo estatístico por meio do método describe( )
  •  Plotar boxplots para a variável.

Não foi fornecido texto alternativo para esta imagem
Olhando o resumo estatístico acima, podemos confirmar algumas hipóteses como: * A variável `price` possui 75% do valor abaixo de 250, porém seu valor máximo é 25000. * A quantidade mínima de noites (`Noites_Minimas`) está acima de 365 dias no ano.

Boxplot para Noites_Minimas

Não foi fornecido texto alternativo para esta imagem
É possível identificar 544 linhas que ultrapassam o valor de 30 noites mínimas, que distorcem de cerca 75% dos valores da coluna.

Boxplot para Preco

Não foi fornecido texto alternativo para esta imagem
Identificado 127 entradas que ultrapassam um valor limite de 1000 na coluna de preços

Já que identificamos outliers nas variáveis Preco Noites_Minimas, vamos agora limpar o Dataset a partir dos limites que definimos acima e plotar novamente o histograma.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem
É possível visualizar uma maior dispersão nos valores das colunas Preco e Noites_Minimas

11- Correlação existente entre as variáveis

Correlação significa que existe uma relação entre duas coisas. No nosso contexto, estamos buscando relação ou semelhança entre duas variáveis. Utilizando o Mapa de calor conseguimos ver correlação entre as variáveis Reviews_Por_Mes e Numero_Reviews_12. O que significa que quanto mais reviews o imóvel tiver por mês, consequentemente terá mais reviews ao longo de 12 meses. 

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

Q1. Qual o tipo de imóvel mais alugado no Airbnb?

Com ajuda do gráfico abaixo, podemos analisar que o tipo de imóvel mais alugado é o Entire home/apt (Casa inteira/Apartamento), que contempla aproximadamente 64% dos imóveis alugados.

Vejamos agora essa informação de forma visual, utilizando um gráfico de rosca da biblioteca plotly.express:

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

 Q2. Noites Mínimas

Analisando a gráfico abaixo é possível identificar que quase 50% dos imóveis alugam-se por no mínimo 30 dias.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

Q3. Qual a localidade mais cara do Dataset?

Uma maneira de se verificar uma variável em função da outra é usando a função groupby( ). No caso, queremos comparar os bairros a partir do preço médio de locação.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

Através do gráfico é possível definir que a localidade mais cara é o bairro Presidio.

Mapa

Através do mapa plotado abaixo é possível observar a dispersão de alguns imóveis ao redor de São Francisco.

Foram criadas duas colunas no Dataset: 

Valor: categoriza os preços dos imóveis definidos como Baixo, Médio, Alto ou Super Alto.

Cores: categoriza em cores com base no Valor, para complementar a legenda do gráfico de Mapa.

Legenda

Verde - Imóveis mais baratos comparado à média

Azul - Imóveis de preço médio

Laranja - Imóveis de preço alto

Vermelho - Imóveis com preços super altos

Utilizamos o modo de condição para atribuir as classificações e cores para cada imóvel alugado, comparamos os preços de cada linha e o atribuímos suas devidas classificações.

Em seguida, separamos apenas uma amostra do Dataset utilizando a função sample( ), e para plotar o mapa utilizaremos a biblioteca Folium:

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem
Verde - Imóveis mais baratos comparado à média Azul - Imóveis de preço médio Laranja - Imóveis de preço alto Vermelho - Imóveis com preços super altos

Indisponibilidade dos imóveis

A fim de analisarmos a indisponibilidade dos imóveis no nosso Dataset, utilizaremos uma consulta na nossa tabela extraindo o volume de imóveis indisponíveis, através da coluna Disponibilidade_365, e agrupar pela categoria Valor. Enfim, usaremos a função barh( ) da biblioteca matplotilib para plotar o nosso gráfico de barras horizontal.

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

Observando o gráfico acima, conseguimos notar que as categorias de imóveis de valor Alto Super Alto possuem a grande maioria de imóveis indisponíveis do dataset.

Dispersão baseado nas Noites Mínimas dos imóveis

Através do gráfico abaixo podemos ver como estão distribuídos os imóveis ao redor de todo São Francisco e as noites mínimas oferecidas. Utilizando a função plot( kind = 'scatter') poderemos plotar um gráfico de dispersão:

Não foi fornecido texto alternativo para esta imagem
Não foi fornecido texto alternativo para esta imagem

Conclusões

Foi feita apenas uma análise superficial na base de dados do Airbnb, porém já se percebeu que existem outliers em algumas das variáveis, e tratamentos que se faziam necessários para o Dataset. 

Também se notou que a maioria dos imóveis disponíveis são do tipo Casas/Apartamentos (63,8%) e com 30 noites mínimas para aluga-los. Isso nos retorna que São Francisco retém grande parte das pessoas que passam pela cidade, e que na maioria dos casos suas localidades são procuradas para hospedar mais de uma pessoa ou por famílias.

Ter aproximadamente 50% dos imóveis disponíveis nas cidades aceitando no mínimo 30 noites para aluga-los, caracteriza que as localidades são procuradas para períodos mas extensos, como passagens de férias.

As duas localidades mais caras de São Francisco: Presidio Seacliff são regiões mais próximas do Golden State (ponto turístico), o que pode caracterizar os preços mais elevados.

Notou-se também que as categorias de imóveis que possuem mais indisponibilidade são os de valor Alto e Super Alto. Essa alta procura pode ser relacionada à qualidade da moradia, e também às suas localidades, que se encontram mais próximas do litoral de São Franciso, conforme exemplo abaixo:

Não foi fornecido texto alternativo para esta imagem
Imóveis de valores altos próximos ao litoral.

Por fim, concluímos nosso objetivo de transformar dados brutos em insights. Esse é o diferencial da análise de dados, transformar dados em informações relevantes, nossas análises podem facilitar a decisão de uma imobiliária ou até um anfitrião, que desejam saber sobre quais as melhores regiões, tipos de imóveis e períodos para alugar seu imóvel na região de São Francisco, ou até mesmo os tipos de inquilinos que irão negociar. isso é o que a decisão baseada em dados proporciona.

Juan Matheus Nunes

Business Intelligence (BI) | Cientista de Dados | Analista de Dados | Analista de BI | Data Science | Power BI | Looker Studio | Python | SQL

1 a

Parabéns, Vitor! Ficou top.

Emerson Prado

Especialista em Desenvolvimento de Software | Cielo

1 a

Análise sensacional, Vitor! Parabéns!!

Denis Bruno Morais Neves

Data Scientist | Data Analyst | Python | SQL | Power BI

1 a

Ficou muito massa Vitor!!! Parabéns.

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos