Montera34
Para responder a esta pregunta primero hay que definir qué es un anuncio activo.
Lo ideal sería poder definir los anuncios que se han alquilado un cierto número de días al año o en un determinado periodo, esto es, poder definir los anuncios que han aceptado clientes recientemente por encima de una cantidad establecida. Como esos datos son difíciles de obtener podemos usar las siguientes alternativas en función de los datos disponibles.
Un anuncio activo puede definirse por una combinación de variables:
Como se indica en InsideAirbnb “algunos anfitriones no mantienen sus calendarios actualizados o los tienen muy disponibles, incluso cuando viven en su propia casa/apartamento” por lo tanto es preciso combinar este análisis asegurándose de que hayan sido reservados recientemente (han tenido una review en los últimos 6 meses) y frecuentemente (número de noches alquiladas por año mayor que el ¿límite/umbral? para esa ciudad).
Parece necesario entonces, para clasificar un anuncio como activo, combinar el análisis de una serie de variables.
Visualización:
Para contar los activos en un determinado mes (la empresa Airdna lo hace así “An active rental is a property that has had at least one available day or property day in the previous month. Available day means the host had made the property available to rent”, y tiene sentido, hay que delimitar el periodo que se quiere estudiar) podemos seleccionar los que cumplan alguna de las siguientes cosas:
Ver script en R para calcular los activos en un determinado mes.
“Un 72% de los usuarios dejan comentarios” (datos de 2012): https://www.quora.com/What-percent-of-Airbnb-hosts-leave-reviews-for-their-guests. Fuente e hilo de Twitter: https://twitter.com/InsideAirbnb/status/988886252329095168
Improving the Transparency of the Sharing (2017) Economy http://mathias.lecuyer.me/assets/assets/www2017airbnb.pdf
Los datos que hacen falta varían dependiendo de lo que vayamos a utilzar.
Insidairbnb ofrece un archivo calendar.csv.gz
donde se pueden consultar las fechas disponibles de un listing.
Ejemplo de un archivo de calendar.csv de Insideairbnb, donde en cada línea se tiene el id, la fecha en que está disponible y el precio:
listing_id | date | available | price |
---|---|---|---|
11368 | 2019-08-13 | t | $100.00 |
11368 | 2019-08-12 | t | $100.00 |
11368 | 2019-08-11 | t | $100.00 |
Una de las variables de los archivos de InsideAirbnb es la de availability_30
, availability_60
, availability_90
o availability_365
que indican el número de noches que tiene cada anuncio disponibles en los próximos 30, 90 o 265 días.
Datahippo archiva en su base de datos como “revisado” (revised) cuando un anuncio es encontrado de nuevo al hacer una búsqueda. El scraping está desarrollado haciendo una búsqueda para fechas lejanas (aproximadamente el año siguiente).
En base a un listado de id de listings (que puedes obtener de Insideairbnb o de la base de datos incremental de Datahippo) se puede hacer un ping a cada url de cada listing para ver cuales están activos.
reviews.csv.gz
.InsideAirbnb ofrece un archivo con todas las reviews de los listings scrapeados. Podemos utilizar la fecha de la última review para definir cuándo un anuncio ha estado activo o analizar el total de reviews por periodo analizado.
Datahippo solamente ofrece los id de los listings scrapeados. Como el scrapeo no incluye la fecha del último review hace falta hacer un scraping a partir de los id de los listings de esa región. Este es el script de python, para que funcione necesitas un archivo donde en cada línea haya un id de listing. El script podría hacer varias funciones: ver si el anuncio sigue online y capturar datos actualizados: últimas fechas de reviews (porque había varias reviews en portada y no siempre ordenadas cronológicamente), título, usuario, id, plazas, precio y número de reviews.
Este script escrito en R, review-analysis.R
, analiza los reviews de una localización para estudiar estacionalidad y evolución de uso en base a un archivo de reviews de Insideairbnb:
https://github.com/montera34/airbnbeuskadi/blob/master/analisis/review-analysis.R
Puedes ver los resultados del script review-analysis.R
aquí: https://github.com/montera34/airbnbeuskadi/tree/master/images/airbnb/reviews