Kiwi.com data challenge

Soutěž s velkými leteckými daty o letenky za 2 000 EUR

Kiwi.com | Fakulta informatiky Masarykovy univerzity

Zadání soutěže

Organizace soutěže

  • od 19. 9. 2016 je zpřístupněn přihlašovací formulář
  • po jeho vyplnění dostanete více technických a organizačních podrobností
  • soutěže se učastní dvou až tříčlenné týmy
  • deadline pro přihlašování týmů je 2. 10. 2016
  • deadline pro odevzdávání řešení je 14. 10. 2016
  • slavnostní vyhodnocení proběhne ve středu 26. 10. 2016

Motivace

Společnost Kiwi.com prodává letenky jednotlivých leteckých dopravců. Přitom na sebe jednotlivé lety napojuje tak, aby měl zákazník vždy dost času na přestup. Pokud však dojde k výraznému zpoždění jednoho letu, pasažér nemá možnost stihnout let navazující, Kiwi.com mu financuje náhradní let popř. hotel a podobně. Toto finanční krytí představuje finanční zátěž. Pokud by bylo možné tato zpoždění předpovědět, může Kiwi.com selektivně prodloužit nutnou dobu na přestup tak, aby minimalizovala počet nepodařených přestupů. Naopak snížení doby nutné na přestup umožňuje rozšířit nabídku možných letů, které se dají navzájem kombinovat.

Hypotéza

Doba zpoždění závisí na některém ze zadaných atributů, připadně jejich kombinaci nebo jiných externích faktorech které se zmíněnými atributy nějakým způsobem souvisí (síla větru, vytíženost letiště, …).

Ukázka učícího datasetu

  • Carrier (např. "CM")
  • Flight number (např. "2208")
  • Departure airport (např. "SFO")
  • Arrival airport (např. "MFR")
  • Scheduled departure (např. "2016-04-30 18:15:00")
  • Actual departure (např. "2016-04-30 18:35:00")

Data budou z celého světa (celkem desítky milionů záznamů) od 1. 5. 2016.

Pokyny

Vytvořte program, který bude z ostatních atributů predikovat atribut actual_departure a nahrajte jej na server (Ubuntu 16.04.1 x64, 512MB RAM, 20 GB SSD), který vám do 7.10. zpřístupníme pro účely hodnocení (proto chceme vaše ssh klíče při registraci).

Program by neměl pro svou funkci vyžadovat přístup na internet.

Metodika hodnocení

  • testovací dataset vytvoříme na základě dat z období mezi 15. – 25.10., bude ve stejném formátu jako učící dataset
  • odstraníme z něj atribut actual_departure a dataset nazveme delays.csv
  • dataset nahrajeme do adresáře /kiwi/
  • váš program spustíme příkazem /kiwi/delay_prediction
  • počkáme šedesát minut, než vás program doplní predikované hodnoty do souboru delays.csv (během této doby bude program offline)
  • soubor delays.csv stáhneme ze serveru a doplněné hodnoty atributu actual_departure srovnáme se skutečně naměřenými hodnotami (tedy s těmi, které jsme odstranili, aby je váš program mohl doplnit)
  • projdeme všechny záznamy a spočítáme sumu rozdílů mezi predikovaným atributem actual_departure a skutečným actual_departure, ta bude sloužit jako jediné hodnotící kritérium
  • pokud váš program pro nějaký záznam predikovanou hodnotu nedoplní, budeme předpokládat, že predikuje nulové zpoždění
 

Doplnění

Při zveřejnění datasetu jsme předpokládali, že trojice carrier, fltno, scheduled_departure bude vždy dávat jednoznačný actual_departure. Není to tak (díky Jirkovi za upozornění); data jsou v některých případech trochu špinavá a někdy není snadné určit hodnota actual_departure je "ta správná". Původní pravidlo upřednostňovalo takovou hodnotu actual_departure, která "je nejblíž hodnotě scheduled_departure" nebylo úplně šťastně zvolené, neboť se v zápětí objevily případy, kdy mělo letadlo hlášený odlet např 30 min. před plánovaným odletem a zároveň 30 min po plánovaném odletu.

Pro zjednodušení použijeme lepší pravidlo:

screen-shot-2016-10-05-at-16-34-58

Jinýmy slovy: ignorovat všechny záznamy bez actual_departure a pokud k jednomu letu (který je daný šesticí carrier, flight_number, dep_apt, arr_apt,
scheduled_date, scheduled_departure) existuje víc atributů actual_departure, použijeme ten největší z nich. Data jsme se totiž rozhodli interpretovat tak, že pozdější záznamy jsou relevantnější.

Pro usnadnění všem přihlášeným ještě pošleme takto očištění dataset.

Licence

  • k takto vytvořenému programu nám udělujete licenci podle ustanovení §61 autorského zákona k účelu stanovenému podmínkami této soutěže a my nejsme oprávněni licenci k programu užít nad rámec této soutěže.

2. 10. 2016

přihlášení

14. 10. 2016

odevzdání

26. 10. 2016

vyhodnocení

Vedoucí soutěže

Soutěž Kiwi.com data challenge je organizována Kiwi.com pod záštitou Laboratoře datově orientovaných systémů a aplikací (DISA) na Fakultě informatiky Masarykovy univerzity.
Ondřej Veselý

Ondřej Veselý

Full-stack vývojář a datový analytik v Kiwi.com

V Kiwi.com pracuje hlavně na vývoji backendu (zpracování a analýza velkých dat). Mimo jiné učí Python na Masarykově univerzitě a stará se o firmu na poznávání kytek

Pavel Zezula

Pavel Zezula

DISA, FI MU

Profesor na Masarykově univerzitě, vede Laboratoř datově orientovaných systémů a aplikací (DISA) na Fakultě informatiky.

Jan Bleha

Jan Bleha

Event manager, Kiwi.com

Komunitní manažer v Kiwi.com, organizátor vzdělávacích akcí, soutěží a konferencí primárně zaměřených na IT. 

Ceny soutěže

Vítězné týmy získají poukazy na letenky od Kiwi.com v celkové hodnotě 2 000 EUR.

1.

místo

letenky za 1 200 EUR

2.

místo

letenky za 600 EUR

3.

místo

letenky za 200 EUR

Zahájení soutěže

Oficiální zadání soutěže proběhne v pondělí 19.9. v 13:00 na Fakultě informatiky Masarykovy univerzity v místnosti D1

FI MU - Botanická 10

Zakončení soutěže

Slavnostní vyhodnocení soutěže a předání cen proběhne ve středu 26.10. od 18:00 ve vinném sklípku Kiwi.com

Kiwi.com - Hlinky 102

Často kladené dotazy

Jak velké můžou být týmy?

Tým se může skládat ze dvou až tří členů.

Musí být členové týmu studenti?

Ne, soutěž je otevřená všem. 

Dělí se ceny rovným dílem mezi členy týmu?

Ano, ceny se dělí rovným dílem mezi všechny členy daného týmu.

Můžu změnit tým?

Ne. Přihlášené složení týmů je závazné a následné změny už možné nejsou.

Musím se zúčastnit oficiálního zahájení soutěže?

Oficiálního vyhlášení soutěže se účastnit nemusíte. Do soutěže se přihlásíte vyplněním online formuláře, který bude přístupný od 19. 9. 2016.

Kde se můžu zeptat na více informací?

Primárně své otázky prosím pokládejte do diskuze facebook události soutěže, případně kontaktujte event managera Jana Blehu – Jan.Bleha@kiwi.com.