антифрод сити мобил что такое
Как отменить заказ в Ситимобил без потери мотивации
Последнее время водители стали часто интересоваться, как отменить заказ в Ситимобил без потери мотивации. И их можно понять, говна раздает агрегатор бесконечное множество.. Правила агрегатора все больше ужесточаются, а сам Ситимобил (ныне СитиСтарт, сокращенно СС, ГЫ)), Дебилы. ), чем дальше, тем больше начинает походить на «старшего корявого сородича» Яндекса, при этом заимствует у Яши почему-то не все хорошее, а один какой-то, откровенный шлак. Подход к расчету мотивации (активности в Яндекс ) в обоих агрегаторах +- одинаковый и балльность за отмены до тошноты похожа. Но это все вода, опытные водители это и так знают.
Отвечая на вопрос, как отменить заказ в Ситимобил без потери мотивации, скажем так.
На сегодняшний день сделать это достаточно сложно, практически никак. Только пользуясь стандартным способом приехать подождать 8 минут и отменить, сделав прозвон со сбросом ( достаточно одного гудка) пассу или написав любую бурду в чат с пассом (достаточно одного знака, лучше трех)) ).
Поэтому, можно попробовать, при приезде на конечный адрес не сразу закрывать заказ а посидеть «поцедить» заказы по цепочке и взяв удобный закрыть текущий.
У этого метода есть два недостатка.
И звони потом, объясняй, что сервисом пользуются еб@наты через одного, что вы на заказ ехали и тд, а дальше на волю агрегатора, хотят вернут, хотят нет.
Все вышеизложенное ни при каком раскладе не претендуют на истину и не является руководством к действию, а всего лишь личный опыт автора и соответсвенно его личный взгляд на проблему.
Материал носит, исключительно развлекательный характер..
Если у вас есть другие соображения и мысли, милости просим в комментарии.
Как мы фрод из избы выносили
Меня зовут Никита, я backend-разработчик из команды антифрода в Ситимобил. Сегодня я поделюсь с вами историей о том, как мы выносили наш сервис из монолита в отдельный сервис, как вообще пришли к этому решению и с какими проблемами столкнулись.
Для начала немного расскажу о нашем сервисе.
Антифрод 101
Наш антифрод — это набор правил для выявления заказов, содержащих признаки мошенничества, фродовые паттерны.
Водители, которые пользуются сервисами агрегаторов такси, имеют возможность получить бонусы за короткие поездки, на чём водители-мошенники пытаются нечестно заработать. Например, мы видим у одного водителя n заказов подряд с одним и тем же клиентом. Чем они там занимались, нам не ясно, но с большой уверенностью можно заявить, что это фрод и аннулировать эти заказы.
Клиентам начисляются бонусы в случае приглашения ими новых клиентов в приложение. Клиенты-фродеры регистрируют несколько новых клиентов на своем девайсе, за что могут потерять все начисленные бонусы.
Чтобы проверить водителя на мошенничество, мы запускаем все проверки и в результате получаем события, каждое из которых говорит о наличии искомого паттерна в поданных на вход заказах.
Проверки можно разделить на несколько типов:
Для настройки правил есть web-интерфейс — «админка». И для визуального контроля за сработавшими правилами мы создали web-страницу с разными отчетами с большим набором фильтров.
Добавление новой проверки происходит следующим образом: описали фродовый паттерн, закодировали его в сервисе, запустили новое правило в тестовом режиме, и наблюдаем. При необходимости корректируем правило и включаем.
Проблемы прежней архитектуры
Раньше компания-партнер могла получить деньги только при проверке всех своих водителей на фрод.
Антифрод работал внутри PHP на одном потоке. Не масштабировался без костылей, в пиковые часы возникали очереди на проверку. Сами проверки никак не распараллеливались, и добавление каждого нового правила неизбежно увеличивало время обработки.
Старый антифрод «перерос» свою модель БД, работать с базой стало невозможно: периодически клали базу при работе, что в условиях монолитной архитектуры приводило не только к проблемам антифрода, но и всего бизнеса в целом.
Отчёты строились медленно. Чтобы посмотреть, казалось бы, простые вещи руками в базе, иногда приходилось JOIN-ить по пять и более таблиц, не говоря уже о более сложных вещах.
Бизнес рос, и эти проблемы требовали скорого решения. Также хотелось проверять водителей на фрод «на лету» (после каждой поездки).
Какие у нас были варианты:
Выбор пал на уход антифрода в отдельный сервис. В качестве основного инструмента распараллеливания был выбран Golang, по которому в компании есть хорошая экспертиза.
Решено было переезжать в два этапа.
Первый этап: перенос на новый язык
Остались на старой модели данных (да, скрипит, но пока работает). Стали делать сервис с нуля, за пару месяцев перенесли основной функционал и большинство проверок. Добились полной работоспособности сервиса.
Теперь каждая проверка по одному заказу может запускаться параллельно, что значительно уменьшает время обработки.
Сравнительные характеристики по скорости обработки: ранее на анализ всех водителей уходило 6 часов, теперь 25 минут.
Второй этап: выбор модели хранения
Для текущей работы нужна была как OLTP-подобная база данных для анализа на фрод, так и OLAP-база для построения отчетов. Текущая схема данных не поддерживала сценарии антифрода, от слова «никак».
Мы выбрали Elastic. Он легко масштабируется, в нём «из коробки» есть индексы по любому полю, что позволяет настраивать фильтры в отчетах как душе угодно. Денормализовали модель, чтобы не приходилось делать JOIN’ы между индексами Elastic’а.
Если вы тоже решили выбрать Elastic в качестве базы данных, то будьте бдительны. При настройках по умолчанию Elastic под нагрузкой может начинать отдавать частичный результат поиска. Например запрос стаймаутится на нескольких шардах при этом код ответа будет 2xx. Если вас не устраивает такое поведение и вам лучше получить ошибку поиска (например, чтобы потом заретраить), то вы можете отрегулировать это поведение через параметр allow_partial_search_results.
Текущая схема работы антифрода
Напомню, что основная логика, связанная с поездками, живет в монолите, а вся информация по заказам всё еще лежит в MySQL. При завершении поездки монолит переносит заказ из таблицы активных заказов в таблицу закрытых и отправляет сообщение в наш сервис через RabbitMQ, чтобы мы проверили конкретный заказ.
Получая сообщение из RabbitMQ, можно было бы сразу порождать горутину для обработки сообщения и переходить к получению следующего сообщения, но при таком подходе никак не контролируется количество горутин. Поэтому в сервисе количество обработчиков регулируется динамически с помощью пула воркеров.
Приступая к обработке сообщения, сервис антифрода идет на слейв MySQL, считывает все нужные нам данные по заказу из разных таблиц, записывает их к себе в Elastic, а потом посылает сам себе сообщение проверить этот же заказ. При проверке захватывает распределенный lock на Redise, чтобы предотвратить параллельную обработку объекта при особо интенсивных запросах, например, при частом обновлении водителя или клиента. В случае нахождения фрода сервис отправляет сообщение об этом монолиту.
При построении отчетов в админке сервис вызывается через REST API.
Всё это позволяет оказывать на монолит минимальное влияние.
Теперь подробнее
Читатель мог заметить парочку проблем:
Начнем с решения второй проблемы.
Наш RabbitMQ внутри состоит не просто из двух очередей (входящей и исходящей), но еще и третьей — очереди повторных попыток (retry).
У этой очереди есть producer, но нет consumer’а. На ней настроена политика dead-letter: по истечении своего TTL сообщение попадает обратно во входящую очередь, и мы обработаем это сообщение.
Иными словами, если мы получили сообщение на проверку заказа, но на слейве этого заказа еще нет, то мы просто будем помещать это сообщение каждый раз в retry-очередь, пока заказ не появится. С помощью этого подхода можно ретраить временные ошибки, а при превышении количества попыток на обработку этого сообщения отбрасывать его с записью об ошибке в лог.
А теперь вернемся к первой проблеме.
Самый быстрый и самый плохой вариант — делать refresh индекса при любой операции записи. Разработчики Elasticsearch советуют быть крайне осторожными с таким подходом, это может привести к снижению производительности.
Есть другой вариант: сразу передавать в сообщении всю информацию о заказе, а не считывать его со слейва. Но тогда размер сообщения вырастет на несколько порядков, что увеличит нагрузку на наш кролик, а мы его стараемся беречь. К тому же структура считываемых данных меняется достаточно часто, и изменения модели как в монолите, так и в сервисе хотелось бы избежать.
Может быть, проверять заказ сразу, как только прочитали его со слейва? Можно, только вот большинство наших проверок всё-таки делают вывод на основе нескольких заказов, то есть в базу лезть всё равно придется за остальными заказами. Зачем усложнять логику, если можно воспользоваться тем же механизмом retry-очереди?
Выставляя TTL сообщений в retry-очереди больше интервала обновления индекса Elastic, мы забудем о первой проблеме раз и навсегда.
Подробнее про механизм dead-letter можете почитать например тут.
Немного про наши тесты
Ошибки в логике правил антифрода совершать опасно: это может привести к массовым денежным списаниям. Именно для этого мы стремимся к 100% покрытию важных участков кода. Для этого мы используем библиотеку testify, mock’ая внешние зависимости и проверяя правила на работоспособность. Также у нас есть функциональные тесты, проверяющие основной флоу обработки и проверки заказа.
Вместо выводов
Переписав весь антифрод, на выходе мы обеспечили себе уверенность в нашем сервисе при дальнейшем росте бизнеса в течение следующих нескольких лет. Решили важную бизнес-задачу, благодаря которой честный водитель уверен в получении своих честных денег сразу после выполненной поездки.
Безусловно, некоторые задачи, которые выполняет наш сервис, остались за занавесом NDA. А некоторые задачи просто не влезли бы в одну статью.
Быть может, в следующий раз я вернусь с рассказом о том, как мы анализируем на фрод действия пользователей, где нагрузки на порядки выше.
Как водитель может обмануть Ситимобил
Стремясь увеличить свой заработок или получить другие преимущества, водители не всегда прибегают к честным методам. Некоторые из них ищут пути обмана сервиса с целью получения приоритета или выгодных заказов. Мы расскажем, как обмануть Ситимобил и стоит ли идти на такой риск.
Возможно ли обмануть сервис
Агрегатор предлагает всем равные условия сотрудничества и возможности заработка за счет активной работы.
Но не все таксисты готовы добросовестно выполнять требования и обманывают сервис, преследуя разные цели:
Для достижения этих целей таксисты изобретают разные уловки, а иногда и пользуются мошенническими программами.
Способы обмана
В попытках обмануть службу такси Ситимобил могут использоваться следующие приемы:
Мошеннические программы
В сети интернет также предлагается купить специальные программы, «помогающие» водителям обмануть Ситимобил. Функционал зависит от возможностей конкретного приложения. Среди возможных вариантов:
Редакция нашего сайта настоятельно советует не покупать данные приложения и не устанавливать бесплатный софт из неизвестных источников. Присутствует огромный риск остаться после оплаты без желаемого приложения, получить неработающую версию или установить программу, ворующую личные сведения владельца смартфона (логины, пароли, платежные реквизиты и пр.).
Что грозит водителю в случае мошенничества
В зависимости от вида нарушения и сопряженных с ним убытков для Ситимобил водителю могут грозить разные меры наказания.
Кроме того, недобросовестного водителя ждет временная или постоянная блокировка аккаунта в приложении для работы. Решение о постоянной блокировке означает окончательное лишение права продолжать работу в данной службе такси.
Существуют временные и постоянные блокировки, которые зависят от количества нарушений и их деталей. Под блокировку могут попасть как водители, так и автомобили.
Заключение
Мы советуем водителям работать добросовестно, увеличивая свой рейтинг и достигая статуса Gold (нужно 70 поездок в неделю и средний рейтинг 4,9). В этом случае есть возможность получить приоритет при распределении самых выгодных заказов и снижение комиссии сервису до 14%. При этом доход увеличивается, а эффективность работы возрастает.
Водители-мошенники: как таксопарку обезопасить себя от фрода
С проблемой фрода встречается каждая компания, работающая с электронными платежами, и таксопарки не исключение. Мы подсчитали и ужаснулись: у 61% опрошенных нами парков были случаи фрода. Из них за полгода 53% таксопарков потеряли до 10 000 рублей, 32% — 10 000 – 50 000 рублей, 13% — более 50 000 рублей.
Водитель, который фродит, пытается обмануть агрегатор и таксопарк. Чаще всего он старается действовать удаленно, чтобы не привлекать к себе внимание: находит документы какого-нибудь коллеги, фотографии машины и через авторегистрацию подключается к таксопарку, а затем атакует выбранный им агрегатор, который после успешного вывода средств водителем-мошенником наказывает таксопарк.
Сегодня мы расскажем об основных методах мошенничества, на которых агрегаторы и таксопарки теряют деньги, и научим вас, как бороться с недобросовестными сотрудниками.
Водитель совершает поездку, но сразу ее завершает. Агрегатор видит, что поездка очень короткая и пытается компенсировать ее водителю, начисляя ему бонусы. Если водитель не знает меры и занимается этим постоянно, агрегатор рано или поздно понимает, что никакого клиента в машине не было, поездки были фальшивыми, и пытается забрать у водителя начисленные бонусы. Если водитель успевает вывести эти бонусы раньше, то агрегатор, которому тоже не хочется оставаться в минусе, списывает эти деньги с таксопарка. Тот терпит убытки.
Так как все заказы проходят через приложения агрегаторов, где распознать клиента можно только с помощью номера телефона, водителю достаточно обзавестись несколькими новыми номерами, чтобы никогда не иметь дела с реальными пассажирами, а набивать себе фродовые поездки самостоятельно.
Если вы хотя бы раз получали промокод, то знаете, что использовать его, как правило, можно только один раз. Причем «подарочная» сумма не дробится: если пассажир решил скататься на работу за 150 рублей, а промокод получил на 300 рублей, обратно ему придется ехать или на общественном транспорте, или самостоятельно разориться на такси.
Пассажир не может докатать промокод, но это может сделать водитель. Ему достаточно попросить разрешения у клиента использовать промокод полностью или просто не закрывать поездку. Как правило, пассажиры водителю не отказывают: промокод не ощущается реальными деньгами, а потому с остатками его так просто расстаться.
Таксопарк от полного использования промокода никак не страдает: он получает деньги за полную поездку, но проводить работу с водителями и объяснять им, что так делать не нужно, стоит все равно.
Если водители работают с агрегатором по договору оферты, в котором прописывается, что стоимость поездки — это рекомендуемая, а не окончательная цена, то они имеют право отказаться от заказа, если им не хочется везти бабушку за хлебом. «Подключенцу» достаточно отменить заказ и спокойно дожидаться нового. На практике это делают далеко не все.
Водитель отменяет заказ, но по указанному адресу пассажира отвозит, а затем объявляет ему собственную стоимость поездки. Вопрос «почему так» отметается ссылкой на описанный выше договор оферты. Клиент решает, что 100 рублей сверху — это не так уж страшно, и все остаются довольны, кроме агрегатора и таксопарка, которым водитель в этом случае не выплачивает комиссию.
Водитель-мошенник старается быть очень аккуратным. Он регистрируется в таксопарке удаленно и совершает одну реальную поездку, чтобы проверить, какими системами выплат пользуется таксопарк. Если водитель понимает, что деньги к нему поступают, как только он завершает поездку, то есть таксопарк использует мгновенные выплаты, он начинает действовать.
Водитель совершает фродовые поездки и сразу старается вывести полученные деньги. Он не выжидает момент, а пытается обмануть сразу, играет на скорости, чтобы после быстро перебежать к другому таксопарку и начать свою операцию там.
Временный запрет мгновенных выплат
Так как водители-фроды сразу стараются вывести полученные деньги, самым мощным способом защиты от них остается временная проверка, то есть запрет для «новичка» мгновенных выплат на некоторое время. В брендированном приложении от Jump Taxi прошедший авторегистрацию водитель сразу же попадает в группу, которой запрещены мгновенные выплаты. Как только становится понятно, что водитель добросовестный, его исключают из этой группы, и он снова сможет радоваться мгновенному поступлению денег к себе в кошелек.
Работа с персоналом
Короткие обучающие встречи с водителями, конечно, не спасут таксопарк от фрода, но повысят доверие сотрудников, и в следующий раз они несколько раз подумают, стоит воровать у таксопарка или нет.
Полно сценариев, которые нельзя считать полноценным фродом, но которые тем не менее наносят ущерб имиджу таксопарка. Представим, что водитель договаривается с пассажиром, чтобы закрыть поездку раньше, а остаток забрать себе. Огромных потерь с этой схемы таксопарк не несет: если он получает 5% комиссии с «подключенца», а заказ выйдет не на 350 рублей, а на 300 рублей, то таксопарк получит 15 рублей вместо 17,5 рубля. Разница не такая страшная, но показывает отношение водителя к таксопарку.
Помимо временного запрета мгновенных выплат, таксопарки могут использовать специальные системы антифрода.
Каждый водитель в брендированном приложении Jump Taxi принадлежит только к одной группе. Они могут быть самыми разнообразными, например, «Новички», «Проверенные ребята», «Старожилы», «Трудяги» и прочее.
В целях безопасности таксопарк настраивает для каждой группы специальные критерии, по которым система определяет подозрительные поездки и отправляет их на ручную проверку сотрудникам таксопарка. «Новичкам» на первых порах стоит ограничить мгновенный вывод средств, а также установить для них более строгие критерии проверки на фрод. А вот «Старожилам» и «Трудягам» можно позволить небольшие поблажки.
Критерии проверки:
Пытаясь обмануть таксопарк на чаевых, водитель не будет стесняться, он сразу пропишет себе 1500 рублей за хороший сервис, но вы же понимаете: на самом деле такие чаевые никто не оставляет, а если и оставляет, то это скорее исключение из правила? Таксопарку достаточно установить нужное значение, например, «сумма чаевых более 1000 рублей», чтобы очередной водитель-фрод, получивший в награду за свои услуги огромные чаевые, отправился на проверку.
То же самое с платной парковкой. Если водитель пытается обмануть таксопарк, используя замену GPS-координат, и притворяется, что дожидается клиента на платной стоянке, таксопарку достаточно указать в приложении стоимость, после которой он начинает сомневаться, что водитель его не дурит, например, «стоимость парковки более 1000 рублей». Если водитель преодолевает эту сумму, это повод поговорить с ним и выяснить, была стоянка настоящей или его автомобиль и близко платной парковки не видел.
Пока справиться с обманом на бонусах возможно только полным их отключением, но это наносит огромный ущерб честным водителям и доставляет таксопарку массу неудобств. Комфортного варианта борьбы с этой схемой фрода, к сожалению, пока не существует, но слишком короткие поездки должны настораживать таксопарк.
Настройка условий проверки поездок на фрод выглядит так:
Как разблокировать профиль водителя Ситимобил? Временные и постоянные блокировки.
Компания Ситимобил вынуждена противостоять такому крупному конкуренту, как Яндекс.Такси и заботиться о качестве предоставляемых услуг. Очень важно, чтобы все сотрудники работали по установленным стандартам. Для этого и была введена система выявления нарушений со стороны водителей и блокировка профилей.
Под блокировку могут попасть как водители, так и автомобили. Ограничения могут быть двух типов – временные и постоянные. В данной статье мы расскажем, по каким причинам ограничивается доступ и как разблокировать профиль в Ситимобил.
Причины блокировки и ограничения доступа
Если в приложении Ситимобил появляется сообщение о том, что автомобиль или устройство заблокировано, нужно разобраться в причинах ограничений.
К основным причинам относят:
Любые систематические нарушения стандартов водителем способны привести к тому, что ему будет ограничен доступ к заказам в Ситимобил. Если они грубые и таксист ничего не предпринимает для устранения проблем, на которые ему регулярно указывают, его могут заблокировать навсегда.
Как снять блокировку?
Что касается временных ограничений, они снимаются по истечении некоторого времени при условии, что водитель принимает необходимые меры:
Если вас заблокировали, советуем начать сотрудничество с сгрегатором Яндекс Такси. Узнайте подробности и заполните онлайн-заявку на официальном сайте https://taxi.yandex.ru/rabota/
В случае постоянного ограничения доступа разблокировать профиль Ситимобил не удастся ни под каким предлогом. Некоторые водители пытаются найти обходные пути для снятия блокировки. В сети много информации на эту тему, но не стоит тратить на нее время. На форумах предлагается различный софт, но он не работает в 100% случаев. А на Авито есть объявления предприимчивых людей, обещающих за определенную плату убрать блок, и это тоже результата не принесет. Не стоит тратить время и деньги, пытаясь найти схемы обхода блокировки в приложении.
Агрегатор такси Ситимобил всегда уведомляет водителей о блокировке устройства посредством сообщения в мобильном приложении! Узнать конкретную причину применения ограничений и возможность их отмены можно в своем таксопарке или через службу поддержки.
Как избежать блокировки?
Самый верный способ заключается в соблюдении требований компании. Полный список очень длинный, но мы сформировали для вас основные правила:
Соблюдая перечисленные выше правила водитель обеспечит себе хороший рейтинг.
Чем дороже тариф, тем выше применяемые требования. Если в Экономе все достаточно просто и интуитивно понятно, то для работы по тарифному плану Бизнес необходимо будет отдельно изучить дополнительные пункты правил и строго их придерживаться.
Заключение
Блокировка лишает водителя возможности работать в течение определенного срока, пока он не устранит все выявленные проблемы. Самых злостных нарушителей, которые постоянно пренебрегают правилами агрегатора, блокируют навсегда без возможности возврата к работе.
В любом случае, выяснить причины и разобраться, как снять блокировку в Ситимобил можно у специалистов техподдержки или сотрудников таксопарка. Они дадут четкие инструкции и рекомендации по устранению выявленных проблем, чтобы быстрее вернуть водителя к работе.









