Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг

Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг

Сайн такси үйлчилгээ нь аюулгүй, найдвартай, хурдан байх ёстой. Хэрэглэгч дэлгэрэнгүй мэдээлэл өгөхгүй: "Захиалга" товчийг дарж, түүнийг А цэгээс В цэг хүртэл хүргэх машиныг аль болох хурдан хүлээж авах нь түүний хувьд чухал юм. Хэрэв ойролцоо машин байхгүй бол үйлчилгээ үзүүлэх ёстой. Энэ талаар нэн даруй мэдэгдээрэй, ингэснээр үйлчлүүлэгч хуурамч хүлээлт үүсгэхгүй байх. Гэхдээ "Машингүй" гэсэн тэмдэг хэтэрхий олон удаа гарч ирвэл хүн энэ үйлчилгээг ашиглахаа больж, өрсөлдөгч рүү очих нь логик юм.

Энэ нийтлэлд би машин сургалтын тусламжтайгаар бид бага нягтралтай газар (өөрөөр хэлбэл, машин байдаггүй) машин хайх асуудлыг хэрхэн шийдсэн талаар ярихыг хүсч байна. Тэгээд юу болсон бэ.

Эрьт урьдын түүх

Такси дуудахын тулд хэрэглэгч хэд хэдэн энгийн алхмуудыг хийдэг, гэхдээ үйлчилгээ дотор юу болдог вэ?

Хэрэглэгч Үе шат Yandex.Taxi-ийн арын хэсэг
Эхлэх цэгийг сонгоно Зүү Бид нэр дэвшигчдийн хялбаршуулсан хайлтыг эхлүүлж байна - pin хайлт. Олдсон жолооч нар дээр үндэслэн ирэх цагийг урьдчилан таамаглаж байна - зүү дээрх ETA. Өгөгдсөн цэг дэх өсөлтийн коэффициентийг тооцоолно.
Очих газар, үнэ, шаардлагыг сонгоно Санал Бид бүх тарифын маршрутыг гаргаж, үнийг өсгөх коэффициентийг харгалзан тооцдог.
"Такси дуудах" товчийг дарна Захиалга Бид машины бүрэн хайлтыг эхлүүлж байна. Бид хамгийн тохиромжтой жолоочийг сонгож, түүнд захиалга өгдөг.

дээр ETA тэмдэгт, үнийн тооцоо и хамгийн тохиромжтой жолоочийг сонгох бид аль хэдийн бичсэн. Энэ бол жолооч олох тухай түүх юм. Захиалга үүсгэх үед хайлт хоёр удаа явагдана: Pin дээр болон захиалга дээр. Захиалга хайх нь нэр дэвшигчдийг элсүүлэх, зэрэглэл тогтоох гэсэн хоёр үе шаттайгаар явагдана. Нэгдүгээрт, замын график дагуу хамгийн ойрхон байгаа нэр дэвшигч жолооч нарыг олдог. Дараа нь урамшуулал болон шүүлтүүрийг хэрэглэнэ. Үлдсэн нэр дэвшигчдийг эрэмбэлж, ялагч нь захиалгын саналыг хүлээн авна. Хэрэв тэр зөвшөөрвөл захиалгад томилогдож, хүргэх цэгт очдог. Хэрэв тэр татгалзвал дараагийнх нь санал ирнэ. Хэрэв нэр дэвшигч байхгүй бол дахин хайлт эхэлнэ. Энэ нь гурван минутаас илүүгүй үргэлжлэх бөгөөд дараа нь захиалгыг цуцалж, шатаана.

Pin дээр хайх нь захиалгаар хайхтай адил бөгөөд зөвхөн захиалга үүсгэгдээгүй бөгөөд хайлтыг зөвхөн нэг удаа хийдэг. Нэр дэвшигчдийн тоо, хайлтын радиусын хялбаршуулсан тохиргоог бас ашигладаг. Захиалгагаас илүү тээглүүрийн дараалал байдаг тул хайлт нь нэлээд хэцүү ажил тул ийм хялбарчлах шаардлагатай. Бидний түүхийн гол санаа: хэрэв урьдчилсан хайлтаар Pin дээр тохирох нэр дэвшигч олдоогүй бол бид танд захиалга өгөхийг зөвшөөрөхгүй. Ядаж байхад ийм л байсан.

Энэ нь хэрэглэгч аппликешн дээр харсан зүйл юм:

Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг

Машингүй машин хайх

Нэг өдөр бид таамаглал дэвшүүлэв: магадгүй зарим тохиолдолд зүү дээр машин байхгүй байсан ч захиалга дуусгавар болж магадгүй юм. Эцсийн эцэст, зүү болон захиалгын хооронд хэсэг хугацаа өнгөрч, захиалга хайх нь илүү бүрэн гүйцэд, заримдаа хэд хэдэн удаа давтагддаг: энэ хугацаанд боломжтой драйверууд гарч ирж магадгүй юм. Бид эсрэгээр нь мэдэж байсан: хэрэв жолооч нар зүү дээр олдвол захиалга өгөхдөө олдох нь үнэн биш байв. Заримдаа тэд алга болдог эсвэл бүгд захиалга өгөхөөс татгалздаг.

Энэ таамаглалыг шалгахын тулд бид туршилтыг эхлүүлсэн: бид туршилтын бүлэг хэрэглэгчдэд "машингүй захиалга" хийх боломжтой байсан Pin дээр хайлт хийх явцад машин байгаа эсэхийг шалгахаа больсон. Үр дүн нь үнэхээр гэнэтийн байсан: хэрэв машин зүү дээр байгаагүй бол 29% -д нь дараа нь олдсон - захиалга дээр хайх үед! Түүгээр ч барахгүй машингүй захиалга нь цуцлалтын хувь хэмжээ, үнэлгээ болон бусад чанарын үзүүлэлтээрээ ердийн захиалгаас тийм ч их ялгаатай байсангүй. Автомашингүй захиалга нь нийт захиалгын 5%-ийг эзэлж байсан ч амжилттай хийсэн аяллын ердөө 1%-ийг эзэлдэг.

Эдгээр тушаалыг гүйцэтгэгчид хаанаас ирснийг ойлгохын тулд Pin дээрх хайлт хийх явцад тэдний статусыг харцгаая.

Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг

  • Боломжтой: боломжтой байсан, гэхдээ ямар нэг шалтгааны улмаас нэр дэвшигчдэд ороогүй, жишээлбэл, тэр хэтэрхий хол байсан;
  • Захиалгаар: завгүй байсан ч өөрийгөө чөлөөлж эсвэл бэлэн болж чадсан гинжин хэлхээ;
  • Завгүй: захиалга хүлээн авах чадвар идэвхгүй болсон боловч дараа нь жолооч шугам руу буцаж ирэв;
  • Боломжгүй: жолооч онлайн биш байсан ч тэр гарч ирэв.

Найдвартай байдлыг нэмье

Нэмэлт захиалга маш сайн, гэхдээ амжилттай хайлтын 29% нь хэрэглэгчийн 71% нь удаан хүлээсэн бөгөөд хаашаа ч явсангүй гэсэн үг юм. Системийн үр ашгийн үүднээс энэ талаар аймшигтай зүйл байхгүй ч энэ нь үнэн хэрэгтээ хэрэглэгчдэд хуурамч найдвар төрүүлж, цаг хугацаа алддаг бөгөөд үүний дараа тэд бухимдаж, (магадгүй) үйлчилгээгээ ашиглахаа больдог. Энэ асуудлыг шийдэхийн тулд бид захиалгаар машин олдох магадлалыг урьдчилан таамаглаж сурсан.

Схем нь иймэрхүү байна:

  • Хэрэглэгч зүү тавьдаг.
  • Зүүг дээр хайлт хийж байна.
  • Хэрэв машин байхгүй бол бид таамаглаж байна: магадгүй тэд гарч ирнэ.
  • Мөн магадлалаас шалтгаалаад бид захиалга өгөхийг зөвшөөрч, зөвшөөрөхгүй байгаа ч энэ үед автомашины нягтрал бага байгааг анхааруулж байна.

Аппликешнд дараах байдалтай харагдсан.

Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг

Загварыг ашиглах нь танд шинэ захиалгыг илүү нарийвчлалтай бий болгож, хүмүүсийг дэмий хоосон тайвшруулахгүй байх боломжийг олгоно. Өөрөөр хэлбэл, найдвартай байдлын харьцаа, машингүй захиалгын тоог нарийвчлал-санах загварыг ашиглан зохицуулах. Үйлчилгээний найдвартай байдал нь бүтээгдэхүүнийг үргэлжлүүлэн ашиглах хүсэлд нөлөөлдөг, өөрөөр хэлбэл энэ бүхэн аяллын тооноос хамаардаг.

Нарийвчлал-санах тухай бага зэрэгМашин сургалтын үндсэн ажлуудын нэг нь ангиллын даалгавар юм: объектыг хоёр ангийн аль нэгэнд хуваарилах. Энэ тохиолдолд машин сургалтын алгоритмын үр дүн нь ихэвчлэн аль нэг ангийн гишүүнчлэлийн тоон үнэлгээ, жишээлбэл магадлалын үнэлгээ болдог. Гэсэн хэдий ч, гүйцэтгэдэг үйлдлүүд нь ихэвчлэн хоёртын шинж чанартай байдаг: хэрэв машин байгаа бол бид танд захиалахыг зөвшөөрнө, хэрэв үгүй ​​бол захиалахгүй. Тодорхой болгохын тулд тоон тооцоог гаргадаг алгоритмыг загвар, ангилагчийг хоёр ангиллын аль нэгэнд (1 эсвэл –1) хуваарилдаг дүрэм гэж нэрлэе. Загварын үнэлгээнд үндэслэн ангилагчийг гаргахын тулд та үнэлгээний босгыг сонгох хэрэгтэй. Хэрхэн хийх нь даалгавараас ихээхэн хамаарна.

Бид зарим ховор, аюултай өвчний шинжилгээ (ангилагч) хийж байна гэж бодъё. Туршилтын үр дүнд үндэслэн бид өвчтөнийг илүү нарийвчилсан шинжилгээнд илгээх эсвэл "Сайн байна, гэртээ харь" гэж хэлдэг. Бидний хувьд өвчтэй хүнийг гэрт нь явуулах нь эрүүл хүнийг шалгуулахаас хамаагүй дор юм. Өөрөөр хэлбэл, бид шинжилгээг аль болох олон өвчтэй хүмүүст үзүүлэхийг хүсч байна. Энэ утгыг эргүүлэн татах = гэж нэрлэдэгЯндекс.Такси машин байхгүй байхад хэрхэн хайдаг. Тохиромжтой ангилагч нь 100% эргүүлэн татах чадвартай. Муухай нөхцөл байдал бол хүн бүрийг шинжилгээнд илгээх явдал юм, дараа нь эргүүлэн татах нь мөн 100% байх болно.

Энэ нь бас эсрэгээрээ тохиолддог. Жишээлбэл, бид оюутнуудад зориулсан тестийн систем хийж байгаа бөгөөд энэ нь хууран мэхлэгч илрүүлэгчтэй. Хэрэв гэнэт хууран мэхэлсэн зарим тохиолдолд шалгалт ажиллахгүй бол энэ нь тааламжгүй, гэхдээ тийм ч чухал биш юм. Нөгөө талаар оюутнуудыг хийгээгүй зүйлд нь шударга бусаар буруутгах нь туйлын муу. Өөрөөр хэлбэл, ангилагчийн эерэг хариултуудын дунд аль болох олон зөв хариултууд байх нь тэдний тоонд хор хөнөөл учруулах нь бидний хувьд чухал юм. Энэ нь та нарийвчлалыг нэмэгдүүлэх хэрэгтэй гэсэн үг юм = Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг. Хэрэв бүх объект дээр гох үүсвэл нарийвчлал нь дээжинд тодорхойлсон ангийн давтамжтай тэнцүү байх болно.

Хэрэв алгоритм нь тоон магадлалын утгыг гаргадаг бол өөр босго сонгох замаар та өөр өөр нарийвчлал-санах утгыг олж авах боломжтой.

Бидний асуудалд нөхцөл байдал дараах байдалтай байна. Эргэн сануулах гэдэг нь бидний санал болгож болох захиалгын тоо, нарийвчлал нь эдгээр захиалгын найдвартай байдал юм. Манай загварын нарийвчлал-санах муруй дараах байдалтай байна.
Яндекс.Такси машин байхгүй байхад хэрхэн хайдаг
Хоёр онцгой тохиолдол байдаг: хэнд ч захиалахыг бүү зөвшөөр, хүн бүр захиалахыг зөвшөөрөх. Хэрэв та хэнийг ч зөвшөөрөхгүй бол эргүүлэн татах нь 0 болно: бид захиалга үүсгэдэггүй, гэхдээ тэдгээрийн аль нь ч бүтэлгүйтэх болно. Хэрэв бид бүгдэд нь зөвшөөрвөл эргүүлэн татах нь 100% (бид боломжит бүх захиалгыг хүлээн авах болно), нарийвчлал 29%, өөрөөр хэлбэл захиалгын 71% нь муу байх болно.

Бид эхлэх цэгийн янз бүрийн параметрүүдийг тэмдэг болгон ашигласан.

  • Цаг/газар.
  • Системийн төлөв (ойролцоох бүх тариф, тээглүүртэй машинуудын тоо).
  • Хайлтын параметрүүд (радиус, нэр дэвшигчдийн тоо, хязгаарлалт).

Шинж тэмдгүүдийн талаар дэлгэрэнгүй

Үзэл баримтлалын хувьд бид хоёр нөхцөл байдлыг ялгахыг хүсч байна:

  • "Гүн ой" - одоогоор энд машин байхгүй.
  • "Азгүй" - машинууд байдаг, гэхдээ хайж байхдаа тохирох машин олдсонгүй.

Баасан гарагийн орой тус төвд эрэлт ихтэй байвал “Азгүй”-ийн нэг жишээ. Захиалга ихтэй, хүссэн хүн олон, хүн болгонд жолооч хүрэлцдэггүй. Энэ нь иймэрхүү болж магадгүй юм: зүү дээр тохирох драйвер байхгүй байна. Гэхдээ хэдхэн секундын дотор тэд гарч ирдэг, учир нь энэ үед маш олон жолооч нар байдаг бөгөөд тэдний статус байнга өөрчлөгдөж байдаг.

Тиймээс А цэгийн ойролцоох системийн янз бүрийн үзүүлэлтүүд нь сайн шинж чанарууд болж хувирав.

  • Нийт машины тоо.
  • Захиалгат машинуудын тоо.
  • "Завгүй" төлөвт захиалга өгөх боломжгүй машины тоо.
  • Хэрэглэгчдийн тоо.

Эцсийн эцэст, олон машин байх тусам тэдгээрийн аль нэг нь бэлэн болох магадлал өндөр байдаг.
Ер нь бидний хувьд зөвхөн машин байрлуулахаас гадна амжилттай аялал хийх нь чухал юм. Тиймээс амжилттай аялал хийх магадлалыг урьдчилан таамаглах боломжтой байв. Гэхдээ бид үүнийг хийхгүй байхаар шийдсэн, учир нь энэ үнэ цэнэ нь хэрэглэгч болон драйвераас ихээхэн хамаардаг.

Загварын сургалтын алгоритм нь байсан CatBoost. Туршилтаас олж авсан өгөгдлийг сургалтанд ашигласан. Хэрэгжүүлсний дараа сургалтын өгөгдлийг цуглуулах шаардлагатай байсан бөгөөд заримдаа цөөн тооны хэрэглэгчдэд загварын шийдвэрийн эсрэг захиалга өгөх боломжийг олгодог.

Үр дүн

Туршилтын үр дүн таамаглаж байсанчлан гарсан: загварыг ашиглах нь машингүй, гэхдээ найдвартай байдлыг алдагдуулахгүйгээр захиалгын улмаас амжилттай аяллын тоог эрс нэмэгдүүлэх боломжийг олгодог.

Одоогийн байдлаар энэ механизмыг бүх хот, улс орнуудад эхлүүлсэн бөгөөд түүний тусламжтайгаар амжилттай аяллын 1 орчим хувь нь тохиолддог. Түүгээр ч барахгүй автомашины нягтрал багатай зарим хотод ийм аяллын эзлэх хувь 15% хүрдэг.

Такси технологийн талаархи бусад нийтлэлүүд

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх