Mobilní aplikace NajdiAuto

šetří čas i peníze

Účastnice DA Praha: Miriam Tomšová, Esther Březinová

Mentor: Pavel Chocholouš, Avast Software

Náš blog jsme se rozhodly rozdělit do těchto částí:

1. Kdo jsme a proč si náš příběh přečíst?

2. 3, 2, 1 start ! aneb jak jsme našly cestu k sobě navzájem i k projektu

3. Průběh našeho projektu

— — — — — — — — — — — — — — — — — — — — — — — — — — — — —

1. Kdo jsme a proč si náš příběh přečíst? (Miriam)

Rozhodly jsme se, že napíšeme pár řádků o tom, proč jsme se rozhodly pro studium Datové analytiky v rámci Digitální akademie. Pro mě osobně byla Czechitas naprosto neznámá a od chvíle, kdy jsem se o ní dozvěděla, jsem měla neskutečnou radost a věděla jsem, že je to cesta, kterou se chci vydat a minimálně zjistit, jestli je to to, co mě bude v budoucnu bavit.

V současné době jsem na rodičovské s našimi dvěma syny a v dubnu 2019 mě čeká návrat do pracovního procesu, do práce, která mě baví, nicméně obnáší časově náročné dojíždění do Prahy a to pro mě v tuto chvíli není slučitelné s fungováním v péči o malé děti a rodinu. Začala jsem tedy přemýšlet, jaké bych mohla najít pracovní uplatnění v okolí svého bydliště. Jako vystudovaný chemik jsem před nástupem na mateřskou dovolenou pracovala ve státní správě a měla jsem na starosti zejména právní předpisy týkající se nebezpečných chemických látek a směsí, jak na národní tak evropské úrovni a další související povinnosti, např. informační podpora dovozců a výrobců chemikálií, aby dostáli svých povinností a příprava podkladů na jednání Evropské agentury pro chemické látky. Mé pracovní zaměření tedy bylo velmi specifické a věděla jsem, že budu muset udělat nějakou změnu a rozšířit své dovednosti o něco dalšího, abych zvýšila své šance pro uplatnění na trhu práce. Vždycky jsem ráda pracovala na počítači a vychytávky z digitálního světa mě vždy přitahovaly, nicméně v rámci studia ani zaměstnání jsem neměla možnost žádného programování ani větší zkušenost v práci s daty. V zaměstnání jsem měla možnost spravovat veřejně přístupnou databázi chemických látek, která je v současné době již v kontextu vývoje legislativy v oblasti chemických látek neaktuální a tudíž nevyužitelná. Dále jsem měla možnost spolupracovat při správě a aktualizaci naší sekce webu (zveřejňování aktualit a příprava jeho obsahu).

O Digitální akademii a Czechitas jsem se dozvěděla úplně náhodou v červnu 2018 od kamarádky, která se účastnila předchozího běhu Digitální akademie (tedy v době přibližně 2 týdny před slavnostním Galavečerem). Následující týden jsem se přihlásila na kurz Úvod do programování, který se konal v Mladé Boleslavi, nedaleko mého bydliště. Poté jsem věděla, že se chci přihlásit do intenzivního kurzu Digitální akademie, jehož další běh začíná v září 2018. Musím tady říct, že největším motorem pro toto mé rozhodnutí, byly naše dvě děti, které mi tak trochu ukázaly cestu, a to tím, že dělají hlavně to, co je baví ;o) A já si uvědomila, že jen tak bude dávat má nová práce smysl.

Měla jsem hroznou radost, když jsem zjistila, že jsem byla vybrána jako účastnice dalšího běhu Digitální akademie a byla jsem za to moc vděčná. Uvědomila jsem si, že mám jedinečnou šanci udělat velkou změnu ve svém životě a udělat krok vpřed novým směrem, který může být zásadní pro moji další profesní etapu. Výběr do Digitální akademie je pro mě velkým závazkem a výzvou na sobě hodně zapracovat a hlavně zjistit, jakým směrem se dále ubírat. Czechitas se pro mě stala už od začátku srdeční záležitostí a i přes obrovskou náročnost Digitální akademie jsem moc ráda, že můžu být její součástí, protože vím, že nic podobného u nás nikde nepotkám.

Poděkování

Na tomto místě bych ráda poděkovala všem, kteří mi pomohli během kurzu Digitální akademie, pokud jsem to již neudělala osobně nebo na Galavečeru ;o)

Děkuju mému taťkovi, díky jehož finanční podpoře jsem si mohla pořídit nový notebook a mít tak na čem pracovat v rámci kurzu Digitální akademie a absolvovat kurz.

Děkuju mému manželovi, za důvěru a pomoc, bez níž bych toto náročné období neměla šanci zvládnout. Péči o děti a částečně i o domácnost převzal a zvládl na výbornou ;o) Díky, Péťo.

Děkuju mojí sestře Réce a babičce Janě, které mi v tomto období také moc pomohly, zejména s hlídáním a péčí o naše děti.

Dále děkuju celému týmu Czechitas, který pro nás běh zorganizoval a celou dobu nás podporoval. Děkuju všem lektorům, kteří nám dali své zkušenosti a mnohému nás naučili.

Děkuji mojí skvělé parťačce Esther za úžasnou spolupráci a podporu nejen v těch nejtěžších momentech našeho projektu. Doufám, že naše spolupráce bude pokračovat ;o)

Děkuju našemu mentorovi Pavlovi Chocholoušovi, který s námi měl neskutečnou trpělivost a některé věci musel opakovat a vysvětlovat více než jednou ;o) Děkuju všem koučům, Ondrovi Hošákovi, Ondrovi Šlejtrovi, Danielovi Vrátilovi, Monice Vlčkové za úžasnou podporu, Zuzce Tučkové a všem dalším, kteří nám byli po ruce, kdykoliv jsme to potřebovali. Díky moc, jste úžasní :o)

Dále bych ráda poděkovala i holkám v našem běhu, které když věděly, tak poradily a sdílely své zkušenosti a zpětnou vazbu.

2. 3, 2, 1 start! aneb jak jsme našly cestu k sobě navzájem i k projektu (Miriam)

Jak jsme se daly s Esther dohromady? Popravdě první sympatie k Esther u mě nastaly, když jsem se od Esther v září po hodině pythonu dozvěděla, že dělala týž den státnice na VŠ a někdy později ještě to, že Digitální akademii se rozhodla skloubit nejen s pokračováním dálkového studia na VŠ, ale hlavně s péčí malého syna a rodiny. U příjemné seznamovací hýbací akce na první společné sobotě s Tomášem Mátlem a Bárou Spáčilovou, kdy jsme se řadily na levou nebo pravou stranu dle našich preferencí, jsem zjistila, že toho máme společného více a sympatie se prohloubila.

Poté co mě Esther oslovila, zda bych neměla zájem o spolupráci na projektu, mi spadl kámen ze srdce, protože tato počáteční fáze, kdy jsme se měly mezi sebou spárovat a vytvořit dvojice pro závěrečný projekt tak, abychom si sedly lidsky i projektově ohledně tématu, byla pro mě osobně asi nejtěžší fází. Vzhledem k tomu, že jsem věděla, že nás čeká hodně náročné období, považovala jsem výběr partnerky pro závěrečný projekt za velmi důležitý krok.

Po našem prvním společném rozhovoru jsme zjistily, že ani jedna z nás nemáme žádná vlastní data ani konkrétní téma. Mezi témata, která bychom rády zpracovávaly, padla např. tato: chytré hodinky, parkování v Praze a v Mladé Boleslavi, auta obecně, zmetkovitost výrobků (např. výroba dřevěných hraček v Detoa), chování zákazníků — analýza myšlení. Shodly jsme se na tom, že chceme, aby měl náš projekt reálný výstup, a že nechceme zdlouhavě čekat na data z nějaké firmy, které bychom pak z důvodu možnosti prezentace v rámci závěrečného projektu dostaly nejspíš ve formě anonymizovaných dat a nevěděly bychom, co všechno si pod nimi můžeme představit. Z tohoto důvodu jsme si vybraly téma navrhnuté Pavlem Chocholoušem z Avastu, které se týkalo práce s údajemi inzerátů bazarových aut. Toto nás obě dvě zaujalo hned napoprvé a věděly jsme, že to je téma pro nás :o)


1.Kdo jsme a proč si náš příběh přečíst? (Esther)

Když přemýšlím, jakým momentem začal můj příběh v IT světě a jdu v myšlenkách nazpátek podle časové osy, uvědomuju si, že ten opravdový začátek nastal narozením našeho syna. Úžasného malého člověka, který je pro mě inspirací i hnacím motorem. Narození si vybral na začátku mého zkouškového období ve druhém ročníku vysoké školy a od té doby jsem se ještě nezastavila. Po tom, co jsem musela skloubit dodělání ročníku (zimního i letního semestru naráz), psaní bakalářské práce, státnic, starost o malé miminko- stále na mně plně závislé, starost o domácnost a zahradu, jsem se naučila nejen skvělý time-management ale také si umět věci prioritizovat, koukat se na různé situace s nadhledem, neřešit vše dokud to doopravdy není potřeba a hlavně neřešit zbytečné věci, protože na ně ani už nezbyl žádný prostor.

Jak šel čas, syn rostl, rozhodla jsem se nastoupit do práce již v oboru na poloviční úvazek, když už jsem si dodělala vysokoškolské vzdělání, které k práci ve finanční analýze je požadováno, abych měla praxi. A přitom jsem se bála, kdo mě s malým dítětem přijme do práce. Přihlásila jsem se do jedné nejmenované firmy, kterou každý z nás zná. Má hodně obchodů po celé ČR i v zahraničí a já do nich moc ráda chodím. Značka je mi blízká tím, co vyrábí. Přihlásila jsem se na pozici junior controller specialist. Dostala jsem se do druhého kola na pohovor k řediteli finanční sekce. Se zaměstnanci firmy, jsme si sedli, ale nakonec upřednostnili kandidáta se zkušenostmi v oboru (klasický model na trhu práce — chceme juniora nebo absolventa se zkušenostmi). Tento neúspěch mě „nakopl“ k tomu, abych své znalosti prohloubila a já se přihlásila na kurz Excelu a Power Query. Tam jsem si uvědomila, že mě vlastně vždy bavily počítače (už od dob, kdy jsem ve 4 letech hrála na PC s bratrem Wolfa, Duke, Warcraft atd.), ale nikdy mě jako ženskou nenapadlo IT studovat — protože to přece studují jen chlapi s mastnými vlasy ve sklepě, jak si hodně lidí myslí a mě o tom přesvědčili také. Mluvila jsem o tom s kamarádkou, která mi poslala odkaz na Czechitas. Digitální akademie mě hned zaujala, nechala jsem si týden na promyšlení, domluvila si hlídání syna, přihlásila se a pak už jen čekala, jak to dopadne …

Když jsem se dozvěděla, že mě přijali, byla jsem šťastná a moc vděčná. Ostatně tyto pocity cítím dodnes a jen se prohlubují stále více, čím více toho umím spolu s pocitem, že akademie mi dala šanci. Šanci dělat něco, co mě baví. Dala mi šanci na lepší práci, díky níž se budu moct dostatečně věnovat i rodině. Šanci lepšího uplatnění na trhu, šanci poznat skvělé lidi, kteří mají velké srdce, šanci být nezávislá, samostatná, ale hlavně — šanci zjistit, že já na to mám. Za to budu Czechitas vždy vděčná a za to jim děkuji.

Mé další cíle na příštích několik let jsou:

- prohlubování znalostí v datové analýze a businessu,

- dodělat VŠ,

- prohloubit znalosti ze statistiky,

- udělat si CAE.

Snad mi bude osud nakloněný stejně jako byl doteď, protože já s pokorou přijmu to, co mi přinese (ty největší a nejtěžší zkoušky, jsou nejlepšími učiteli).

Kdo tedy stále váhá, běžte do toho 😊.


2. 3, 2, 1 start! aneb jak jsme našly cestu k sobě navzájem i k projektu (Esther)

Bylo 29. září- konec prvního týdne akademie. Lekce „Úvod do datové analytiky“ s Tomášem a Bárou. Lektoři si připravili prezentaci, kde bylo 5 slidů o tom, co máme rády a s holkami jsme se měly postavit na tu stranu, která nám byla blízká.

Abych to více přiblížila, první slide byl Praha vs. zahraniční město. Na druhém slidu bylo město vs. vesnice. Na třetím jsme mohly najít sladké vs. slané jídlo. Poté slide se značkami „stay“ a „go“. Poslední slide byl, jestli jsme si myslíme, že budeme mít raději programování či vizualizace. Při každém poměřování jsme se s Miriam postavily na tu samou stranu (u posledního slidu dokonce obě doprostřed). Daly jsme se do řeči a zjistily jsme, že si rozumíme, máme společné záliby a obě jsme maminky od dětí na rodičovské, což jasně ukázalo, že s Miriam jsme správná dvojka a do projektu půjdeme společně. A tak začala naše společná pouť digitální akademií. Já ale věřím, že s datovou akademií toto teď už přátelství nekončí …

Když jsme přemýšlely, jaké téma projektu by nás bavilo, shodly jsme se víceméně hned na projektu, který souvisí nějak s auty nebo chováním zákazníků. Vyhrály to auta …. Naše vize toho, co by projekt mohl přinést byl web, na němž by byla na jednom místě auta z různých stránek. Uživatel by si jen do filtru zadal, o jaké auto má zájem a nemusel by tak chodit na několik různých stránek s autobazary.

Našeho mentora Pavla Chocholouše jsme znaly z hodin SQL a hned si s ním padly do oka. Máme rádi jeho humor, jeho styl osobnosti a jeho projekt jsme vzaly jako výzvu naučit se nové věci (webscraping, mobilní aplikace …), prohloubit dosavadní znalosti (Python, SQL, Tableau) a zároveň to propojit s tím, co nás baví (auta). Já osobně se lépe cítím v SQL než v Pythonu, a proto jsem šla do projektu, kde bude hodně Pythonu, abych se v něm zlepšila.

Poděkování

Mockrát děkuji mé rodině — mému partnerovi, mému synovi, mým rodičům, tchýni a tchánovi za to, jak při mně stojí a podporují mě ve všem, co dělám.

kolegyni Miriam za skvělou a bezproblémovou spolupráci, mentorovi Pavlu Chocholoušovi za vedení a koučům Monice Vlčkové, Danielovi Vrátilovi, Ondrovi Hošákovi, Ondrovi Šlejtrovi a Zuzce Tučkové za pomoc a podporu při Datové akademii.

Děkuji lektorům Datové akademie, že nás tak skvěle provedli světem datové analýzy.

Děkuji Markétě Špinkové, se kterou jsem mohla spolupracovat na pozici spojky v Datové akademii.

A mockrát děkuji celému týmu Czechitas za vše, co dělají. Czechitas bude pro mě vždy srdeční záležitost.


3. Průběh našeho projektu

Myšlenkou našeho projektu bylo vytvořit základ pro agregátor bazarových aut s pohodlnou mobilní aplikací. Zájemcům o koupi auta, pak budou chodit notifikace o zajímavých inzerátech dle zadání jejich preferenčních parametrů, kdy uvidí nabídky aut z několika webových stránek najednou a jejich porovnání. V budoucnu by pak mohli přidávat komentáře k jednotlivým prodejcům/bazarům přes svůj login a tím ušetřit potenciálním kupcům čas nebo by si mohli porovnat, zda by se jim nevyplatilo dovézt auto ze zahraničí.

Základem našeho projektu bylo vytvořit skript v pythonu, kterým budeme získávat data z inzerátů z webu Sauto https://www.sauto.cz/ pomocí webscrapingu. Skript bude spouštěn z cloudu na Heroku a vytvořený csv soubor bude nahráván do Storage v Keboole. Zde provedeme kontrolu dat, jejich čištění, a pomocí SQL vybreme takové inzeráty, které by mohly být pro zájemce o koupi zajímavé, dle jeho zadaných preferencí. Zajímavé inzeráty budou přidávány do Google sheet a přes mobilní aplikaci budou uživateli chodit notifikace o těchto inzerátech.

Nástroje použité v našem projektu

Na závěr bychom rády vytvořily několik zajímavých vizualizací nad získanými daty a zkusily si tak práci s vizualizačním nástrojem.

Naše začátky

Na začátku projektu jsme si vůbec nedokázaly představit, jak to celé uděláme. Jak budeme postupovat, co vše máme udělat. Bylo to, jako bychom byly Alenka v říši divů, co zažívala věci, které netušila, že jsou možné a všude okolo ní se dějí kouzla. Jen nás místo králíka říší provázel náš mentor Pavel s kouči. Ostatně slovem „magic“ jsme vždy popisovaly něco, co jsme v IT při dělání projektu nechápaly, ale aspoň jsme se u toho nasmály a doufaly jsme, že to pochopení časem s naším úsilím, které jsme do toho dávaly, přijde.

V naší říši divů jsme začaly pro nás tím nejdůležitějším a nejtěžším. Napsáním skriptu v pythonu, který bude scrapovat webové stránky s bazarovými auty. Cesta byla občas trnitá, učily jsme se stylem pokus — omyl, učily jsme se za pochodu. A tak, jak Alenka potkávala neobyčejné tvory, my jsme se seznamovaly s pro nás zatím neobyčejnými kódy. Na tomto místě patří velké díky našemu koučovi Ondrovi, který nás zasvětil do veškeré magie a hodně nám v této fázi pomohl. Učily jsme se, jak fungují webové stránky, jakým kódem jsou konkrétní stránky napsané (v naší praxi konktrétně Java Skript, který jsme v DA neměly), poznávaly jsme, jak jsou šifrované, jejich styl vyhledávání a jak se jednotlivé inzeráty editují.

Po prozkoumání zdrojového kódu, jsme zjistili, že naše stránky používají technologii vyhledávání AJAX (viz modré políčko v záložce Name):

Po aktualizaci stránky a kliknutí pravým tlačítkem myši na modré políčko a zobrazení zápisu (Open in new tab), jsme získali toto — resp. data zapsaná metodou JSON:

Po překliku na záložku Viewer jsme získaly lepší představu o struktuře dat a o tom, kde se pro nás zajímavé údaje vlastně nacházejí, tedy pod čím jsou schovány:

Po rozkliknutí advert (inzerát) jsme po prozkoumání zjistily, že pod čísly 0 až 14 se skrývají jednotlivé inzeráty na stránce, na níž se právě nacházíme:

Po dalším zkoumání (zde u inzerátu s číslem 3) jsme zjistily, jaké názvy skrývají údaje, které budeme chtít ze stránek vytáhnout:

Programování v pythonu

Mezi nejdůležitější údaje z inzerátu pro náš projekt jsme vybraly tyto: ID inzerátu, značka, model, cena, rok výroby, údaj na tachometru, barva, město, typ paliva, link na celý inzerát, link na titulní fotku/obrázek.

Původně jsme vybraly ještě údaj o výkonu automobilu, který nám připadal také jako důležitá informace. Po delší době jsme se ale rozhodly ho z těchto informací vyřadit, protože z nějakého neznámého důvodu nám dělal paseku, při nahrávání dat do Kebooly. Tento údaj obsahoval kromě údaje o výkonu, tedy číselnou hodnotu v jednotce kW, i další nerelevantní informace nebo byla tato kolonka úplně prázdná a údaj byl uvedený nejspíš někde jinde v inzerátu. Po odstranění tohoto sloupce již error nenastával a data se donahrávala kompletně.

Poslední sloupec výkon, obsahoval všemožné informace, skutečný údaj o výkonu v kW často úplně chyběl — viz vždy konec řádku:

Nejdůležitější údaje z inzerátu jsme v našem skriptu definovaly takto:

Po získání prvních dat jsme zjistily, že u některých inzerátů je rok výroby auta zapsán pod „advert_run_date“, jinde zase pod „advert_made_date“. To, jak jsme se s tím popraly, je vidět v horní části kódu, kdy jsme musely nadefinovat, aby se python podíval pod oba „zápisy“ a vzal údaj z toho zápisu, kde je skutečně uveden a nám se ve sloupci nezapisovaly nesmyslné údaje jako např. 0.

Definovaly jsme, aby se nám data do našeho zdrojového CSV zapisovala pod touto hlavičkou:

První data pro náš projekt byla na světě ;o)

Po získání našich prvních dat, jsme chvilku bojovaly s kódováním, kdy se nám po zobrazení dat zobrazovala písmenka s diakritikou jako otazník v kosočtverci:

Pokoušely jsme se přenastavit kódování v pythonu UTF-8 v Reopen with Encoding na Central European (ISO 8859–2) — a dále toto kódování uložit — Save with Encoding. Tímto jsme pythonu řekly, aby si zapamatoval toto kódování. Problém byl v tom, že bychom toto přenastavování musely provádět v každém získaném csv souboru, což nám přišlo jako velice neelegantní řešení, vzhledem k tomu, že jsme chtěly proces postupně zautomatizovat.

Po chvilce našeho trápení a malé nápovědě, jsme tento problém elegantně vyřešily přímo ve skriptu a to doplněním encoding = ‘utf-8’ za název souboru, do kterého jsme prováděly export.

A poté jsme získaly už celkem líbivá data:

Skript v pythonu náš tým sdílel na Cloudu Heroku a pomocí GITu a Visual Studio Code jsme spravovali jeho úpravy.

Instalace verzovacího nástroje GIT, o kterém jsme si načetly, že se jedná o distribuované úložiště s verzováním a správa verzí pomocí něho byla pro nás jedním z největších „magic“, na které jsme dosud narazily ;o) Naučily jsme se pracovat s tímto nástrojem, který je dle našich informací v praxi velice hojně používán při práci v týmu.

V této fázi nám moc pomohl náš kouč Dan a zprovoznil nám ve Visual Studio Code aplikaci Git History, která nám z uživatelského hlediska hrozně pomohla. Výhodou je, že nemusíme používat příkazový řádek při verzování v GIT a nahrávání změn na Heroku, přesněji řečeno nemusíme znát příkazy, kterými se vše toto zmíněné provádí. V aplikaci jsou prostě „klikátka“, která toto dělají za vás. Nastavily jsme si v rámci týmu sdílený adresář a největší vychytávkou je to, že po změně a jejím uložení a pojmenování (vytvoření commitu) vidíme obě dvě změny, která jedna nebo druhá z nás ve skriptu provedla. Změny v daném souboru lze pěkně (barevně odlišeno a zvýrazněno) zobrazit oproti původní verzi (Compare again previous version), je tedy patrné v čem byla provedena změna a jaká. Také nemusíme mít strach, že o dokument přijdeme např. tím, že si ho omylem vymažeme. Tuhle aplikaci hrozně moc doporučujeme všem účastnicím budoucích běhů Digitální akademie.

Zde je vidět jak vypadá historie v aplikaci Git History v našem skriptu a jaké změny (commity) jsme (která a kdy) prováděly:

Zajímavý pohled je i zde, kterého jsme docílili po intenzivní týmové spolupráci na Hackathonu, profíci toto nazývají „nádražím“ :o)

Heroku máme nastavené tak, že skript se spouští každý den a stahují se aktuální data z webu, která se zapisují/posílají pomocí vytvořeného API TOKENu do Kebooly. Tabulka se po zahájení stahování vždy vymaže a nahrají se tam data nová. K nahrávání dat tedy dochází po jednotlivých stránkách (tj. po 15-ti inzerátech).

Aby stahování dat nebylo tak nápadné, je v našem skriptu nastavený časovač prohlížení stránek v náhodném rozmezí 30–60s, tzv. „čekátko“:

Tím pádem se náš python robůtek tváří více jako člověk ;o) a nebyly jsme dosud odstřiženy. Ne všem stánkám se totiž takové stahování líbí a některé stránky mají proti webscrapingu vytvořenou ochranu.

Po natáhnutí dat do Storage v Keboole máme na konci skriptu definované spuštění naší Orchestrace (čímž jsme si zajistily, že bude proces probíhat automaticky po dokončení importu dat z internetu do Storage):

Napsáním skriptu jsme se dostaly zhruba do poloviny naší cesty. Alenka zrovna v říši divů potkala Kloboučníka s kocourem, co se šklebí, a my se pouštíme do nastavení Orchestrace v Keboole.

Orchestrace se sestává ze dvou kroků (Tasku). Prvním je Transformace a druhým je zapsání dat do Google Sheets:

Naše transformace má dva kroky. První transformací získáváme očištěná data získaná webscrapingem. Vytvoříme tabulku průměrných cen, pomocí níž poté získáme tabulku výhodných inzerátů, které budou zasílány uživateli. Druhou transformací porovnáváme již zaslané výhodné inzeráty a inzeráty již zaslané uživateli ukládáme do tabulky jako ID inzerátu a datum.

Pomocí Google Sheet writeru vytvoříme 3 tabulky:

Podrobněji k SQL fázi

V Transformaci jsme si pomocí SQL vyčistily data a definovaly si, co je dle nás dobrá cenová nabídka u auta (zvolily jsme takové inzeráty, jejichž cena je v dané skupině o 20% menší než průměr).

ID našich vybraných aut dle napsaného selectu jsme poslaly do nového sheetu skýtající jen sloupečky — id_inzeratu, znacka, model, url, image , cena — a ten se poté porovná s tabulkou, ve které jsou ID inzerátů již poslané zákazníkům do aplikace. To děláme z toho důvodu, aby uživatel dostal vždy nová, jiná ID, a nemusel se prokousát inzeráty, které již viděl.

Takto vypadá naše první výstupní tabulka (vycisteno) po Transformaci v Keboole (odstranění případných duplicitních inzerátů, vyčištění a základní selekt):

Pro její získání jsme provedli na datech nahraných do Storage v Keboole tyto selekty:

Dále jsme si transformací vytvořily tabulku průměrných cen, kdy jsme vzaly v potaz pro výpočet průměru jen takové inzeráty, kde je ve skupině více jak pět aut; s ohledem na to, že novějších aut bude v nabídce méně, provedly jsme úpravu selectu tak, že auta z roku výroby 2011 a výše se dostanou do stejné skupiny a v nově vytvořeném sloupci rokvyrobycca bude uveden jejich přibližný rok výroby.

Tabulku průměrných cen jsme vytvořily následovně:

V dalším kroku jsme vytvořily tabulku „super_auta“ se zajímavými nabídkami a to tak, že jsme propojily pomocí inner joinu tabulku vycisteno a tabulku průměrných cen podle sloupců: znacka, model, najezd, dále sloupce rokvyrobycca, url, image a takové inzeráty, jejichž cena je v tabulce vycisteno o 20 % nižší než cena v tabulce průměrných cen:

Pro získání třetí tabulky s novými výhodnými inzeráty jsme použily spojení tabulek pomocí left joinu. ID našich vybraných aut dle napsaného selectu jsme poslaly do nové tabulky skýtající jen sloupečky — id_inzeratu, znacka, model, url, image — a ta se poté porovná s další tabulkou, ve které jsou ID aut, která už byla zákazníkům aplikace poslána. Děláme to z důvodu, aby uživatel dostal vždy nová, jiná ID, resp. nové inzeráty a nemusel se znovu prokousát inzeráty, které mu již byly zaslány:

Druhou transformací si vytvoříme tabulku s již odeslanými inzeráty a pro náš přehled zapíšeme ke každému inzerátu aktuální datum. V tabulce bude jen sloupec ID a sent_date:

Pro notifikaci o nových výhodných nabídkách jsme využili mobilní aplikaci IFTTT (if this than that), ve které jsme si nadefinovaly, že chceme posílat notifikaci, když v našem souboru „new_id_for_send“ přibyde řádek, tedy nový inzerát. U notifikace se zákazníkovi zobrazí také titulní obrázek inzerátu a je možné se k inzerátu přímo snadno a rychle prokliknout.

Takto v aplikaci vypadá upozornění na nové zajímavé auto.

A jak už to v Alence bylo, na úplném konci projektu jsme byly rády, že vyhrála Bílá královna nad Srdcovou královnou. Tedy, že jsme cíl našeho projektu (vytvořit základ pro agregátor bazarových aut) splnily a zároveň jsme pochopily celý proces naší práce. Utly jsme hlavu Tlachapoudovi (zlému drakovi) a mnohé jsme se na projektu naučily.


Vizualizace v Tableau

Jelikož jsme si chtěly vyzkoušet také práci s vizualizačním nástrojem, rozhodly jsme se udělat několik zajímavých vizualizací v Tableau nad daty získanými webscrapingem z Sauto. Jedná se o data osobních automobilů. Zde jsou:


A co dál?

Základem našeho projektu bylo vytvořit skript v pythonu, kterým budeme získávat data z inzerátů z webu Sauto https://www.sauto.cz/ pomocí webscrapingu a zautomatizovat proces se získanými daty do podoby, kdy zákazník dostane aktuální informaci ohledně výhodných inzerátů na základě svých preferencí prostřednictvím mobilní aplikace.

Naše vize

Naší vizí do budoucna je vytvořit webovou aplikaci, na níž jsou nabídky výhodných bazarových aut z různých stránek (autobazarů) na jednom místě, tedy rozšířit je o další české a zahraniční weby s bazarovými auty, protože u nás nic podobného neexistuje a v tomto vidíme velký potenciál.

Další naší vizí je možnost registrace uživatelů a autobazarů, čímž bychom získaly nová data. Přihlášení uživatelé by mohli vkládat komentáře k příslušnému inzerátu nebo bazaru. To může ušetřit dalším potenciálním zájemcům jak čas, tak i peníze. Projekt má businessový potenciál, je smysluplný a to se nám na něm líbí.