Представьте: вы открываете приложение, чтобы в очередной раз заказать такси в часто посещаемое вами место, и, конечно, в 2017 году вы ожидаете, что все, что нужно сделать – сказать приложению «Вызывай», и такси за вами тут же выедет. А куда вы хотели ехать, через сколько минут и на какой машине — все это приложение узнает благодаря истории заказов и машинному обучению. В общем-то все, как в шутках про идеальный интерфейс с единственной кнопкой «сделать хорошо», лучше которого только экран с надписью «все уже хорошо». Звучит здорово, но как же приблизить эту реальность?



На днях мы выпустили новое приложение Яндекс.Такси для iOS. В обновленном интерфейсе один из акцентов сделан на выборе конечной точки маршрута («точки Б»). Но новая версия – это не просто новый UI. К запуску обновления мы существенно переработали технологию прогнозирования пункта назначения, заменив старые эвристики на обученный на исторических данных классификатор.

Как вы понимаете, кнопки «сделать хорошо» в машинном обучении тоже нет, поэтому простая на первый взгляд задача вылилась в довольно захватывающий кейс, в результате которого, мы надеемся, у нас получилось немного облегчить жизнь пользователей. Сейчас мы продолжаем внимательно следить за работой нового алгоритма и еще будем его менять, чтобы качество прогноза было стабильнее. На полную мощность запустимся в ближайшие несколько недель, но под катом уже готовы рассказать о том, что же происходит внутри.

Задача


При выборе пункта назначения, в поле «куда» у нас есть возможность предложить пользователю буквально 2-3 варианта на главном экране и еще несколько – если он перейдет в меню выбора точки Б:



Если наш прогноз верный, пользователю не требуется вбивать адрес, и вообще есть повод порадоваться, что приложение в состоянии хоть немного запомнить его предпочтения. Именно для этих подсказок разрабатывалась модель, которая на основе истории поездок пользователя пытается предугадать, куда именно он сейчас скорее всего отправится.

До построения модели на основе машинного обучения была реализована такая стратегия: берутся все точки из истории, «одинаковые» точки (с одинаковым адресом или находящиеся близко) сливаются, за разные параметры получившимся локациям начисляются различные баллы (если пользователь ездил в эту точку, ездил из этой точки, ездил в эту точку в какое-то временное окно и так далее). Затем выбираются локации с наибольшим числом баллов и рекомендуются пользователю. Как я уже говорил, исторически эта стратегия неплохо работала, но точность прогнозирования можно было повысить. А главное — мы знали как.

«Старые» эвристики и обученный классификатор могут давать разные прогнозы: на этом рисунке размер круга показывает, насколько высоко данная точка находится в списке рекомендаций в конкретный день и конкретное время. Обратите внимание, что обученный алгоритм в данном примере предложил несколько дополнительных локаций (зеленые круги).

Наша задача состояла в том, чтобы поверх «старой» стратегии использовать переранжирование наиболее вероятных «точек Б» с помощью машинного обучения. Общий подход такой: сначала начисляем баллы, как и раньше, затем берём топ n по этим баллам (где n заведомо больше, чем нужно в итоге порекомендовать), а далее переранжируем его и пользователю в итоге показываем только три наиболее вероятные точки Б. Точное число кандидатов в списке, конечно, определяется в ходе оптимизации, чтобы и качество кандидатов и качество переранжирования были как можно выше. В нашем случае оптимальное число кандидатов оказалось равным 20.

Об оценке качества и результатах


Во-первых, качество нужно разделить на две части: качество кандидатов и качество ранжирования. Качество кандидатов — это то, насколько отобранные кандидаты в принципе возможно правильно переранжировать. А качество ранжирования — это насколько мы правильно предсказываем точку назначения при условии того, что она вообще есть среди кандидатов.

Начнём с первой метрики, то есть качества кандидатов. Стоит отметить, что только примерно в 72 процентах заказов выбранная точка Б (или очень близкая к ней географически) присутствовала ранее в истории. Это означает, что максимальное качество кандидатов ограничено этим числом, так как мы пока не можем рекомендовать точки, куда человек еще ни разу не ездил. Мы подобрали эвристики с назначением баллов так, что при отборе топ-20 кандидатов по этим баллам правильный ответ в них содержался в 71% случаев. При максимуме в 72% это весьма неплохой результат. Это качество кандидатов нас полностью устраивало, поэтому эту часть модели мы дальше не трогали, хотя, в принципе, могли бы. Например, вместо эвристик можно было обучить отдельную модель. Но так как механизм поиска кандидатов, основанный на эвристиках, уже был технически реализован, мы смогли сэкономить на разработке, лишь подобрав нужные коэффициенты.

Снова вернемся к качеству переранжирования. Так как на главном экране заказа поездки показывать мы можем одну, две, ну максимум три точки, то нас интересует доля случаев, когда правильный ответ оказался в топ-1, топ-2 и топ-3 списка ранжирования соответственно. В машинном обучении долю правильных ответов в топ k списка ранжирования (от всех правильных ответов) называют recall@k. В нашем случае нас интересуют recall@1, recall@2 и recall@3. При этом «правильный ответ» в нашей задаче только один (с точностью до близко расположенных точек), а значит, эта метрика как раз будет показывать долю случаев, когда настоящая «точка Б» попадает в топ 1, топ 2 и топ 3 нашего алгоритма.

В качестве базового алгоритма ранжирования мы взяли сортировку по количеству баллов и получили следующие результаты (в процентах): recall@1 = 63,7; recall@2 = 78,5 и recall@3 = 84,6. Заметим, что проценты здесь – это доля от тех случаев, где правильный ответ в кандидатах вообще присутствовал. В какой-то момент возник логичный вопрос: возможно, простая сортировка по популярности уже даёт хорошее качество, а все идеи сортировки по баллам и использование машинного обучения излишни? Но нет, такой алгоритм показал самое плохое качество: recall@1 = 41,2; recall@2 = 64,6; recall@3 = 74,7.

Запомним исходные результаты и перейдем к обсуждению модели машинного обучения.


Доля случаев, когда фактический пункт назначения попадал в число первых k рекомендаций

Какая модель строилась


Для начала опишем механизм нахождения кандидатов. Как мы уже говорили, на основании статистики поездок пользователя разным местам начисляются баллы. Точка получает баллы, если в нее или из нее совершаются поездки; причем существенно больше баллов получают те точки, в которые пользователь ездил из места, где сейчас находится, а ещё больше баллов, если это происходило примерно в это же время. Далее логика понятная.

Теперь перейдём к модели для переранжирования. Так как мы хотим максимизировать recall@k, в первом приближении мы хотим прогнозировать вероятность поездки пользователя в определенное место и ранжировать места по вероятности. «В первом приближении» потому, что эти рассуждения верны только при очень точной оценке вероятностей, а когда в них появляются погрешности, recall@k может лучше оптимизироваться и другим решением. Простая аналогия: в машинном обучении, если мы точно знаем все распределения вероятностей, самый лучший классификатор — байесовский, но поскольку на практике распределения восстанавливаются по данным приближенно, часто другие классификаторы работают лучше.

Задача классификации ставилась следующим образом: объектами были пары (история предыдущих поездок пользователя; кандидат в рекомендации), где положительные примеры (класс 1) — пары, в которых пользователь все-таки поехал в эту точку Б, отрицательные примеры (класс 0) — пары, в которых пользователь в итоге поехал в другое место.

Таким образом, если побыть прожженным формалистом, модель оценивала не вероятность того, что человек поедет в конкретную точку, а сдвинутую вероятность того, что заданная пара «история-кандидат» является релевантной. Тем не менее, сортировка по этой величине столь же осмыслена, что и сортировка по вероятности поездки в точку. Можно показать, что при избытке данных это будут эквивалентные сортировки.

Классификатор мы обучали на минимизацию log loss, а в качестве модели использовали активно применяемый в Яндексе Матрикснет (градиентный бустинг над решающими деревьями). И если с Матрикснетом всё понятно, то почему всё-таки оптимизировался log loss?

Ну, во-первых, оптимизация этой метрики приводит к правильным оценкам вероятности. Причина, по которой так происходит, своими корнями уходит в математическую статистику, в метод максимального правдоподобия. Пусть вероятность единичного класса у i-го объекта равна $p_i$, а истинный класс равен $y_i$. Тогда, если считать исходы независимыми, правдоподобие выборки (грубо говоря, вероятность получить именно такой исход, который был получен) равно следующему произведению:

$\prod_{i}p_i^{y_i}(1-p_i)^{(1-y_i)}$

В идеале нам хотелось бы иметь такие $p_i$, чтобы получить максимум этого выражения (ведь мы хотим, чтобы полученные нами результаты были максимально правдоподобны, правда?). Но если прологарифмировать это выражение (так как логарифм — монотонная функция, то можно его максимизировать вместо исходного выражения), то мы получим $\sum_i y_i ln (p_i) + (1-y_i)ln(1-p_i)$. А это уже известный нам log loss, если заменить $p_i$ на их предсказания и умножить все выражение на минус-единицу.

Во-вторых, мы, конечно, доверяем теории, но на всякий случай попробовали оптимизировать разные функции потерь, и log loss показал самый большой recall@k, так что все в итоге сошлось.

О методе поговорили, о функции ошибки – тоже, осталась одна важная деталь: признаки, по которым мы обучали наш классификатор. Для описания каждой пары «история-кандидат» мы использовали более сотни разных признаков. Вот несколько для примера:

И, наконец, о результатах: после переранжирования с помощью построенной нами модели мы получили следующие данные (опять же в процентах): recall@1 = 72,1 (+8,4); recall@2 = 82,6 (+4,1); recall@3 = 88 (+3,4). Совсем неплохо, но в будущем возможны улучшения за счет включения в признаки дополнительной информации.

Можно посмотреть на примере, как новый алгоритм прогнозирования будет выглядеть для пользователя:

Дальнейшие планы


Разумеется, впереди много экспериментов по улучшению модели. Будет и добавление новых данных для построения рекомендаций, в том числе интересов пользователя, а также предполагаемых «дома» и «работы» из Яндекс Крипты и связанных с ними признаков, и эксперимент по сравнению различных методов классификации в этой задаче. Например, у Яндекса уже есть не только используемый сугубо внутри команды Матрикснет, но и набирающий популярность и в Яндексе, и за его пределами CatBoost. При этом, конечно же, нам интересно сравнивать не только собственные разработки, но и другие реализации популярных алгоритмов.

Кроме того, как уже было сказано в начале поста – было бы здорово, если бы приложение само понимало, когда, куда и на какой машине нам нужно поехать. Сейчас сложно сказать, насколько по историческим данным возможно точно угадывать параметры заказа и настройки приложения, подходящие пользователю, но мы работаем в этом направлении, будем делать наше приложение все более «умным» и способным подстраиваться под вас.

Комментарии (59)


  1. shinkareff
    19.09.2017 12:14
    +3

    Вот бы его обучить хотя бы время подачи правильно считать.
    2 минуты заявленных против 20-ти минут реальных — ни в какие ворота.


    1. vkantor Автор
      19.09.2017 12:59
      +2

      Здесь два момента:
      1. Уточнение времени подачи с помощью ML тоже получается делать, как выкатим — возможно расскажем и про эту задачу.
      2. Стоит помнить, что никакой один дикий пример, к сожалению, ничего не говорит о качестве прогноза в среднем, когда ежедневно делаются миллионы прогнозов. Однако пример может быть очень кстати, чтобы отладить алгоритм, поэтому мы такие случаи сейчас мониторим и разбираемся с ними, чтобы учесть все при уточнении времени подачи.


      1. shinkareff
        20.09.2017 15:31

        Для Красной Поляны этот пример скорее типичен сейчас: машина после получения заказа уехала в одну сторону, причем почти до меня доехала. Далее, водитель увидел клиента по дороге (мое предположение) и отвез его в другую сторону, довольно далеко. Затем вернулся.

        Когда я спросил его, почему так долго, он рассказал, что на всю Красную Поляну, Эсто-Садок, Розу Хутор и в общем на весь этот район, работают около 50-ти автомобилей — что очень мало.

        В данном случае неважно, говорит он правду или нет. Важно, что система вводит в заблуждение клиента. Разница на нолик весьма существенна.


    1. Aingis
      19.09.2017 14:16
      +2

      А ещё водителей научить приезжать в тому выходу, куда надо, а не «куда все» или «куда удобней». Из недавнего: я не пойду через весь ТЦ с громоздкими покупками даже с тележкой. Или они рассчитывают за ожидание/время заказа так побольше содрать? Приходится отменять.


      1. vkantor Автор
        19.09.2017 16:08
        +1

        Как раз для того, чтобы водителям и пользователям было проще встречаться возле больших зданий с кучей выходов (ТЦ, аэропорты, вокзалы), недавно внедрили подсказки про наиболее удобные точки посадки. Как это работает писали здесь — yandex.ru/blog/company/popast-v-tochku, думаю, скоро расскажем на Хабре про то, как мы делали такую опцию. Попробуйте, если еще не. Если и в таких случаях возникают проблемы – это повод для нас разобраться. Буду благодарен за детали для наших саппортов.


        1. Aingis
          19.09.2017 16:13

          Не работает на сайте. И, честно говоря, вообще не видел ничего подобного не далее как неделю назад (на iOS).


        1. vorphalack
          19.09.2017 23:36

          окей, это надо будет как-нить посмотреть, когда до андроида донесете.
          но несколько моментов:

          1) какой радиус подачи считается приемлимым? тоже сталкивался с проблемами как у aingis, но в моем случае выход вообще один был. в итоге оказалось проще взять бомбилу, чем объяснить этому дебилу что никто с полста кило покупок за ним бегать не будет.

          2) почему последние несколько месяцев навигатор у водителей через раз ведет не к подьездной части дома, а к фасадной куда-нить во двор.

          3) можно ли добавить опцию (противоположность первому пункту, да) «подъедь куда-то сюда, откуда сподручней будет в точку Б ехать» — кмк вполне актуально для разных ТПУ и развязок у метро будет.


      1. dmitryvolkovtaxi
        19.09.2017 16:40

        Никуда не годится такое, расскажете подробнее, что за водитель так аргументировал подачу машины? Жду ваше письмо на blogs@taxi.yandex.ru вместе с номером телефона, который привязан к приложению. Спасибо!


        1. Aingis
          19.09.2017 17:34

          Понятия не имею почему, я же отменил. Это было год назад.


          1. AbstractGaze
            20.09.2017 06:14
            +1

            Т.е. за год пользования сервисом вам попался одни «нехороший человек» и вы это теперь еще лет пять будете припоминать?)
            Тогда я тоже могу добавить, но уже регулярные случаи касающиеся основных сервисов такси, а не конкретно яндекса:
            Например почему надо по 1-3 часа ждать такси, а потом искать в другой службе по одной причине, в частности если ты с ребенком. Аргументация — нет кресла нет заказа. Разве таксист который выезжает на обслуживание клиентов не должен позаботится о кресле, а том чтобы багажник был пустой?
            По мнению таксистов видимо все мамочки имеют свое авто или любят топать пешком по пол часа до общественного транспорта.
            А как они еще плачутся что люди наличкой перестали расплачивается, и только по карточкам… Доходит до того, что приезжают, разворачиваются и уезжают, еще и просят чтобы заказчик сам заказ отменил — это вообще улыбает.


            1. lostpassword
              20.09.2017 08:09

              А есть какие-то законодательные или нормативные требования, что в такси должно быть детское кресло?


              1. AbstractGaze
                20.09.2017 08:19
                +1

                А нужны?
                Такси это прежде всего услуга по перевозки пассажиров и их ручной клади. А значит, такси обязано иметь необходимое для этого оборудование и возможности.
                Может вам еще законодательные и нормативные акты нужны для услуг парикмахера?
                Вы приходите в парикмахерскую, парикмахер достает секатор или опасную бритву и говорит: «ой у меня только такой инструмент, но потерпите… и оплата только наличкой — я карточки не принимаю.»
                Сомневаюсь, что вы посчитаете это нормальным. Так почему Вы считаете нормальным такси без детского кресла и полным багажником и требуете каких то нормативов? Водитель такси выезжает на работу, выполнять определенные услуги, а сейчас это зачастую выглядит как будто таксисты делают великое одолжение тем, что хотя бы приезжают вовремя и куда надо.
                Я считаю это не нормальным, и здоровая конкуренция и друге методы, такие как рейтинг запрещающий оказывать подобные услуги должны исключать подобное.


                1. lostpassword
                  20.09.2017 08:24
                  -2

                  Как вы и пишете, здесь здоровая конкуренция. Не знаю, какой процент людей использует такси для перевозки маленьких детей — но думаю, что очень мало.
                  Соответственно таксисту нужно решить: выгодно ему тратить деньги на детское кресло и возиться с его установкой / снятием или нет.
                  Мне кажется, опция "еду с ребёнком" должна выглядеть как отдельный флажок при заказе, с соответствующим удорожанием тарифа. И таксистам выгодно, и люди с детьми всегда такси найдут.


                  1. AbstractGaze
                    20.09.2017 08:52

                    А почему решать должен таксист?
                    Я звоню фирму, а не какому то дяде ване. Фирма вроде как подразумевает наличие услуги определенного качества, но вот по факту это решает не фирма, а тот самый дядя ваня, и именно дядя ваня решает что фирме выгодно, а что нет. Почему так?

                    Лидером в итоге будет тот, кто таких дядь вань будет в шею гнать со своей работы. Правда пока этот момент на ступит — все уже купят свое авто и будут счастливо стоять в образовавшихся из-за избытка машин пробках. Ведь по сути качество услуг общественного транспорта и послужило основной причиной их появления.

                    Но такси это не общественный транспорт, это бизнес, а бизнес таких ошибок не прощает.


                    1. lostpassword
                      20.09.2017 09:02

                      Если фирма купила всем водителям кресла — то да, они должны их ставить. А если не купила — то это уже личный выбор водителей. И им, очевидно, проще работать по другим заказам, где кресла не нужны, и не заморачиваться. А если их «гнать в шею» — они просто уйдут к конкурентам.


                      1. AbstractGaze
                        20.09.2017 13:39

                        Ну так можете добавить тогда, что фирма еще и машину должна купить, только это уже таксопарк называется, и в таксопарке да, фирма должна оборудовать свою машину.
                        Но, вот когда водитель со своей машиной т.е. своим «инструментом» приходит в сервис предоставляющий ему клиентов. Он обязан иметь исправный и подходящий инструмент. Если у него не подходящий инструмент, это должна быть проблема водителя, а не заказчика услуги. Разве не так?
                        Я понять не могу, почему для вас это не очевидно.


                        1. lostpassword
                          20.09.2017 14:17
                          -1

                          Ну потому что в моём понимании такси должно перевозить обычных людей. Всё.
                          Если мне нужно перевезти ребёнка, невесту в свадебном платье, лежачую бабушку, баллоны с углекислым газом, слона и двести грамм урана — то нужно пользоваться специализированными сервисами. Ну либо договариваться со службой такси в индивидуальном порядке.


                          1. AbstractGaze
                            20.09.2017 14:23
                            +1

                            Для обычных людей существует общественный транспорт — трамваи, троллейбусы, метров, автобусы, маршрутные такси. А вот для всего что вы перечислили, как раз и используется в основном такси. Точнее должно было бы использоваться, если бы с общественным транспортом было не все так плачевно (во всяком случае у нас проще пешком ходить до 6-7 км и это будет быстрей и комфортней)


                          1. Agel_Nash
                            20.09.2017 15:34

                            Эм, простите. А что теперь дети уже не люди? Загляните ради интереса на сайт рутакси в раздел «дополнительные параметры»:
                            — машина с детским удерживающим устройством
                            — с пассажиром будет животное
                            — встреча с табличкой
                            — некурящий перевозчик
                            — пасажир не говорит по-русски
                            — будет багаж
                            — нужна сдача

                            Вот появится у вас ребенок, сломается машина и я бы хотел посмотреть на вас, как бы вы перемещались до поликлиники и обратно.

                            Собственно для этих целей и придуманы галочки, чтобы отсеивать неадекватов, которые идут в такси не деньги зарабатывать, а гонор свой показывать.


                            1. lostpassword
                              20.09.2017 15:55

                              Ну об этом я, собственно, и говорил в своём первом комментарии выше. Вы ветку читаете вообще, прежде чем писать?)
                              Галочка — отличное решение. Если клиент сразу указал, что ему нужно, и компания готова это сделать — классно же.)
                              Но требовать такого от любого такси по умолчанию на данный момент мне кажется странным. Лично для меня такси — это просто способ быстро и удобно доехать, и ничего более.


                              1. Agel_Nash
                                20.09.2017 16:49

                                Я внимательно эту ветку читал с самого начала. И сообщение про галочку тоже видел. Но на фоне ваших изречений это предложение мягко говоря теряется.

                                Лично для меня такси — это просто способ быстро и удобно доехать, и ничего более.

                                Быстро и удобно понятие растяжимое. Вы же четко определили рамки «без детей, без багажа, дееспособных и т.п.». При этом в случае чего — проблема пасажира, а не водителя.

                                Но требовать такого от любого такси по умолчанию на данный момент мне кажется странным.

                                Вот в этом вся и проблема. Вам это кажется странным. А другим это не кажется странным. Т.к. другие такси предлагают фильтрацию, а тут если ее нет — значит любая из вызываемых машин априори должна быть оборудована детским сиденьем/быть с пустым багажником/если хочется закурить, то как минимум спросить об этом у пассажира/при оплате наличкой на берегу спрашивать есть ли сдача/etc.


                                1. lostpassword
                                  20.09.2017 18:31

                                  Мне эта логика непонятна.
                                  Вот, к примеру, многие торговые точки принимают оплату картой. Для меня это удобно.
                                  С другой стороны, есть и такие торговые точки, которые карты не принимают. Меня это порой бесит, но я чётко понимаю, что на мои хотелки хозяевам точки глубоко наплевать. Как максимум можно высказать такое предложение, написать отзыв — и всё.
                                  То же самое и здесь.
                                  У покупателя всегда есть право проголосовать рублём за нужный уровень сервиса. С другой стороны, у продавца есть право предоставлять такой уровень сервиса, который он считает нужным (разумеется, не нарушая при этом закон и условия договора).
                                  А взаимные хотелки — не более чем хотелки.


                          1. Agel_Nash
                            20.09.2017 15:51

                            Вспомнил интересный случай:
                            Садимся с супругой в такси у торгового центра. Я на переднее сиденье сжаусь, она на заднее. Ну и ставит пакеты со шмотками рядом с собой. К ней поворачивается водитель и заявляет:
                            — А почему не пишите в комментариях, что с багажом? Да и вообще, почему вы пакеты ставите на чистое сиденье. Выходите, я вас не повезу.

                            Или вот еще один:
                            Подъезжает шушлайка у которой стеклоподъемник не работает. Заднее сиденье прожжено сигаретами в решето. Так еще водитель этого корыта заявляет, что мол я якобы ему дверь чуть не сломал, т.к. сильно хлопнул.

                            Хотите еще?
                            Сажусь в машину. Выезжаем из квартала, а водитель на ходу начинает что-то переключать в навигаторе. На первом светофоре авария (отъехали метров 200). И это чудо заказ исполнить уже не может, но еще требует 50%, т.к. он видите-ли бензин потратил, чтобы до меня доехать. Т.е. половину заказа выполнил.


                            1. dmitryvolkovtaxi
                              20.09.2017 19:11

                              Будет здорово, если пришлёте нам этот комментарий на blogs@taxi.yandex.ru вместе с номером телефона из приложения и датами поездок, с каждым случаем разберёмся.


            1. Aingis
              20.09.2017 13:18

              Не понял претензию. Есть же опция «с креслом». Вы в каком городе? В Москве вообще, кажется, сложно найти без кресла, даже если забыть указать. А вообще по новым правилам с 7 лет можно без кресла, достаточно пристегнуть на заднем сидении.


              1. AbstractGaze
                20.09.2017 13:28

                Город Ростов-на-Дону, не такой маленький. С 7 лет не спорю. У меня ребенку 1.5 года, и жена катается то в поликлинику, то справки делать, то прописку.
                Претензия в том, что у нас большинство водителей без кресла, и зачастую даже собранную коляску в багажник не положишь. В итоге последнее время просто не указываем что нужно кресло, так как ждать час два времени нет.Просто везем ребенка на руках, и то если водитель не уехал при виде ребенка отменив заказ.
                Кстати опция с ребенком или детское кресло есть не везде, в том же гете такой опции нет, а комментарии читают далеко не все водители.


  1. erwins22
    19.09.2017 15:36
    -3

    Нейронную сеть не пробывали?
    Если пробывали то интересно сравнение с котиком.


  1. QDeathNick
    19.09.2017 15:52

    Из последнего:


    1 У водителя нет возможности позвонить пока не подедет близко.
    2 Нельзя указать точку на карте, где хотел бы видеть машину. Точнее ещё хуже. Указать можно, но водитель этого не увидит, а увидит автоматически определенный адрес.
    3 Часто бывает такое, что после заказа, получаю сообщение, что машина подана, например Hyundai, жму кнопку "скоро выйду", выхожу, а машины нет. Смотрю в приложение, а там nissan едет в 10 минутах. И следов hiyndai никаких. Как так?


    Водитель едет совсем не туда, куда указал. В итоге терпение кончается, вызываю gett, там все лучше.


    Ну и навигация тоже оставляет желать лучшего. Косяк на косяке на карте. Уже с десяток отправил, многие по два, три раза.


    Исправить эти косяки по-моему важнее, чем подсказывать мне куда я поеду.


    1. dmitryvolkovtaxi
      19.09.2017 16:43

      Здравствуйте! Спасибо за фидбэк.

      1. Всё так, это сокращает количество ситуаций, когда водители просят отменить заказ. Если в связи с этим возникла проблема, наша поддержка поможет.
      2. Точку указать можно и водители её видят. Да, она привязывается к адресу, но и отметка на карте сохраняется.
      3. Здесь нужно проверять, почему водитель отменил заказ. Это тоже решаемо через нашу поддержку или я могу сам проверить, если напишете на blogs@taxi.yandex.ru.


      1. QDeathNick
        19.09.2017 17:31
        +1

        2. Точку указать можно и водители её видят. Да, она привязывается к адресу, но и отметка на карте сохраняется.
        Может быть водители пользуются каким-то другим софтом? Мне водитель показал как выглядит мой заказ для него, там только адрес, без всякой карты, ещё написан способ оплаты и при подъезде ближе 500 метров появляется телефон. Есть кнопки начать заказ и отменить заказ. Жаль не снял этот интерфейс.

        А вы видите трек, как водитель подъезжает к клиенту? Можете посмотреть, как он блуждал, не зная, как подъехать ко мне, пока я ему не позвонил.

        Переслал вам детали вчерашней поездки на почту.


      1. QDeathNick
        19.09.2017 17:46

        1. Всё так, это сокращает количество ситуаций, когда водители просят отменить заказ. Если в связи с этим возникла проблема, наша поддержка поможет.

        3. Здесь нужно проверять, почему водитель отменил заказ. Это тоже решаемо через нашу поддержку или я могу сам проверить, если напишете на blogs@taxi.yandex.ru.


        Мне кажется оба этих случая вы можете проверять и без обращения клиента. Вы же видите, что водитель отменил заказ. Что мешает проверить?

        Можно и не показывать телефон клиента, организовать связь через вашу АТС, писать все звонки. При тех ценах, что есть у вас сейчас, вполне реально добавить ещё 10-20 рублей на заказ, чтобы окупить работу такой службы.


        1. endomorphine
          19.09.2017 18:40

          Мне кажется, вы не поняли — 1 пункт призван запретить водителям звонить клиенту и сообщать им, что они не поедут по заказу. Сам лично сталкивался с такой ситуацией, звоню таксисту — а там лицо не русской принадлежности сообщает мне, что оно, дескать, не хочет ехать в такую даль. И главное, заказ не отменяет, чтобы типа рейтинг не потерять, наивный.


          1. QDeathNick
            19.09.2017 18:46

            Я то понял, но что мешает наказать такого водителя?


            Мне водитель вчера сказал, что у них сейчас все равно нет прямого номера телефона клиента. Он может позвонить только через АТС Яндекса. Но почему то только после того, как подъедет близко к точке.


      1. softshape
        19.09.2017 17:56
        +1

        Мне уже два водителя за два дня пожаловались на одинаковую ситуацию:

        1) Самолет сел в аэропорту, человек прямо с трапа вызывает такси.
        2) Таксист подъезжает и не может связаться с пассажиром, т.к. тот уже переместился в зал ожидания, а приложение этого не понимает и считает расстояние от такси до трапа.
        3) Заказ отменяется, все несчастны (кроме разработчиков, у которых своя логика).


  1. softshape
    19.09.2017 16:40
    +2

    Вот бы еще научить Яндекс Такси не лажать при поиске адреса по его названию. Сравните два скриншота, Яндекс Такси слева, Максим справа. Пользователь в этот момент находится в Иркутске. Яндекс, ну зачем ему адреса в Архангельске, Бурятии и Украине? Приложение Максим нашло адрес с первой же попытки. И такая история — практически с каждым поиском.

    image


    1. dmitryvolkovtaxi
      19.09.2017 16:44

      Здравствуйте! Здесь не поспоришь, не всегда адекватно приложение предлагает адреса. Об этом мы знаем, обязательно будем исправлять.


      1. QDeathNick
        19.09.2017 17:41

        Это скорее ко всему поиску на картах должно применяться, а не только к такси.

        Вот мне понравилось, что при попытке найти «где поесть» в два часа ночи в Сочи, google вывел только те места, где реально было открыто, да ещё написал, что скоро закрывается. А вот Яндекс пока так не умеет, выводит всё подряд.

        К слову, поесть и с помощью google не удалось, информация очень неактуальная. И вдоль маршрута он тоже не ищет, предлагает просто ближайшие по прямому расстоянию, без учёта того, что до них ехать надо, крутясь по всему побережью. Но хоть при щелчке по месту, показывает сколько отнимет времени заехать туда.

        С одной стороны это не к вам, но с другой стороны, в будущем, в приложениях такси этот функционал должен быть.


    1. reallord
      20.09.2017 08:58

      Да, это просто беда. Прежде чем искать, приложение требует включить GPS. Координаты известны, город понятен. ЗАЧЕМ??? показывать в начале списка адреса из Мухосранска.
      А когда у тебя проспект Ленина, который есть В КАЖДОМ городе, задолбаешься листать до своего города.


  1. QtRoS
    19.09.2017 21:10

    Раньше Я.Такси не пользовался в МСК, ночью в день вылета на отдых попробовал вызвать — предложили три аэропорта. Это ML или эвристика? :)


    1. TimsTims
      19.09.2017 22:13

      Дайте угадаю — у вас почта yandex.ru :)? У меня почта в gmail, так в день вылета при просмотре роликов youtube у меня целый день показывало рекламу такси)))


      1. popov654
        19.09.2017 23:24

        Вот некоторые мои знакомые не верят, что личные сообщения в вк тоже парсятся и анализируются, и потом на основе этого анализа показывается таргетированная реклама (хотя сам уже несколько раз в этом убеждался). Зря не верят, вот ещё один аргумент в мою пользу :)


      1. QtRoS
        20.09.2017 08:28

        У меня несколько почтовых аккаунтов… Конечно, среди них есть gmail, но в Ютубе такси замечено не было)


    1. axtrace
      20.09.2017 14:45
      +1

      это эвристика, наверняка самые популярные пункты over all. Их и предлагают новичкам


  1. Agel_Nash
    19.09.2017 22:09

    Когда уже добавят возможность смены способа оплаты?

    Один из ярких примеров: сам я стараюсь кататься на такси оплачивая поездки картой. Уже насколько привык к этому, что даже бывает выхожу из дома без кошелька. Недавно у знакомого села зарядка на телефоне и пришлось вызвать ему такси с оплатой налом. На следующий день по привычке вызываю себе такси и сажусь в него без кошелька. Приезжая до адреса назначения выясняется, что оплата наличкой:-) Было, мягко говоря, не очень комфортно оправдываться. Благо, таксист адекватный и я просто пополнил ему баланс телефона.


    1. popov654
      19.09.2017 23:19
      -1

      А почему Вы за знакомого платили не картой, на карте просто не было денег, или там есть правило, что клиент может платить только своей картой, а за него другие платить не могут?


      1. Agel_Nash
        19.09.2017 23:44

        — Если вы не уловили разницу между друг/знакомый, то чтобы ее уловить, спрошу прямо — вы за всех знакомых оплачиваете проезд?

        — Если это тонкий троллинг на тему отсутствия денег на карте, то тогда как бы я на следующий день пополнил баланс телефона? (надеюсь не будете дальше развивать тему, что баланс карты пополнился ночью)

        — Если это попытка блеснуть умом и находчивостью — то я не вижу смысла брать наличку со знакомого, чтобы оплатить за него поездку картой. Если он сам в состоянии за себя оплатить — пусть делает это без посредников в моем лице.

        По сабжу, смена возможности оплаты находясь в поездке это такой же полезный функционал, как и смена пункта назначения.


      1. vorphalack
        19.09.2017 23:45

        deleted.


    1. QDeathNick
      20.09.2017 00:29
      +1

      Сменить способ оплаты до поездки точно можно, а вот после я ещё не проверил.

      Но вот какой глюк обнаружился. Я сегодня вызвал такси, указав оплату картой и свернул приложение сразу после отправки заказа. Через пару минут развернул, а там стоит оплата наличными. Я отказался от поездки, так как не нашёл где поменять способ оплаты.

      Вызвал ещё раз, указав карту и, не сворачивая приложение, смотрел как выбралась машина и тут выскочило окошко:

      Способ оплаты был изменён на наличные. Повторить оплату картой вы сможете по завершении поездки.
      Потом мне удалось сменить способ оплаты назад на карту.

      Вот так же видимо и вчера произошло и мне пришлось платить водителю с qiwi на телефон, так как тоже привык не возить с собой много налички.
      И так же другие оповещения приложения видимо пропадают, если приложение успевает выгрузится, например о смене машины.

      И ещё выяснилось, что теперь есть повышающие коэффициенты, но в отличии от конкурентов, их не афишируют. Просто повышается цена поездки, а во сколько раз, не известно и нигде это не написано.
      Сверху пишется мелким шрифтом поверх карты «Повышенный спрос», но это оповещение у меня появлялось только после выбора конечной точки. Пока Дмитрий не обратил моё внимание, я не видел этой надписи.
      Цена видимо может расти в 2 и более раз, но тоже нигде не написано во сколько и по какому алгоритму. Я в одну сторону ехал за 370, а обратно по тому же маршруту на gett за 128.

      Интересно сделано в uber, можно создать оповещение, о снижении цены, в некоторых случаях это может быть удобно.

      И ещё момент — Яндекс единственный, кто принимает виртуальные карты. Остальные пишут, что карта недействительна и требуют реальный пластик.


      1. Agel_Nash
        20.09.2017 01:08

        Сверху пишется мелким шрифтом поверх карты «Повышенный спрос»

        Прочитав ваш комментарий, поймал себя на мысли, что я все лето прокатался только на яндекс-такси и ни разу не видел заоблачных цен. С сентября же «повышенный спрос» каждый день: утром, в обед и вечером. И я все чаще начинаю пользоваться другими такси с которыми ездил раньше.


  1. gogolinsky
    19.09.2017 23:37
    +1

    Было бы классно дать возможность добавлять машины в избранные и черные списки. Недавно ехал с одним упырем, так он посреди дороги остановился, что б по телефону поговорить. Не хотелось бы с ним больше встречаться. Были и очень приятные водители, их я готов подольше подождать даже


    1. Agel_Nash
      19.09.2017 23:47
      +1

      Для этого существуют оценки. Если поставить от 1 до 3 звезд, то появится сообщение «этот водитель к вам больше не приедет». При этом хорошим водителям не только 5 звезд можно ставить, но и дополнительно отблагодарить чаевыми (опять таки, если оплата картой).


  1. Zakyann
    20.09.2017 00:31

    Голосом вводить пункт назначения не проще ли?


    1. QDeathNick
      20.09.2017 00:35
      +2


      1. Zakyann
        20.09.2017 10:36

        Те же гугл-сервисы вполне прилично распознают голос.


  1. ozonar
    20.09.2017 06:11
    +1

    Подскажите, почему приложение может догадаться, куда мне нужно ехать, но не может запомнить какой у меня подъезд?


  1. JC_IIB
    20.09.2017 10:26

    Мне одному показалась дикой эта слежка за пользователем? Делайте эту фичу отключаемой + открытый пользователю доступ к собранной о нем информации, даже Гугл показывает и позволяет стереть/заблокировать историю перемещений. И не говорите про "обезличенность", все привязано к конкретному человеку, конкретной кредитке, конкретному MSISDN, и еще бог знает чему, что там собирается из телефона без ведома пользователя.


    1. Agel_Nash
      20.09.2017 10:45

      Даже добавление этой галочки ничего не решит. Где гарантия, что данные действительно удаляются, а не перемещаются в архив к которому нет доступа у пользователя?


      1. JC_IIB
        20.09.2017 16:53

        Ну хотя бы это спасет от того случая, когда телефон попал не в те руки, и по этим логам-подсказкам можно вычислить точки перемещения его владельца.
        А так — очень удобно для определенных целей, да. Человек сам помогает за собой шпионить.


  1. 2PAE
    20.09.2017 12:58
    +1

    Научите приложение вызывать водителей с детским креслом.