KÄ Yandex.Taxi meklÄ automaŔīnas, ja tÄdu nav
Labam taksometra pakalpojumam jÄbÅ«t droÅ”am, uzticamam un Ätram. LietotÄjs neiedziļinÄs detaļÄs: viÅam ir svarÄ«gi, lai viÅÅ” noklikŔķinÄtu uz pogas āPasÅ«tÄ«tā un pÄc iespÄjas ÄtrÄk saÅemtu automaŔīnu, kas nogÄdÄs no punkta A uz punktu B. Ja tuvumÄ nav nevienas automaŔīnas, servisam vajadzÄtu nekavÄjoties informÄt par to, lai klientam nebÅ«tu nepatiesas cerÄ«bas. Bet, ja zÄ«me āAutomaŔīnÄm aizliegtsā parÄdÄs pÄrÄk bieži, tad loÄ£iski, ka cilvÄks vienkÄrÅ”i pÄrtrauks lietot Å”o pakalpojumu un dosies pie konkurenta.
Å ajÄ rakstÄ es vÄlos runÄt par to, kÄ, izmantojot maŔīnmÄcÄ«Å”anos, mÄs atrisinÄjÄm automaŔīnu meklÄÅ”anu zema blÄ«vuma apgabalos (citiem vÄrdiem sakot, kur, no pirmÄ acu uzmetiena, nav automaŔīnu). Un kas no tÄ sanÄca.
AizvÄsture
Lai izsauktu taksometru, lietotÄjs veic dažas vienkÄrÅ”as darbÄ«bas, bet kas notiek pakalpojuma iekÅ”ienÄ?
LietotÄjs
Posms
AizmugursistÄma Yandex.Taxi
IzvÄlas sÄkuma punktu
Pin
SÄkam vienkÄrÅ”otu kandidÄtu meklÄÅ”anu ā piespraudes meklÄÅ”anu. Pamatojoties uz atrastajiem vadÄ«tÄjiem, tiek prognozÄts ieraÅ”anÄs laiks - ETA pin. Tiek aprÄÄ·inÄts pieaugoÅ”ais koeficients noteiktÄ punktÄ.
IzvÄlas galamÄrÄ·i, tarifu, prasÄ«bas
PiedÄvÄjums
IzbÅ«vÄjam marÅ”rutu un aprÄÄ·inÄm cenas visiem tarifiem, Åemot vÄrÄ pieaugoÅ”o koeficientu.
uz ETA tapÄ, cenas aprÄÄ·ins Šø izvÄloties piemÄrotÄko vadÄ«tÄju mÄs jau rakstÄ«jÄm. Un Å”is ir stÄsts par vadÄ«tÄju atraÅ”anu. Kad pasÅ«tÄ«jums ir izveidots, meklÄÅ”ana notiek divas reizes: uz Pin un uz pasÅ«tÄ«juma. PasÅ«tÄ«juma meklÄÅ”ana notiek divos posmos: kandidÄtu atlase un ranžÄÅ”ana. PirmkÄrt, tiek atrasti pieejamie autovadÄ«tÄju kandidÄti, kuri ir vistuvÄk ceļa diagrammai. PÄc tam tiek piemÄroti bonusi un filtrÄÅ”ana. PÄrÄjie kandidÄti tiek sarindoti, un uzvarÄtÄjs saÅem pasÅ«tÄ«juma piedÄvÄjumu. Ja viÅÅ” piekrÄ«t, viÅÅ” tiek norÄ«kots un dodas uz piegÄdes punktu. Ja viÅÅ” atsakÄs, tad piedÄvÄjums nÄk nÄkamajam. Ja kandidÄtu vairs nav, meklÄÅ”ana sÄkas no jauna. Tas ilgst ne vairÄk kÄ trÄ«s minÅ«tes, pÄc tam pasÅ«tÄ«jums tiek atcelts un sadedzinÄts.
MeklÄÅ”ana uz pin ir lÄ«dzÄ«ga meklÄÅ”anai pÄc pasÅ«tÄ«juma, tikai pasÅ«tÄ«jums netiek izveidots un pati meklÄÅ”ana tiek veikta tikai vienu reizi. Tiek izmantoti arÄ« vienkÄrÅ”oti kandidÄtu skaita un meklÄÅ”anas rÄdiusa iestatÄ«jumi. Å Ädi vienkÄrÅ”ojumi ir nepiecieÅ”ami, jo tapas ir vairÄk nekÄ pasÅ«tÄ«jumu, un meklÄÅ”ana ir diezgan sarežģīta darbÄ«ba. MÅ«su stÄsta galvenais punkts: ja sÄkotnÄjÄs meklÄÅ”anas laikÄ uz Pin netika atrasti piemÄroti kandidÄti, tad mÄs neļaujam veikt pasÅ«tÄ«jumu. Vismaz tÄ tas bija agrÄk.
LÅ«k, ko lietotÄjs redzÄja lietojumprogrammÄ:
MeklÄjiet automaŔīnas bez automaŔīnÄm
KÄdu dienu mÄs izvirzÄ«jÄm hipotÄzi: iespÄjams, dažos gadÄ«jumos pasÅ«tÄ«jumu joprojÄm var izpildÄ«t, pat ja uz tapas nebija automaŔīnu. Galu galÄ starp tapu un pasÅ«tÄ«jumu paiet zinÄms laiks, un pasÅ«tÄ«juma meklÄÅ”ana ir pilnÄ«gÄka un dažreiz atkÄrtojas vairÄkas reizes: Å”ajÄ laikÄ var parÄdÄ«ties pieejamie draiveri. MÄs zinÄjÄm arÄ« pretÄjo: ja uz piespraudes tika atrasti vadÄ«tÄji, tas nebija fakts, ka tie tiks atrasti, pasÅ«tot. Dažreiz viÅi pazÅ«d vai visi atsakÄs no pasÅ«tÄ«juma.
Lai pÄrbaudÄ«tu Å”o hipotÄzi, mÄs uzsÄkÄm eksperimentu: mÄs pÄrstÄjÄm pÄrbaudÄ«t automaŔīnu klÄtbÅ«tni, kad tika meklÄta lietotÄju testa grupa PIN, t.i., viÅiem bija iespÄja veikt āpasÅ«tÄ«jumu bez automaŔīnÄmā. RezultÄts bija diezgan negaidÄ«ts: ja auto nebija uz tapas, tad 29% gadÄ«jumu tika atrasts vÄlÄk - meklÄjot pÄc pasÅ«tÄ«juma! TurklÄt pasÅ«tÄ«jumi bez automaŔīnÄm bÅ«tiski neatŔķīrÄs no parastajiem pasÅ«tÄ«jumiem atcelÅ”anas biežuma, reitingu un citu kvalitÄtes rÄdÄ«tÄju ziÅÄ. RezervÄcijas bez automaŔīnÄm veidoja 5% no visÄm rezervÄcijÄm, bet nedaudz vairÄk par 1% no visiem veiksmÄ«gajiem braucieniem.
Lai saprastu, no kurienes nÄk Å”o rÄ«kojumu izpildÄ«tÄji, apskatÄ«sim viÅu statusus, veicot meklÄÅ”anu Pin:
Pieejams: bija pieejams, bet nez kÄpÄc netika iekļauts kandidÄtos, piemÄram, bija pÄrÄk tÄlu;
PÄc pasÅ«tÄ«juma: bija aizÅemts, bet paguva atbrÄ«voties vai kļūt pieejams Ä·Ädes pasÅ«tÄ«jums;
AizÅemts: tika atslÄgta iespÄja pieÅemt pasÅ«tÄ«jumus, bet pÄc tam vadÄ«tÄjs atgriezÄs rindÄ;
Nav pieejams: Å”oferis nebija tieÅ”saistÄ, bet parÄdÄ«jÄs.
Pievienosim uzticamību
Papildu pasÅ«tÄ«jumi ir lieliski, taÄu 29% veiksmÄ«gu meklÄjumu nozÄ«mÄ, ka 71% gadÄ«jumu lietotÄjs ilgi gaidÄ«ja un nekur nenonÄca. Lai gan no sistÄmas efektivitÄtes viedokļa tas nav nekas slikts, patiesÄ«bÄ tas sniedz lietotÄjam nepatiesas cerÄ«bas un lieki tÄrÄ laiku, pÄc kura viÅÅ” sadusmo un (iespÄjams) pÄrtrauc pakalpojuma lietoÅ”anu. Lai atrisinÄtu Å”o problÄmu, mÄs iemÄcÄ«jÄmies paredzÄt varbÅ«tÄ«bu, ka tiks atrasta automaŔīna pÄc pasÅ«tÄ«juma.
ShÄma ir Å”Äda:
LietotÄjs ieliek spraudÄ«ti.
Tiek veikta piespraudes meklÄÅ”ana.
Ja maŔīnu nebÅ«s, prognozÄjam: varbÅ«t parÄdÄ«sies.
Un atkarÄ«bÄ no varbÅ«tÄ«bas mÄs atļaujam vai neatļaujam veikt pasÅ«tÄ«jumu, taÄu brÄ«dinam, ka automaŔīnu blÄ«vums Å”ajÄ rajonÄ Å”obrÄ«d ir zems.
PieteikumÄ tas izskatÄ«jÄs Å”Ädi:
Modeļa izmantoÅ”ana ļauj precÄ«zÄk izveidot jaunus pasÅ«tÄ«jumus un nemierinÄt cilvÄkus veltÄ«gi. Tas ir, lai regulÄtu uzticamÄ«bas attiecÄ«bu un pasÅ«tÄ«jumu skaitu bez iekÄrtÄm, izmantojot precÄ«zÄs atsaukÅ”anas modeli. Pakalpojuma uzticamÄ«ba ietekmÄ vÄlmi turpinÄt lietot preci, t.i., galu galÄ viss ir atkarÄ«gs no braucienu skaita.
Mazliet par precizitÄti-atgÄdinÄÅ”anuViens no maŔīnmÄcÄ«bas pamatuzdevumiem ir klasifikÄcijas uzdevums: objekta pieŔķirÅ”ana vienai no divÄm klasÄm. Å ajÄ gadÄ«jumÄ maŔīnmÄcÄ«Å”anÄs algoritma rezultÄts bieži kļūst par skaitlisku novÄrtÄjumu dalÄ«bai kÄdÄ no klasÄm, piemÄram, varbÅ«tÄ«bas novÄrtÄjumu. TomÄr darbÄ«bas, kas tiek veiktas, parasti ir binÄras: ja automaŔīna ir pieejama, mÄs to ļausim jums pasÅ«tÄ«t, un, ja nÄ, tad ne. Lai bÅ«tu precÄ«zÄk, nosauksim algoritmu, kas rada skaitlisku aprÄÄ·inu, par modeli un klasifikatoru par noteikumu, kas to pieŔķir vienai no divÄm klasÄm (1 vai ā1). Lai izveidotu klasifikatoru, pamatojoties uz modeļa novÄrtÄjumu, jums ir jÄizvÄlas novÄrtÄjuma slieksnis. Cik tieÅ”i tas ir atkarÄ«gs no uzdevuma.
PieÅemsim, ka mÄs veicam testu (klasifikatoru) par kÄdu retu un bÄ«stamu slimÄ«bu. Pamatojoties uz testa rezultÄtiem, mÄs vai nu nosÅ«tÄm pacientu uz detalizÄtÄku izmeklÄÅ”anu, vai arÄ« sakÄm: "Labi, brauciet mÄjÄs." Mums slima cilvÄka sÅ«tÄ«Å”ana mÄjÄs ir daudz sliktÄka nekÄ vesela cilvÄka nevajadzÄ«ga apskate. Tas ir, mÄs vÄlamies, lai tests derÄtu pÄc iespÄjas vairÄk patieÅ”Äm slimu cilvÄku. Å o vÄrtÄ«bu sauc par atsaukÅ”anu =. IdeÄlam klasifikatoram ir 100% atsaukÅ”ana. DeÄ£enerÄta situÄcija ir sÅ«tÄ«t visus uz ekspertÄ«zi, tad arÄ« atsaukÅ”ana bÅ«s 100%.
Tas notiek arÄ« otrÄdi. PiemÄram, mÄs veidojam testÄÅ”anas sistÄmu studentiem, un tai ir krÄpÅ”anÄs detektors. Ja pÄkÅ”Åi dažos krÄpÅ”anÄs gadÄ«jumos pÄrbaude nedarbojas, tas ir nepatÄ«kami, bet ne kritiski. No otras puses, ir ÄrkÄrtÄ«gi slikti negodÄ«gi apsÅ«dzÄt studentus par to, ko viÅi nav izdarÄ«juÅ”i. Tas ir, mums ir svarÄ«gi, lai starp klasifikatora pozitÄ«vajÄm atbildÄm bÅ«tu pÄc iespÄjas vairÄk pareizo, iespÄjams, kaitÄjot to skaitam. Tas nozÄ«mÄ, ka jums ir jÄpalielina precizitÄte = . Ja aktivizÄÅ”ana notiek visos objektos, tad precizitÄte bÅ«s vienÄda ar definÄtÄs klases biežumu paraugÄ.
Ja algoritms rada skaitlisku varbÅ«tÄ«bas vÄrtÄ«bu, tad, izvÄloties dažÄdus sliekÅ”Åus, jÅ«s varat sasniegt dažÄdas precizitÄtes-atsauces vÄrtÄ«bas.
MÅ«su problÄmÄ situÄcija ir Å”Äda. Atsaukt ir pasÅ«tÄ«jumu skaits, ko varam piedÄvÄt, precizitÄte ir Å”o pasÅ«tÄ«jumu uzticamÄ«ba. Å Ädi izskatÄs mÅ«su modeļa precizitÄtes-atgÄdinÄÅ”anas lÄ«kne:
Ir divi galÄji gadÄ«jumi: neļauj nevienam pasÅ«tÄ«t un ļauj visiem pasÅ«tÄ«t. Ja nevienam neļaujat, tad atsaukÅ”ana bÅ«s 0: mÄs neveidojam pasÅ«tÄ«jumus, bet neviens no tiem neizdosies. Ja ļausim visiem, tad atsaukÅ”ana bÅ«s 100% (saÅemsim visus iespÄjamos pasÅ«tÄ«jumus), un precizitÄte bÅ«s 29%, t.i., 71% pasÅ«tÄ«jumu bÅ«s slikti.
SistÄmas stÄvoklis (visu tarifu un kontaktu aizÅemto maŔīnu skaits tuvumÄ).
MeklÄÅ”anas parametri (rÄdiuss, kandidÄtu skaits, ierobežojumi).
VairÄk par zÄ«mÄm
KonceptuÄli mÄs vÄlamies atŔķirt divas situÄcijas:
āDziļŔ mežsā - Å”obrÄ«d Å”eit nav automaŔīnu.
āNeveiksmÄ«gsā - automaŔīnas ir, bet, meklÄjot, nebija piemÄrotas.
Viens āNeveiksminiekaā piemÄrs ir, ja centrÄ piektdienas vakarÄ ir liels pieprasÄ«jums. PasÅ«tÄ«jumu ir daudz, gribÄtÄju daudz, un Å”oferu visiem nepietiek. Tas var izrÄdÄ«ties Å”Ädi: tapÄ nav piemÄrotu draiveru. TaÄu burtiski dažu sekunžu laikÄ tie parÄdÄs, jo Å”obrÄ«d Å”ajÄ vietÄ brauc ļoti daudz braucÄju un viÅu statuss nemitÄ«gi mainÄs.
TÄpÄc dažÄdi sistÄmas indikatori punkta A tuvumÄ izrÄdÄ«jÄs labas Ä«paŔības:
KopÄjais automaŔīnu skaits.
PasÅ«tÄmo automaŔīnu skaits.
To automaŔīnu skaits, kuras nav pieejamas pasÅ«tÄ«Å”anai statusÄ āAizÅemtsā.
LietotÄju skaits.
Galu galÄ, jo vairÄk automaŔīnu bÅ«s, jo lielÄka iespÄja, ka kÄda no tÄm kļūs pieejama.
PatiesÄ«bÄ mums ir svarÄ«gi, lai ne tikai atrastos automaŔīnas, bet arÄ« tiktu veikti veiksmÄ«gi braucieni. LÄ«dz ar to bija iespÄjams paredzÄt veiksmÄ«ga brauciena iespÄjamÄ«bu. Bet mÄs nolÄmÄm to nedarÄ«t, jo Ŕī vÄrtÄ«ba lielÄ mÄrÄ ir atkarÄ«ga no lietotÄja un draivera.
Modeļa apmÄcÄ«bas algoritms bija CatBoost. EksperimentÄ iegÅ«tie dati tika izmantoti apmÄcÄ«bai. PÄc ievieÅ”anas bija jÄapkopo apmÄcÄ«bas dati, dažkÄrt ļaujot nelielam lietotÄju skaitam veikt pasÅ«tÄ«jumu pret modeļa lÄmumu.
RezultÄti
Eksperimenta rezultÄti bija tÄdi, kÄ gaidÄ«ts: modeļa izmantoÅ”ana ļauj ievÄrojami palielinÄt veiksmÄ«go braucienu skaitu, pateicoties pasÅ«tÄ«jumiem bez automaŔīnÄm, taÄu neapdraudot uzticamÄ«bu.
Å obrÄ«d mehÄnisms ir iedarbinÄts visÄs pilsÄtÄs un valstÄ«s un ar tÄ palÄ«dzÄ«bu notiek aptuveni 1% veiksmÄ«gu braucienu. TurklÄt dažÄs pilsÄtÄs ar zemu automaŔīnu blÄ«vumu Å”Ädu braucienu Ä«patsvars sasniedz 15%.