Задание #1
Анализ первых платежей
Около 40% наших транзакций являются безналичными, то есть мы взимаем плату с клиентов и выплачиваем большую часть платы водителю каждую неделю (удерживая наши 15-25% комиссии).
Мы всегда платим водителю и берем на себя риск сбора средств с клиента. К счастью, у нас есть базовые фильтры, которые блокируют пользователей от совершения множественных мошеннических транзакций и находят группы мошеннических пользователей, использующих одни и те же устройства или карты.
Теперь следующий шаг — остановить людей, которые совершают мошеннические транзакции впервые.
Задача
На основе данных выборки:
1. Предложить 2–5 ключевых доработок, которые помогут снизить процент неудавшихся платежей (is_successful_payment = 0).
2. Учитывая, что команда разработчиков небольшая (3–4 человека), объяснить, почему выбраны именно эти меры.
3. При описании предложений важно показать:
не только результат,
но и процесс: как вы пришли к выводу, как подходите к решению проблемы.
Образец данных
Вот дамп первых заказов по кредитной карте (по всему миру).
Данные включают некоторые метаданные о пользователях, которые делают свой первый завершенный заказ с кредитной картой в качестве способа оплаты, а также метаданные о самой транзакции.
Легенда полей:
created — время создания запроса на первый заказ.
device_name – имя устройства, используемого для оформления заказа
device_os_version – версия ОС устройства
country – 2-символьный код страны
city_id – внутренний системный идентификатор города (неважно, какой из них какой)
lat – широта места получения заказа
lng – долгота места получения заказа
real_destination_lat – широта места назначения заказа
real_destination_lng – долгота места назначения заказа
user_id – внутренний идентификатор пользователя
order_id – внутренний идентификатор заказа
order_try_id – внутренний идентификатор попытки заказа (попытки заказа происходят до того, как клиент и водитель будут сопоставлены с заказом)
distance – расстояние водителя до места получения клиента в метрах
ride_distance – расстояние поездки в метрах
price – цена, взимаемая с клиента, может быть ниже «ride_price», если у клиента была скидка, валюты различаются и не определены
ride_price – расчетная цена окончательной поездки, валюты различаются и не определены
price_review_status – «Проверка цены» — это когда мы отправляем «ride_price» на проверку человеком для проверки на наличие системных ошибок. 99% заказов являются окончательными и должны иметь уже установленное «ok». Некоторые из них могут все еще находиться в состоянии ожидания, скорее всего, вы можете их отклонить.
price_review_reason — автоматическая или ручная причина запроса проверки цены.
is_successful_payment — 1 означает, что заказ был успешно списан, 0 означает, что он не был списан (включая все попытки повторного списания)
name — данные карты, не имеет значения.
card_bin — данные о BIN карты.
failed_attempts — количество неудачных попыток заказа до этого первого завершенного заказа.