Airbnb v Praze - sdílená ekonomika nebo podnikání?
Článek detailně popisuje celý proces zpracování dat. Dashboard a stručné shrnutí toho, co si z projektu odnáším, lze najít na konci.
O datech samotných
Proč Airbnb data?
Já i moje dvojička máme pracovní zkušenost z HR, proto jsme původně přemýšlely o použití HR dat. Ty nám ale přišly těžko k sehnání, proto jsme se hledaly dál. Data o Aribnb nás nadchla, jelikož jsme se s nimi zvládly ztotožnit a mě osobně i proto, že jsou data stále o lidech.Jaká jsme zpacovávaly data?
K dispozici jsme měly tři typy datasetů scrapovaných přímo z Airbnb stránky, všechny v csv formátu:- Listings - největší tabulka, která obsahovala informace o jednotlivých nabídkách ubytování. Každá tabulka měla přibližně 14 000 řádků (seřazeno dle primary key - listing ID) a okolo 90 atributů. Každá tabulka obsahovala data za jeden měsíc. K dispozici byly údaje pro 16 po sobě jdoucích měsíců 19/09 - 18/04. Po bližším prozkoumání dat bylo zjištěno, že data před 2019 mají jinou strukturu, a na návrh mentora a jsme se zaměřily jen na leden až září 2019.
- Reviews - k dispozici jsme měly opět tabulku pro každý měsíc v rozmezí 19/09 - 18/04. Postupným zkoumáním jsme zjisitly, že se z velké části jedná o kumulativní data a v posledním souboru z 19/09 byla i převážná většina dat ze souborů z předchozích měsíců. Naší teorií je, že data, která v nejnovější tabulce chybí patřily k listings, které již na Airbnb nejsou nabízeny. Původně jsme plánovaly dát dohromady všechny unikátní hodnoty (dle review_id) do jednoho souboru, ale po konzultaci s mentorem jsme se shodli, že bude to není třeba. Užívaný soubor 19/09 měl 4 atributy a přes 600 000 záznamů.
- Calendar - informace o dostupnosti jednotlivých nabídek ubytování byly k dispozici v zvlášť v tabulce, ale po hlubším prozkoumání dat vyšlo najevo, že informace z kalendáře jsou převedeny do tabulky Listings jako atributy. V průběhu projektu jsme se rozhodly data nepoužívat vůbec, jelikož z dat nešlo vyčíst, jestli není ubytování dostupně proto, že není nabízené v daném termínu, nebo proto, že je již zarezervované.
Fáze zpracování dat
Po tom, co jsme se pro dané data rozhodly, jsme se s nimi začaly seznamovat, vzhledem k objemu dat to byl docela dlouhodobý úkol. Zjistily jsme, že ačkoli je tabulka Listings členěná podle Listing ID, část atributů se váže pouze k Host ID, dále že máme některé zajímavé informace, jako např počet nabídek ubytování na hostitele, už předem napočítané a v počíteční fázi nám připadala pěkná a poměrně čistá...Hackaton
Během hackatonu jsme postupně začaly objevovat skryté problémy v datasetech. Největší překážkou byly příliš dlouhé stringy - hodně hodnot bylo textových - např. informace o hostovi, informace o lokalitě, informace o bytu. Z toho důvodu jsme půl dne na hackatonu nemohly dostat data do SQL a viděly samé errory. Problém nám pomohl překonat mentor.
Další komplikací byla spolupráce, jelikož SQL mojí dvojičky nebylo kompatibilní s mojí verzí. Tato komplikace byla vyřešena sdílenou Azure databází, která nám práci na projektu výrazně usnadnila.
Na závěr hackatonu jsme byly schopné vytvořit pár grafů. V čem ale vidím největší přínos hackatonu bylo slyšet, jak o svých projektech přemýšlí ostatní. Inspirovalo nás to k zamyšlení o tom, co je vlastně naším cílem? Co přesně chceme zjistit? A komu mají naše výsledky sloužit?
Záměr projektu
Po hlubším zamyšlení nad dostupnými atributy a zvážení všech možností, jsme se shodly na tom, že zkusíme najít v datech zajímavosti a souvislosti, zejména s využitím informací o hostitelích, a také zkusíme v datech najít odpověd na otázku, jestli najdeme data, která by podporovala tvrzení, že se jedná o podnikání. Další podotázky, které nás napadly, jsou rozebrány dále v textu.
První zjištění - zaměřeno na peníze
Poměrně brzy jsme zjistily, že data nejsou až tak idealní, jak jsme si myslely. Největší záhadou pro nás začaly být ceny. Na stránkách, ze kterých jsme data stahovaly jsou ceny za Prahu prezentovány v dolarech. Co ovšem nesedělo ani na českou, americkou či evropskou měnu bylo rozmezí, ve kterém bylo ubytování za noc nabízeno: 24 - 259 202. K vyjasnění dopomohl detailní průzkum jak Airbnb, tak dat - nabídky jsem si vyfiltrovala dle nejvyšších hodnot a šla nabídku po nabídce prozkoumat přímo na web. Ne všechny nabídky byly za stejnou cenu jako data scrapované ze září 2019. Jakmile jsme našly první hodnotu, která byla téměř shodná se zjištěným maximem, potvrdily jsme si, že se nejedná o error nebo odlehlou hodnotu:Měnu jsme si poté potvrdily dalším atributem v tabulce Listings - poplatkem za úklid. Při porovnání hodnot v tabulce s webem, jsme zjitily, že téměř každá hodnota se shodovala. Na základě toho jsme formulovaly hypotézu, že cena za ubytování se liší v závislosti na měsíci (na rozdíl od poplatku). Tu jsme si pak potvrdily následujícími vizualizacemi:
1) Průměrná cena za ubytování v čase - zahrnuty pouze nabídky, které měly informaci o ceně po celé sledované období (10 155 nabídek celkem).
2) Průměrná cena za ubytování v čase (vše) - zahrnuty veškeré nabídky, které kdy za sledované období byly na trhu (14 140 nabídek celkem).
Lze pozorovat, že vývoj průměru má v obou případech podobný trend. Při zahrnutí všech nabídek se zvýší výraznějí maximální průměrná cena. Obecně lze sledovat trend rostoucí ceny v letním období - turistické sezóně. To může mít vliv i na počet nabídek ubytování. Vyšší počet nabídek za vyšší cenu pak celkově zvedá křivku průměru v letních měsících na grafu č.2.
Další zjištění - tentokrát o hostitelích
Na první pohled nás v datech zaujala skutečnost, že hostitel si může zvolit libovolnou lokalitu pobytu a přišlo nám zajímavé se na to podívat blíže. USA, Rusko, UK, Nigérie...zastoupení je pestré. Napadaly nás otázky jako "Lze pozorovat trend zahraničních hositelů zkupovat byty v Praze?" či "Jaký je vlastně poměr hostitelů pobývajících v Česku a mimo něj?" Nutno podotknout, že z dat nelze jednoznačně tvrdit, že tito hostitelé nejsou Češi, nebo že nemají v Česku trvalý pobyt. Pro tato tvrzení jsme nesesbíraly dostatek informací.Když jsme se na data podávaly blíže, čekalo nás překvapení - místo pobytu zadával každý hostitel vlastnoručně, tudíž například jen Praha byla zapsaná 78 různými způsoby. Celkem existovalo 529 unikátních hodnot. Data jsme s pomocí SQL kódu převedly na mezinárodní kódy zemí a do datového modelu v Power BI následně náhrály číselník pro země, aby se ve vizualizacích zobrazovaly české názvy.
Po několika desítkách minut mravenčí práce jsme se dostaly na finální číslo 62 unikátních hodnot + NULL hodnoty pro ty, které nešlo určit (např, "I am a global citizen")
Níže jsme sledovaly vývoj počtu "zahraničních" hostitelů (1) dle roku přidání na Airbnb a porovnaly s celkovým trendem všech hostitelů (2). Porovnávané vzorky jsou sice výrazně rozdílné ve velikostech, ale zajímavým výstupem je, že ačkoli celkový počet hostitelů, co se přidali v roce 2018 a 2019 výrazně klesá (2), počet "zahraničních" hostitelů, jenž se přidali v roce 2018 + výrazně roste a dokonce nabývá nevyšší hodnoty (1).
1)
2)
Počet nábídek na hostitele
V neposlední řadě nás zaujal atribut, který mapuje, kolik každý hostitel nabízí ubytování. Data byla i rozlišena na to kolik nabízí bytů, pokojů a sdílených pokojů. Otázka, kterou jsme se snažily zodpovědět byla - "Má počet nabízených ubytování vliv na nabízenou cenu?" Pro vizualizace níže jsme si stanovily, že pokud má hostitel 1 - 2 nabídky (bez ohledu na druh), bude to považováno za projev sdílené ekonomiky, pokud má 3 +, jedná se o byznys. Ačkoli je to omezení ne úplně přesné, bylo možné pozorovat zajímavé závěry:
Shrnuto jednou větou: 15 % hostitelů s mnohonásobnými nabídkami dohromady inzerují nadpoloviční většinu všeho ubytování v Praze (54 %).
Další rizikový ukazatel podnikání je, že téměř 8 z 10 nabízených ubytování v Praze jsou celé byty (77 % ).
Existenci podnikatelských subjektů jsme si potvrdily i mimo data - např. zmíněný Prague for you uvádí na svých webových stránkách tři různá IČA.
Kombinované zkoumání - ceny a hostitelé
Zajímalo mě, jestli má počet nabízeného ubytování vliv na nabízenou cenu. Na grafu níže lze pozorovat odlišnosti, bez korelační analýzy si je netroufám interpretovat. Na tu nám bohužel nevyzbyl čas.Více se cenami zabývala moje kolegyně Daniela Uhlířová, doporučuji navštívit i její blog
Výsledný dashboard s interaktivním slicerem
Rozhodly jsme se, že výsledek zvizualizujeme ve dvou dashboardech - já jsem se zaměřila na dashboard s informacemi o hostitelích a typech ubytování. Moje dvojička zvizualizovala data mapující ceny. Druhý dashboard lze najít na jejím blogu.Do vizualizace jsem zabudovala v pravém horním rohu tlačítko "menu", které po kliknutí otevře slicer, na kterém lze zvolit dle jakých kritérií chcete dashboard zobrazit. Slicer se opět zavře šipkou.
Malé rozšíření projektu
Velmi jsem si přála využít i data z tabulky reviews, zahrnující slovní hodnocení ubytování. Do plné textové analýzy jsem se nepouštěla, ale aspoň malinko jsem ji okusila v programu R, kde jsem analyzovala četnost slov. Myslela jsem, že to nebude složité - mentor mě podpořil a sdílel se mnou kód, který bylo třeba jen napasovat na naše data. Jenže omyl! Kód obsahoval příkaz, který už v R neexistuje, již není podporován (Read Tabular). Nikdy by mě nenapadlo, že se tohle může stát. Byla jsem odhodlána to nevzdat, ačkoli jsem se nacházela ve stavu, kde jsem googlila: "R word frequency for dummies".
Nakonec jsem si našla nový kód, který jsem poupravila dle našich potřeb. Musela jsem si dohledat a doinstalovat hodně libraries a myslím, že ani na hackatoně jsem neviděla tolik errorů, kolik my jich vypsalo Rko. Jediný problém, který se mi nepodařilo překonat, je velikost zkoumaného souboru. Původně jsem chtěla zanalyzovat všechna data nebo dvě hlavní skupiny (např. hostitelé s multiple listings a s jednou listings) a porovnat mezi sebou jejich výsledky, ale nepodařilo se mi dostat se přes hranici 10 000 reviews.
Nakonec jsem vytvořila dva wordcloudy, které ovšem nemají příliš reprezentativní zastoupení kvůli omezení paměti - obě skupiny mají počet recenzí 10 000 a vizualizovala ty, které se ve vzorku vyskytovaly minimálně 1000krát.
1) Wordcloud recenzí pro dva hostitele s nejvyšším počtem nabízeného ubytování:
2) Wordcloud prvních 10 000 náhodných recenzí dle pořadí v souboru:
V obou skupinách se často opakovala slova, že kterých si lze vyvodit, co je pro návštěvníky důležité = location, clean, close, helpful, nice.
Do prvního cloudu se pěkně promítla selekce hostitelů - jedno z nejčastěji opakovanách slov je Alex, což byl i název jednoho e dvou vybraných hostitelů - Alex and Kate.
Stručné shrnutí
Mimo fakta o datech, průběhu projektu a jeho výsledcích, mi přijde důležité zmínit i co si z práce na projektu odnáším:
- mnoho nových zdrojů informací - např. jsem si oblíbila youtube kanál "Guy in a cube". který se zaměřuje na Power BI.
- vím, jak vytvořit interaktivní slicer (díky Guy in a cube :) )
- zvládnu začátečnickou textovou analýzu v R - četnost slov
- dozvěděla jsem se, že existují vizualizační online challenges a je mým cílem se zúčastnit (https://www.makeovermonday.co.uk/)
- naučila jsem se vytvářet si v Power Query nové sloupce s využitím výrokové logiky
- mám lepší povědomí o tom, na co se v datech zaměřit při prvním seznamování










Komentáře
Okomentovat