Ответ на пост «Яндекс Go taxi»1
1. Проблема плоского алгоритма оценки
@Yandex.Go Я давно заметил одну простую и неприятную вещь: в системе оценок водителя важнее не то, как ты работаешь на длинной дистанции, а то, как алгоритм обработает отдельную случайную оценку. И в этом, на мой взгляд, есть проблема.
Руководители Яндекс, любят говорить о качестве сервиса как о величине, которую можно объективно измерить (рейтинг, время подачи и так далее). Сегодня о рейтинге, по своей сути он должен агрегировать множество пользовательских оценок, сглаживать случайные отклонения и в итоге давать представление о том, как водитель работает на дистанции. Однако на практике ситуация совсем иная, водитель получает систему, в которой единичная субъективная оценка способна заметно повлиять на общую оценку, даже если она полностью противоречит всей предшествующей статистике.
Любой рейтинг, это не просто набор звезд. Это модель. А у любой модели есть требование, она должна отделять закономерность от шума. Если у водителя на протяжении длительного периода доминируют высокие оценки, если его регулярно отмечают за вежливость, аккуратное вождение, чистоту салона и общий комфорт поездки, (при этом оставляя еще и чаевые) то такая картина формирует устойчивый статистический профиль водителя или повторяемый результат на длинной дистанции. Низкая единичная оценка внутри такого профиля не обязана автоматически считаться ложной. Но она обязана рассматриваться как явление аномальное, требующее более тщательной проверки или даже исключения. Если же система трактует такую оценку почти линейно, как равноправный элемент общей выборки, не учитывая ее выделяющийся характер, она перестает быть аналитическим инструментом и превращается в механическую сумму. Это уже не оценка качества, а просто арифметическое накопление пользовательских реакций, среди которых объективные сигналы и случайный шум смешаны в одну массу.
В любой системе массовой обратной связи неизбежно присутствует шум. Под шумом в данном случае следует понимать оценки, которые не отражают реальное качество услуги либо отражают его искаженно, например подача машины с опозданием, в следствие чего опоздание на встречу или просто плохое настроение, а может просто раздражен ценой поездки. Если алгоритм не умеет их распознавать, они считаются на ровне с другими имея тот же вес. И в этом состоит фундаментальный дефект рейтинговой системы Яндекса: она предполагает, что каждая оценка одинаково надежна, хотя в реальности надежность отдельных оценок различна. При этом насколько можно понять по источникам в интернете еще и используется модель "временно-взвешенная модель" - где недавние оценки приоритетные и имеют больший вес (данная модель на мой субъективный взгляд отличная, но не в исполнении Яндекса). Так как корректная модель должна учитывать не только сам факт низкой оценки, но и ее место в структуре всей выборки. Если длительное время преобладают высокие оценки, а затем появляется единичная "негативная", то в статистическом смысле значительно более вероятно, что мы наблюдаем некоторое отклонение, чем то, что качество сервиса внезапно и резко изменилось ровно в одной поездке, а затем снова вернулось к норме. Само существование накопительного рейтинга предполагает, что система ценит длинную дистанцию, а приоритет последних оценок позволяет быстро реагировать на ухудшение сервиса, но конкретно в реализации Яндекса, модель не обеспечивает достаточной проверки достоверности этих свежих данных, что делает водителя уязвимым (но работает ли система правильно как описано в интернете я не уверен, мне кажется линейно, просто среднее арифметическое).
Отдельно стоит проблема самой структуры оценки. Недовольства имеют разную природу и разную значимость. Жалоба на опасное вождение - это одно (на мой взгляд наиболее важный критерий в оценки сервиса). Жалоба на грубость - другое. Жалоба на музыку или салон - третье. И в моем восприятии, это принципиально разные категории, и в случае с первыми двумя, возможно стоит подключать специалистов для проверки, а не оставлять на откуп алгоритмам? Опасное вождение, агрессия, это существенные основания. Субъективное недовольство уровнем общения, отсутствием разговора, не понравилась машина, музыка или иные предпочтения - это уже область вкуса и восприятия. При такой модели водитель становится заложником не стандарта Яндекса, а эмоционального комфорта/настроения конкретного пассажира. При этом, эмоциональная удовлетворенность не всегда является показателем нарушения соблюдения стандартов сервиса, со стороны водителя.
2. Психология водителя: почему несправедливый рейтинг демотивирует сильнее
Водитель, который сознательно старается держать стандарт, обычно выстраивает поведение вокруг предсказуемости, избегает лишних конфликтов, контролирует манеру вождения, следит за чистотой, старается не раздражать пассажира лишним разговором, но и не быть холодным, подстраивается под ситуацию, по сути постоянно в режиме самоконтроля. Мысль простая, если я системно, соблюдаю стандарты, система это учитывает и защищает мою репутацию. По факту, нет. Возникает не просто раздражение, а потеря мотивации. Водитель начинает понимать, что его дисциплина не гарантирует защищенности. Он может делать все правильно, но оставаться уязвимым.
3. Отказ разбираться и смотреть доказательства.
Наверное у подавляющего числа водителей, есть регистратор, большинство случаев, можно достаточно легко либо подтвердить, либо опровергнуть. При общение в поддержку, эти материалы не рассматриваются.
4. Более справедливая модель
Прежде всего, низкая оценка не должна иметь одинаковый вес. Если она единична и резко выбивается, ее вес должен быть ниже до завершения дополнительной проверки или до получения серии негативных оценок, то есть система должна учитывать повторяемость. Не одна жалоба должна формировать вывод, а повторяющийся паттерн жалоб.
Причины недовольства должны быть разделены по значимости. Жалобы, относящиеся к безопасности, дисциплине исполнения заказа и прямым нарушениям, не могут механически приравниваться к жалобам на вкусовые или субъективные предпочтения. А если причина жалобы технически проверяема, должна использоваться телеметрия (которую Яндекс записывает - правда не всегда корректно). Если это жалоба на опасную езду, система обязана анализировать данные поездки, а не ограничиваться фактом нажатия кнопки.
При явных противоречиях, должна запускаться ручная, а не шаблонная проверка. Хорошая система оценки должна быть чувствительна к устойчивым проблемам и нечувствительна к случайным отклонениям и различать, где действительно есть проблема, а где перед ней статистический мусор.
Мой пример:
Просто мой личный пример, тут еще забавно, что тройку поставили ровно на следующий день после того, как пришло сообщение с благодарностью за соблюдение правил сервиса и дополнительным приоритетом на неделю (после тайного пассажира). Но, в целом, как можно заметить, большинство пассажиров очень даже приятные люди. Что не понравилось? Сначала поддержка сказала "Был не вежлив" потом "Опасное вождение", думаю стоит в снегопады добавить не довез до подъезда (в тот день пару раз машины стояли застрявшие во дворе, один раз вместо дороги, просто сугроб был).














