Cum a analizat Grubhub 4.000 de feluri de mâncare pentru a prezice următoarea comandă prin cablu

Pentru a crea un motor de recomandare, serviciul de livrare de alimente online a petrecut opt ​​ani rezolvând o problemă clasică a datelor nestructurate.

Tot ce a vrut să știe Matt Maloney a fost dacă pizza cu mâncare adâncă în stil Chicago este mai bună decât coaja subțire în stil New York. Este o întrebare simplă.

mâncare

Dacă ar fi altcineva, Maloney ar fi trebuit să devină violent anecdotic. Mâncarea profundă, deși este delicioasă, nu este, evident, atât o pizza, cât o cratiță; dimpotrivă, dacă doriți să puneți toppinguri de pizza pe un cracker, de ce nu comandați doar o pâine plată? (Maloney este din Chicago, așa că poți ghici pe ce parte vine.)

Dar nu. Maloney a simțit că ar trebui să poată răspunde literalmente la întrebare. Pentru că, pe lângă faptul că este profund vesel, este și CEO al Grubhub, cel mai mare serviciu de livrare de alimente online din SUA. „Având în vedere volumul tranzacțiilor pe care le fac zilnic”, spune Maloney, „ar trebui să vă pot spune, obiectiv, ce este mai bine”.

Nu ne lăsa să ne certăm dacă „popular” este „mai bun”. Pentru că, în linii mari, Maloney are desigur dreptate. Cu 14,5 milioane de utilizatori activi care comandă de la 80.000 de restaurante, datele Grubhub ar trebui să vă poată spune multe despre mâncare. Maloney a dorit să fie capabil să segmenteze, să cuantifice și să compare cine comandă ce în cartiere și orașe. El a vrut să recomande algoritmic mâncăruri, să ajute restaurantele să-și optimizeze alegerile culinare, să atragă clienți noi cu servicii mai slabe și să-i convingă pe toți clienții din toată țara să se comporte mai mult ca newyorkezii, care comandă de undeva cel puțin o dată pe săptămână.

Astăzi, într-adevăr, Grubhub are un algoritm care poate analiza valorile dintr-o țară în ceea ce privește comenzile de preluat și îi poate spune utilizatorului ce articulație indiană din apropiere oferă cea mai populară tikka masala de pui. Dar pentru a ajunge acolo a fost necesară rezolvarea unei probleme de date aparent imposibile, unele învățări automate de ultimă generație și un autor de cărți de bucate din Brooklyn.

Comparând Pad Thai

Problema a fost datele. Nu ordinele - cine-comandă-ce și de-unde. Acestea sunt ușoare. Erau meniurile. Mâncărurile nimănui nu se potriveau, fiecare era unic. Un pilaf dintr-un restaurant ar putea fi biryani la altul. Curry-urile japoneze nu erau curry-urile indiene, nu erau curry-urile pakistaneze. Au lucrat la asta timp de opt ani. „De fiecare dată, grupurile de produse și tehnologii s-au întors și au spus:„ Matt, este prea greu. În cele din urmă, pentru a obține ceea ce doriți, va fi o soluție manuală și avem alte 10 lucruri care sunt prioritare ", spune Maloney.

Răspunsul său: „Băieți. Suntem o companie de miliarde de dolari și nu putem spune oamenilor care este valoarea intrinsecă a acestor nenorocite de mâncăruri? Nici măcar nu putem compara pad thai în toată țara? ”

„Așa că i-am făcut să o facă”, spune Maloney.

Grubhub este doar o companie de miliarde de dolari în ceea ce privește volumul de alimente pe care îl mută, nu în veniturile sale, dar chiar și așa: ceea ce își dorea Maloney este o problemă dificilă. Acest lucru se datorează naturii nestructurate, sui generis, a meniurilor restaurantelor. Dacă nu aveți o metodologie concepută pentru a produce date gata făcute pentru analize statistice, utilizați date „găsite”, care sunt întotdeauna dezordonate, spune Duncan Watts, un om de știință social la Microsoft Research. „În știința datelor există un trop despre cum 90% din munca implicată curăță și organizează datele în sine”, spune Watts. "Este adevărat pentru datele de e-mail, datele browserului, datele Twitter, datele mass-media de știri și chiar datele administrative care ar trebui să fie curate."

Ca de obicei, întregul sistem ar fi mult mai simplu fără oameni în el. Dacă încercați să construiți un motor de recomandare pentru, să zicem, un vast serviciu de divertisment prin streaming, ei bine, majoritatea oamenilor nu urmăresc același film mereu. Deci, veți avea o răspândire asupra comportamentului lor. Acest lucru ar putea fi mai puțin adevărat atunci când vine vorba de comenzi pentru cină. „Am citit câteva lucrări care spun că există tipuri de exploratori și există tipuri care spun:„ Acesta este restaurantul meu preferat, așa că de ce ar trebui să merg oriunde altundeva? ”, Spune Joel Sokol, directorul Master of Science în Analytics diplomă la Georgia Tech. Așadar, s-ar putea să nu dorească o nouă recomandare, oricât de perfectă ar fi. „Este într-adevăr mai mult o problemă de afaceri decât o problemă de date”, spune Sokol.

Majoritatea produselor din comerțul electronic au metadate convenite, așa-numitele unități de stocare (sau SKU-uri), care țin evidența numerică a inventarului. Ca urmare, „cumpărarea, navigarea, descoperirea, personalizarea și recomandarea sunt relativ ușoare, deoarece totul arată la fel pentru toată lumea”, spune Maria Belousova, CTO-ul Grubhub. „Când ajunge la mâncare, este complet opusul. Grubhub și orice altă companie tranzacționau paragrafe de text cu un titlu și o etichetă de preț. ”

Un bucătar care a folosit o ortografie regională, non-standard pe numele unui fel de mâncare a făcut ca meniul să fie incompatibil cu alții care au folosit o ortografie standard. Lăsați un ingredient și dintr-o dată este un fel de mâncare diferit. Belousova spune că modalitatea de a concilia astfel de diferențe este adesea prin „filtrare colaborativă, ceea ce înseamnă că și persoanelor cărora le place asta le place”. Dar ea spune că pentru întreprinderile hiperlocale, cum ar fi restaurantele din cartier, filtrarea colaborativă nu funcționează bine. Nu există suficienți oameni pentru a colabora și nu există suficiente opțiuni pentru a filtra. Universul alegerilor și al alegătorilor este prea mic.

În limbajul oamenilor de știință de date, mâncarea este un domeniu nestructurat. Grubhub avea 14 milioane de articole din meniu și singurul lucru pe care îl aveau în comun era că uneori oamenii le mâncau. Așadar, echipa Belousova și-a propus să-și construiască propria taxonomie a alimentelor.

Și-au dat seama că aveau trei seturi de date independente, dar suprapuse. Mai întâi au avut meniurile, pline de limbajul unic de fulgi de zăpadă folosit de fiecare restaurant pentru fiecare fel de mâncare, dar cu unele elemente comune. Din fericire, din moment ce restaurantele își oferă meniurile către Grubhub și Grubhub le traduce pentru site-ul web, persoanele care produc mâncarea sunt stimulate să ofere o mulțime de informații.

În al doilea rând, Grubhub a avut jurnale și recenzii de căutare a utilizatorilor. Aceștia ar putea arăta ce căutau oamenii și ce au comandat în cele din urmă. Și compania ar putea limita producția acestor date la clienți reali, cunoscuți, deoarece serviciul acordă drepturi de revizuire numai celor care au comandat de fapt mâncare. Acest lucru funcționează numai pe o platformă în care oamenii vorbesc despre lucruri pe care le-au cumpărat; undeva cum ar fi, oh, să zicem, Yelp ajunge să fie mai degrabă gratuit și poate fi mai puțin util.

Și, în al treilea rând, au avut istoricul comenzilor pentru clienți și, poate mai important, volumul comenzilor pentru fiecare element de meniu. În această construcție, mai multe comenzi pe articol vă spun că articolul specific este de înaltă calitate - sau cel puțin este popular, ceea ce, da, nu este neapărat același lucru. Dar unul ar putea fi un proxy pentru celălalt.