Skip to content

kishik/opportunity

Repository files navigation

Opportunity-Cup 2022 - Хакатон от Сбера

  • Front-end

  • Back-end

  • Паттерны

  • Инструкции

    Front-end

    Решение кейса от команды WIN+NERS

    Страница для загрузки файла с транзакциями в формате json.

    Показывает все выявленные мошеннические операции.

    Возрастная группа риска

    Страница для просмотра выявленных мошеннических операций по паттерну.

    Позволяет настроить возрастную группю группу риск по желанию пользователя.

    Подозрительная активность в неактивное время

    Страница для просмотра выявленных мошеннических операций по паттерну.

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

    Множество кликов за короткий промежуток времени

    Страница для просмотра выявленных мошеннических операций по паттерну.

    Позволяет настроить промежуток времени для проверки.

    Подозрительная активность в ночное время

    Страница для просмотра выявленных мошеннических операций по паттерну.

    Позволяет настроить промежуток ночного времени для проверки.

    Невалидный аккаунт

    Страница для просмотра выявленных мошеннических операций по паттерну.

    Операции с одного устройства

    Страница для просмотра выявленных мошеннических операций по паттерну.

    Dashboard

    Страница для просмотра выявленных данных по регионам на карте.

    Back-end

    Разработка back-end'а велась с использованием веб-фреймворка Flask (Python)

    1. POST /import_transactions

    Принимает на вход json файл или json данные с транзакциями.

    Возвращает id выявленных мошеннических операция по паттернам.

    При невалидных данных возвращает 400: {"code": 400,"message": "Validation Failed"}

    2. GET /get_transactions

    Возвращает все транзакции, хранящиеся в базе данных в формате json.

    3. GET /get_cities

    Возвращает название и координаты городов, которые есть в базе данных в формате json.

    4. GET /get_transactions_by_ids/$transactions

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

    Возвращает информацию обо всех перечисленных транзакциях в формате json.

    5. GET /set_many_click_delay/$delay

    Принимает минимальное количество минут между транзакциями.

    Устанавливает это значение для последующих проверок.

    6. GET /set_bad_time/$time_from/$time_to

    Принимает промежуток времени для проверки.

    Устанавливает это значение для паттерна.

    7. GET /set_night_time/$time_from/$time_to

    Принимает промежуток времени ночью для проверки.

    Устанваливает это значение для паттерна.

    8. GET /set_bad_age/$age_from/$age_to

    Принимает промежуток возраста для проверки.

    Устанавливает это значение для паттерна.

    9. GET /set_equal_delay/$delay

    Принимает минимальное количество секунд между транзакциями.

    Устанавливает это значаение для последующих проверок.

    Паттерны

    Множество кликов

    Суть паттерна заключается в выявлении количества кликов за определенный промежуток времени. Это необходимо для выявления мошеннических действий. Однотипные клики за определенный промежуток времени заставляет задуматься о том, совершаются ли данные операции владельцем данной банковской карты. В ином случае, данная операция может быть отклонена, а карта заблокирована.

    Операции с одного устройства

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

    Подозрительная активность в ночное время

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

    Невалидный аккаунт

    Неактивное время

    Суть паттерна заключается в выявлении мошеннических транзакций выполненных в промежуток 14:30 – 15:30. Чтобы это проверить нам необходимо проанализировать каждую транзакцию, проведенную на данном промежутке. В случае если есть подозрительные операции аккаунт замораживается.

    Неподходящий возраст

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

    Инструкции

    Установка зависимостей

    Устанавливаем python3-venv
      sudo apt install python3-venv
    
    Создаем виртуальное окружение
      python3 -m venv venv
    
    Переходим в созданное окружение
      source venv/bin/activate
    
    Устанавливаем необходимые пакеты
      pip install -r requirements.txt
    

    Запуск back-end приложения

    Запускаем приложение
      python3 main.py
    

    Запуск front-end приложения

    Запускаем приложение
      streamlit run main_page.py
    

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published