Комментарии 49
Спасибо за статью. Жаль только, что в табличке нет информации по фроду в самом Краснодаре. А как дела у вас обстоят с маленькими станицами и т.п.? Как-то агрегируете их или рассматриваете отдельно (или делаете что-то совсем другое)?

Спасибо за отзыв! Если мы присутствуем в населенном пункте — система антифрода в нем действует. Алгоритмы для всех городов у нас одинаковые, но в исключительных случаях приходится вносить коррективы. Правда, это больше касается городов-миллионников, нежели небольших населённых пунктов.

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

Этр и есть самое интересное, а sql запрос по этим параметрам написать уже дело техники. К сожалению, эту часть вниманием обошли.

Согласен, стоило уделить время данному вопросу. Расскажу вот на этом примере:


Водители, которые покупают безлимитный тариф и по одному аккаунту работают вдвоём-втроём.

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


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

А зачем вообще ловить этот случай?
Я конечно далёк от темы, но мне самым логичным решением кажется изменить сам безлимитный тариф.
Написать под звёздочкой не более N часов в сутки. Тем более это имеет смысл, чтобы водитель не переутомился.
То есть вы работаете еще с тех пор, когда про мобильные приложения никто не слышал, а вопросами антифрода озаботились только в 2020 году? И то, все равно система завязана на людях и работает с довольно большой погрешностью?
Вопросами антифрода озаботились только в 2020 году

Вопросами автоматизации поиска — да. К сожалению, на это были причины.


И то, все равно система завязана на людях и работает с довольно большой погрешностью?

Мы вполне довольны тем, как на данном этапе выглядит система. Но работы впереди еще много.

А считается фродом когда водитель нажимает кнопку «я на месте» (чтобы подобрать пассажира), а сам ещё в двух кварталах о тебя? Насколько я понимаю, в расчёте на оплату ожидания. Тут убытки у компании косвенные — мне меньше хочется пользоваться услугами таких водителей.

Нет, это не фрод, это хамская работа водителя. В данном случае лучший способ борьбы — это жалобы в поддержку.

Написал я как-то жалобу в поддержку на водителя остановившегося поперек тротуара при наличии тут же нормального парковочного места и не желавшего переставлять авто, с фотками его парковки и прочим. Так и не дождался ответа. Правда это была компания начинающаяся «Сити» и заканчивающаяся на «мобил», но дела никому нет, пока речь не идёт о деньгах.
Фотка героя
image
Но вы же сами предоставляете водителю возможность жать эту кнопку заранее.
У вас есть исторические данные и данные позиционирования. Я думаю, можно настроить антифрод, заложив пределы погрешности позиционирования и маркировать таких недобросовестных водителей.
У самого часто так бывает, стою на перекрестке, водитель стоит на красном сигнале светафора и якобы уже ожидает меня, потом только через минуту+ подъезжает на точку.
Лет 5 назад работал в такси порядка 7 месяцев и главный вопрос, который был у меня это как компания защищает водителя от действий клиентов (вызовы нескольких машин, невыходы) и операторов (когда вас просят приехать за 70 км в деревню за «постоянным клиентом», а там никого, оказалось 2 поездки = постоянный). Ну и клиентов от действий водителей (обсчитывают по «допам»), корректируют сумму поездки и т.п.

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

на практике операторам и менеджерам плевать, т.к. в их понимании это потери только водителя (т.е. если водитель зажал 10 рублей комиссии то это компания потеряла, а если водитель приехал на заказ и его кинули, то компания теряет те же деньги, но из-за клиента, поэтому не страшно). Как итог водители обсчитывают компанию (как только понял что будет межгород — тут же сброс поездки), а некоторые ещё и клиентов. Фактически замкнутый круг который разорвать может только компания (в глобальном понимании), но вот менеджеры на местах не хотят.

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

теоретически да, практически такие менеджеры повсеместно, особенно в небольших города. В их понимание работаешь в такси = таксист по жизни, т.е. быдло, подрезаешь на дороге, хамишь и обсчитываешь клиентов. У каждого менеджеры своя трактовка даже на техническое состояние машины, не говоря уже о том, что клиент не вышел.
А как у вас дела обстоят с подменой местоположения? Сейчас даже не самые продвинутые владельцы смартфонов на андроиде легко освоили базовые принципы — ловля покемонов тоже помогла в самообразованиии некоторых индивидуумов.

Включенную mock location можно отследить. Если только не кастомная прошивка

Андроидный Mock Location фильтруется элементарно на уровне приложения.
Во только есть люди кто задают вопросы вида qna.habr.com/q/241909
и получают в том числе ответы. будет даже NMEA поток фальшивый.
А кто-то и в приват спрашивает и денег даже иногда предлагают (а когда спросишь зачем — честно признаются что в их отношении дискриминация аэропортом а для ее избежания — такси должно ждать прямо на ВПП а то заказов вкусных не будет).

Думаю, если водитель сильно заморочится, то он может нас обмануть кривым gps-трекингом. Но вот стоит ли оно того?

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

Но технически грамотные люди могут предоставлять сервис для задерживающихся в такси за отдельную (но меньше комиссии) плату

Интересно, насколько в финансовом плане оправдывает себя разработка таких систем?
Т.е. если за несколько месяцев система принесла 500К в компанию, а компания потратила на разработку этой системы (для примера) 700К (3 месяца, 3 человека по, скажем, 80К зарплаты в месяц каждому)?

Тут два момента.


  1. Мы не можем посчитать точно сколько система принесла денег. 500к — это лишь один паттерн за короткий срок. А как посчитать точно, сколько мы сэкономили денег на том, что сейчас практически не случается воровства доплат и "нулевых комиссий"? Я обращал на это внимание:


    мы не хотим ловить больше, мы хотим, чтобы ловить было нечего.

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


Эксельки и прочие спрэдшиты, имхо, — самый ужасный интерфейс, как для пользователя (большая вероятность ошибок, ничего не подставляется, легко всё сломать несмотря на защиту), так и для разработчика (всё то же самое + не очень просто достать данные, нужно прикручивать свою верификацию, никакой multiuser и т. п.).


Не планируете сделать более прогрессивную морду?

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

Вроде бы для такой задачи несложно соорудить что-то на knockout.js или вообще взять стандартную админку в Django, нет?

Не, это понятно.


Не помню для Jupyter решений для ввода данных пользователем (чтоб ничего не сломали).

Мультик «В стране невыученных уроков» смотрели все.

Правильно писать с использованием тире или двоеточия:
«Казнить нельзя: помиловать.»=«Казнить нельзя, потому что надо помиловать.»
«Казнить нельзя — помиловать.»=«Казнить нельзя, а надо бы помиловать.»

Зависит же от контекста. В каких-то случаях больше подойдет запятая. Например:


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

Чиновник сидит где-то далеко в кабинете и крутит циферками в модели. Циферки выдают подчинённые подразделения. Чем более формализовано взаимодействие с ними вне потока циферок, тем приятнее чиновнику. Честные попытки улучшить модель (написать комментарии, например) отвергаются. В результате на местах приходится по своему разумению сопрягать действительность с фантазиями. Например, «почему-то» не применяя санкций к водителям. Издалека может быть не видно, что в каком-то месте разница в сто рублей в день приведёт к тому, что нормальные водители уплывут, а на их место придётся набрать полных прохиндеев (некоторых из которых, вероятно, местный директор знает в лицо), и всё предприятие с бульканьем погрузится в жижу спустя какое-то время — но на это обработчикам циферок будет глубоко пофиг, поскольку их это не коснётся (пример взят из головы, все совпадения случайны).

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

Мы втроём занимаемся антифродом. Наша задача — сводить к нулю мошеннические действия.


Сервис заказа поездок — это не только антифрод. Я думал, это очевидно. Видимо, вы этого не понимаете, раз свели нашу систему борьбы с мошенниками к действию всего огромного сервиса.

Конечно. Но вся риторика очищения наших рядов от троцкистско-бухаринской фашистской сволочи… то есть «борьбы с мошенниками» такова, как будто ваша служба уже объемлет весь мир, и вы лично на краю ущелья сражаетесь с Дьяволом, чтобы под корень извести обман. Отсюда и цель «чтобы ловить больше было нечего», недостижимая без выведения новой породы людей (чувствуется, что системе не хватает для эффективной работы возможности поражения в правах или каких-нибудь генетических манипуляций). Всё очень показательно.

Не вы первые, не вы последние: когда-то Французская Республика для абстракции сбора податей от местных различий ввела, в числе прочего, метрическую систему мер, а теперь весь мир пользуется. См. «Благими намерениями государства» (англ. Seeing Like a State) Джеймса Скотта.
Вы проверяли свои результаты способом «тайный покупатель», возможно это даст более точные знания релевантности результатов? Например окажется, что ваша система не учитывает неизвестные вам способы фрода, или что вам добавятся новые условия в подозрении на фрод.

В этом нет особого смысла. Региональные менеджеры и директора городов знают свою сферу деятельности на 100%. Ваше предложение было бы прекрасным решением для нового игрока на рынке такси.

Почему вы просто модель не сделали? Какой-нибудь бустинг максимизировал бы ваши показатели на текущих фичах и разметке данных.

Этим мы занимаемся сейчас. А на то время приоритетнее были другие элементы системы.

А с фродом от при расчете вознаграждения водителя что-то делаете?)

Таксист рассказывал что перепроверяет расчет стоимости каждой поездки, постоянно находит ошибки, пишет о них в поддержку. Результат — уже, в качестве извинений от сервиса, больше года возможности ездить без комиссии накопилось))
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.