Яндекс.Такси унаалар жок болгондо кантип издейт

Яндекс.Такси унаалар жок болгондо кантип издейт

Жакшы такси кызматы коопсуз, ишенимдүү жана тез болушу керек. Колдонуучу майда-чүйдөсүнө чейин айтпайт: ал үчүн "Заказ" баскычын чыкылдатып, аны А чекитинен В чекитине алып бара турган унааны мүмкүн болушунча тез алуусу маанилүү. Эгерде жакын жерде унаалар жок болсо, сервис керек. кардар жалган күтүүлөр болбошу үчүн бул тууралуу дароо кабарлаңыз. Бирок, "Унаа жок" белгиси өтө көп пайда болсо, анда адам бул кызматты колдонууну токтотуп, атаандашына барышы логикага ылайыктуу.

Бул макалада мен машинаны үйрөнүүнүн жардамы менен биз жыштыгы аз аймактарда (башкача айтканда, биринчи караганда, унаалар жок) унааларды издөө маселесин кантип чечкенибиз жөнүндө айткым келет. Анан эмне болду.

prehistory

Такси чакыруу үчүн колдонуучу бир нече жөнөкөй кадамдарды аткарат, бирок кызматтын ичинде эмне болот?

колдонуучу Этап Яндекс.Такси
Башталгыч чекитти тандайт төөнөч Биз талапкерлер үчүн жөнөкөйлөштүрүлгөн издөөнү ишке киргизип жатабыз - пин издөө. Табылган айдоочулардын негизинде келүү убактысы болжолдонууда - пиндеги ETA. Берилген чекиттеги өсүү коэффициенти эсептелет.
Баруучу жерди, тарифти, талаптарды тандайт Сунуш Маршрутту курабыз жана бардык тарифтерге бааларды эсептеп, өсүп жаткан коэффициентти эске алабыз.
"Такси чакыруу" баскычын басат тартип Биз машинаны толук издөөнү баштадык. Биз эң ылайыктуу айдоочуну тандап, ага заказ беребиз.

боюнча ETA pin, бааны эсептөө и абдан ылайыктуу айдоочуну тандоо биз уже жазганбыз. Ал эми бул айдоочуларды табуу жөнүндөгү окуя. Буйрутма түзүлгөндө, издөө эки жолу ишке ашат: Pin боюнча жана буйрутма боюнча. Заказды издөө эки этапта ишке ашат: талапкерлерди тандоо жана рейтинг. Биринчиден, жол графигин бойлото эң жакын турган талапкер айдоочулар табылат. Андан кийин бонустар жана чыпкалоо колдонулат. Калган талапкерлер рейтингге ээ жана жеңүүчү заказ сунушун алат. Эгер макул болсо, ал буйрукка дайындалып, жеткирүү пунктуна барат. Эгер баш тартса, кийинкисине сунуш келет. Эгерде талапкерлер жок болсо, издөө кайрадан башталат. Бул үч мүнөттөн ашык эмес созулат, андан кийин буйрук жокко чыгарылат жана өрттөлөт.

Pin боюнча издөө заказ боюнча издөөгө окшош, болгону буйрук түзүлбөйт жана издөөнүн өзү бир гана жолу аткарылат. Талапкерлердин саны жана издөө радиусу үчүн жөнөкөйлөштүрүлгөн орнотуулар да колдонулат. Мындай жөнөкөйлөштүрүү зарыл, анткени буйруктарга караганда төөнөгүчтөрдүн чоңдук тартиби бар жана издөө бир кыйла татаал операция. Биздин окуянын негизги пункту: алдын ала издөө учурунда Pin боюнча ылайыктуу талапкерлер табылбаса, анда биз сизге буйрутма берүүгө уруксат бербейбиз. Жок дегенде ушундай болчу.

Колдонуучу бул колдонмодо көргөн нерсе:

Яндекс.Такси унаалар жок болгондо кантип издейт

Машиналары жок унааларды издөө

Бир күнү биз бир гипотеза менен келдик: балким, кээ бир учурларда, төөнөгүчтө унаалар жок болсо дагы, буйрук дагы эле аткарылышы мүмкүн. Анткени, пин менен буйруктун ортосунда бир аз убакыт өтөт, ал эми заказды издөө толугураак жана кээде бир нече жолу кайталанат: бул убакыттын ичинде жеткиликтүү драйверлер пайда болушу мүмкүн. Биз тескерисин да билчүбүз: эгер пинден айдоочулар табылса, алар заказ бергенде табылат деген факт эмес. Кээде алар жок болот же баары буйруктан баш тартышат.

Бул гипотезаны текшерүү үчүн биз экспериментти баштадык: колдонуучулардын тесттик тобу үчүн Pin боюнча издөө учурунда унаалардын бар-жоктугун текшерүүнү токтоттук, б.а., аларда “автоунааларсыз буйрутма” берүү мүмкүнчүлүгү бар. Натыйжа абдан күтүүсүз болду: эгерде машина пинде жок болсо, анда 29% учурларда ал кийинчерээк табылган - заказ боюнча издөөдө! Анын үстүнө, унаасы жок заказдар жокко чыгаруу көрсөткүчтөрү, рейтингдери жана башка сапаттык көрсөткүчтөрү боюнча кадимки заказдардан анча деле айырмаланчу эмес. Автоунааларсыз брондолгондор бардык ээлөөлөрдүн 5% ын түздү, бирок ийгиликтүү саякаттардын 1%дан бир аз ашыгы.

Бул буйруктарды аткаруучулар кайдан келгенин түшүнүү үчүн, Pin боюнча издөө учурунда алардын статустарын карап көрөлү:

Яндекс.Такси унаалар жок болгондо кантип издейт

  • Жеткиликтүү: жеткиликтүү болгон, бирок кандайдыр бир себептерден улам талапкерлерге киргизилген эмес, мисалы, ал өтө алыс болгон;
  • Заказ боюнча: бош эмес, бирок өзүн боштондукка чыгарууга же жеткиликтүү болууга жетишти чынжыр тартиби;
  • Алек: заказдарды кабыл алуу мүмкүнчүлүгү өчүрүлгөн, бирок андан кийин айдоочу линияга кайтып келген;
  • Жеткиликтүү эмес: айдоочу онлайн эмес болчу, бирок ал пайда болду.

Ишенимдүүлүктү кошолу

Кошумча буйрутмалар сонун, бирок ийгиликтүү издөөлөрдүн 29% 71% колдонуучу көпкө күттүрүп, эч жакка барбай калганын билдирет. Системанын эффективдүүлүгү жагынан бул жаман нерсе болбосо да, чындыгында колдонуучуга жалган үмүт берет жана убакытты текке кетирет, андан кийин алар капа болуп, (мүмкүн) кызматты колдонууну токтотушу мүмкүн. Бул көйгөйдү чечүү үчүн биз буйрутма боюнча машина табылып калуу ыктымалдыгын алдын ала билүүнү үйрөндүк.

схемасы болуп саналат:

  • Колдонуучу пин коет.
  • пин боюнча издөө иштери жүргүзүлүүдө.
  • Машиналар жок болсо, биз болжолдойбуз: балким, алар пайда болот.
  • Ал эми ыктымалдуулукка жараша буйрутма берүүгө уруксат беребиз же бербейбиз, бирок бул аймакта унаалардын жыштыгы азыркы учурда аз экенин эскертебиз.

Колдонмодо мындай көрүндү:

Яндекс.Такси унаалар жок болгондо кантип издейт

Модельди колдонуу жаңы буйрутмаларды так түзүүгө жана адамдарды бекеринен ишендирбөөгө мүмкүндүк берет. Башкача айтканда, тактык-эске алуу моделин колдонуу менен машиналарсыз ишенимдүүлүгүнүн катышын жана заказдардын санын жөнгө салуу. Кызматтын ишенимдүүлүгү өнүмдү колдонууну улантуу каалоосуна таасир этет, башкача айтканда, мунун баары саякаттардын санына жараша болот.

Тактык-эске алуу жөнүндө бир азМашина үйрөнүүдөгү негизги милдеттердин бири классификациялык тапшырма: объектти эки класстын бирине ыйгаруу. Бул учурда, машина үйрөнүү алгоритминин натыйжасы көбүнчө класстардын бирине мүчөлүктүн сандык баасы болуп калат, мисалы, ыктымалдыкты баалоо. Бирок, аткарылган иш-аракеттер, адатта, бинардык болуп саналат: машина бар болсо, анда биз сага буйрук берет, ал эми жок болсо, анда биз эмес. Конкреттүү болуу үчүн, сандык баа берген алгоритмди модель, ал эми классификаторду эки класстын бирине (1 же –1) ыйгарган эреже деп атайлы. Моделдик баалоонун негизинде классификатор түзүү үчүн сиз баалоо босогосун тандооңуз керек. Кантип так тапшырмадан көз каранды.

Кээ бир сейрек кездешүүчү жана коркунучтуу ооруга тест (классификатор) жасап жатабыз дейли. Текшерүүнүн жыйынтыгы боюнча биз пациентти деталдуу текшерүүгө жөнөтөбүз, же: "Жакшы, үйгө кет" деп айтабыз. Биз үчүн оорулуу адамды үйгө жөнөтүү соо адамды жөнсүз текшергенден да жаман. Башкача айтканда, биз тест мүмкүн болушунча көп оорулуу адамдар үчүн иштешин каалайбыз. Бул маани кайра чакырып алуу = деп аталатЯндекс.Такси унаалар жок болгондо кантип издейт. Идеалдуу классификатор 100% кайра чакырып алат. Дегенерацияланган кырдаал – бардыгын экспертизага жөнөтүү, андан кийин кайра чакырып алуу да 100% болот.

Ал ошондой эле башка жол менен болот. Мисалы, биз студенттер үчүн тестирлөө системасын жасап жатабыз, анда алдамчылык детектору бар. Эгер күтүлбөгөн жерден текшерүү кээ бир алдамчылык учурлары үчүн иштебей калса, анда бул жагымсыз, бирок маанилүү эмес. Башка жагынан алып караганда, алар кылбаган нерсе үчүн студенттерди адилетсиз айыптоо өтө жаман. Башкача айтканда, классификатордун оң жоопторунун арасында мүмкүн болушунча туура жооптордун болушу, балким, алардын санына зыян келтириши биз үчүн маанилүү. Бул тактыкты максималдаштыруу керек дегенди билдирет = Яндекс.Такси унаалар жок болгондо кантип издейт. Эгерде триггер бардык объекттерде пайда болсо, анда тактык үлгүдөгү аныкталган класстын жыштыгына барабар болот.

Эгерде алгоритм сандык ыктымалдык маанисин чыгарса, анда ар кандай босоголорду тандоо менен сиз ар кандай тактык-эске алуу маанилерине жете аласыз.

Биздин маселеде абал төмөнкүдөй. Эстөө - бул биз сунуш кыла турган буйрутмалардын саны, тактык - бул буйруктардын ишенимдүүлүгү. Биздин моделдин тактык-эске алуу ийри сызыгы ушундай көрүнөт:
Яндекс.Такси унаалар жок болгондо кантип издейт
Эки экстремалдуу жагдай бар: эч кимге буйрук берүүгө жол бербеңиз жана бардыгына буйрук берүүгө уруксат бериңиз. Эгер сиз эч кимге уруксат бербесеңиз, анда кайра чакыртып алуу 0 болот: биз буйруктарды түзбөйбүз, бирок алардын бири да иштебей калат. Эгерде биз бардыгына уруксат берсек, анда кайра чакырып алуу 100% болот (биз мүмкүн болгон бардык буйруктарды алабыз), ал эми тактык 29% болот, башкача айтканда, буйрутмалардын 71% начар болот.

Биз белги катары баштапкы чекиттин ар кандай параметрлерин колдондук:

  • Убакыт/жер.
  • Системанын абалы (бардык тарифтердин жана жакын жердеги пиндердин ээлеген машиналарынын саны).
  • Издөө параметрлери (радиус, талапкерлердин саны, чектөөлөр).

Белгилери жөнүндө көбүрөөк

Концептуалдык жактан биз эки жагдайды айырмалагыбыз келет:

  • "Терең токой" - бул жерде азыр унаалар жок.
  • "Бактысыз" - унаалар бар, бирок издөөдө ылайыктуулары жок болчу.

Жума күнү кечинде борбордо суроо-талап көп болсо, "Бактысыздын" бир мисалы. Заказ көп, каалоочулар көп, айдоочулар баарына жетпейт. Бул мындай болушу мүмкүн: пинде ылайыктуу айдоочулар жок. Бирок түзмө-түз секунданын ичинде алар пайда болот, анткени бул жерде айдоочулар көп жана алардын статусу дайыма өзгөрүп турат.

Ошондуктан, А чекитине жакын ар кандай системалык көрсөткүчтөр жакшы өзгөчөлүктөр болуп чыкты:

  • Автоунаалардын жалпы саны.
  • Заказ боюнча машиналардын саны.
  • "Бош эмес" абалында буйрутма берүү үчүн жеткиликсиз унаалардын саны.
  • Колдонуучулардын саны.

Анткени, унаалар канчалык көп болсо, ошончолук алардын бирөө жеткиликтүү болуп калышы ыктымал.
Чынында, биз үчүн унаалар гана эмес, ийгиликтүү сапарлар да маанилүү. Ошондуктан, ийгиликтүү сапардын ыктымалдуулугун алдын ала айтууга мүмкүн болгон. Бирок биз муну кылбай коюуну чечтик, анткени бул маани колдонуучудан жана айдоочудан көз каранды.

моделдик окутуу алгоритми болгон CatBoost. Эксперименттен алынган маалыматтар окутуу үчүн колдонулган. Ишке ашырылгандан кийин, окутуу маалыматтарын чогултуу керек болчу, кээде аз сандагы колдонуучулар моделдин чечимине каршы буйрук берүүгө мүмкүндүк берет.

натыйжалары

Эксперименттин натыйжалары күтүлгөндөй болду: моделди колдонуу автоунааларсыз, бирок ишенимдүүлүгүн бузбастан, буйрутмалардын эсебинен ийгиликтүү саякаттардын санын олуттуу көбөйтүүгө мүмкүндүк берет.

Учурда механизм бардык шаарларда жана өлкөлөрдө ишке киргизилди жана анын жардамы менен ийгиликтүү саякаттардын 1%га жакыны ишке ашат. Анын үстүнө, унаалардын жыштыгы аз болгон кээ бир шаарларда мындай сапарлардын үлүшү 15%га жетет.

Такси технологиясы жөнүндө башка билдирүүлөр

Source: www.habr.com

Комментарий кошуу