Собеседование на риск-аналитика

Чем занимается риск-аналитик

Риск-аналитик оценивает вероятность потерь и помогает бизнесу принимать решения в условиях неопределённости. Конкретные задачи зависят от направления.

Кредитный риск. Самое распространённое направление. Вы строите скоринговые модели, которые оценивают вероятность дефолта заёмщика. Определяете, кому одобрить кредит, на какую сумму и под какую ставку. Мониторите портфель: отслеживаете просрочки, миграцию между стадиями, концентрацию рисков.

Антифрод (fraud analytics). Выявляете мошеннические транзакции и схемы — от поддельных заявок на кредит до кражи аккаунтов. Строите правила и модели, которые отличают нормальное поведение от аномального. Баланс здесь критичен: слишком строгие правила блокируют честных клиентов, слишком мягкие — пропускают фрод.

Операционный риск. Оцениваете риски, связанные с внутренними процессами, сбоями систем, человеческими ошибками. Реже встречается в вакансиях для аналитиков — чаще это направление для менеджеров, но знать о нём стоит.

Рыночный риск. Анализ волатильности, стресс-тестирование портфелей ценных бумаг, расчёт VaR. Это ближе к финансовой математике и встречается в инвестиционных подразделениях.

На практике в большинстве вакансий «риск-аналитик» означает кредитный скоринг или антифрод. Именно эти направления разберём подробнее.

Где работают риск-аналитики

Банки. Крупнейший работодатель. Сбер, Т-Банк, ВТБ, Альфа-Банк, Райффайзен — у всех есть департаменты риск-аналитики. Задачи: скоринг, мониторинг портфеля, отчётность по нормативам ЦБ (Basel III, МСФО 9). В банках самые зрелые процессы и самые строгие регуляторные требования.

Финтех. МФО, BNPL-сервисы, необанки. Здесь скоринг критичен — решения по кредитам принимаются автоматически за секунды. Модели проще (меньше данных), но итерации быстрее. Если в банке модель живёт год, в финтехе — месяц.

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

E-commerce и платёжные системы. Антифрод: выявление мошеннических транзакций, фейковых аккаунтов, злоупотреблений промокодами. Ozon, Wildberries, Яндекс Пэй, ЮKassa — все строят антифрод-системы.

Этапы собеседования

Процесс зависит от компании, но типичная структура:

1. HR-скрининг

15–20 минут. Рекрутер уточняет опыт, мотивацию, зарплатные ожидания. Могут спросить: «Почему риски, а не продуктовая аналитика?», «С какими моделями работали?», «Знаете ли требования ЦБ?». Подготовьте краткий рассказ о себе с акцентом на релевантный опыт.

2. SQL-интервью

60–90 минут. Задачи привязаны к рисковому контексту: анализ просрочек, расчёт vintage-кривых, когортный анализ дефолтов. Подробнее о подготовке — в разделе SQL.

3. Статистика и моделирование

Основной этап для риск-аналитика. Проверяют знание логистической регрессии, метрик качества моделей, работы с дисбалансом классов. Могут дать задачу на вероятность или попросить объяснить ROC-AUC. Подробнее — в разделе статистики.

4. Кейс-интервью

Дают бизнес-ситуацию из области рисков: построить скоринговую модель, расследовать фрод-схему, оценить влияние изменения политики выдач. Оценивают не столько технику, сколько понимание домена и умение структурировать задачу.

5. Финальное интервью

Встреча с руководителем или Head of Risk. Обсуждают ваш подход к задачам, понимание бизнес-контекста, готовность работать с регуляторикой.

SQL-вопросы для риск-аналитика

SQL на собеседовании риск-аналитика всегда привязан к предметной области. Вот типичные задачи.

Vintage-анализ

Классическая задача: построить vintage-кривые — показать, как когорта выданных кредитов «стареет» и накапливает просрочки с течением времени.

WITH loans AS (
    SELECT
        loan_id,
        DATE_TRUNC('month', issue_date) AS vintage_month,
        issue_date
    FROM loan
),
first_default AS (
    SELECT
        loan_id,
        MIN(report_date) AS default_date
    FROM payment_schedule
    WHERE days_past_due >= 90
    GROUP BY loan_id
)
SELECT
    l.vintage_month,
    COUNT(DISTINCT l.loan_id) AS issued,
    COUNT(DISTINCT CASE
        WHEN fd.default_date <= l.issue_date + INTERVAL '6 month'
        THEN l.loan_id
    END) AS default_6m,
    ROUND(
        COUNT(DISTINCT CASE
            WHEN fd.default_date <= l.issue_date + INTERVAL '6 month'
            THEN l.loan_id
        END)::numeric / COUNT(DISTINCT l.loan_id), 4
    ) AS default_rate_6m
FROM loans l
LEFT JOIN first_default fd ON l.loan_id = fd.loan_id
GROUP BY l.vintage_month
ORDER BY l.vintage_month

На собеседовании уточните: что считаем дефолтом (90+ dpd, списание, реструктуризация), какой горизонт наблюдения, нужно ли исключать досрочно погашенные.

Roll-rate анализ

Как заёмщики мигрируют между стадиями просрочки? Задача: посчитать долю кредитов, которые перешли из состояния «30–60 dpd» в «60–90 dpd» за месяц.

WITH status_monthly AS (
    SELECT
        loan_id,
        report_month,
        CASE
            WHEN days_past_due = 0 THEN 'CURRENT'
            WHEN days_past_due BETWEEN 1 AND 30 THEN '1-30'
            WHEN days_past_due BETWEEN 31 AND 60 THEN '31-60'
            WHEN days_past_due BETWEEN 61 AND 90 THEN '61-90'
            ELSE '90+'
        END AS bucket
    FROM monthly_snapshot
)
SELECT
    cur.bucket AS from_bucket,
    nxt.bucket AS to_bucket,
    COUNT(*) AS loan_count,
    ROUND(COUNT(*)::numeric / SUM(COUNT(*)) OVER (PARTITION BY cur.bucket), 3) AS roll_rate
FROM status_monthly cur
JOIN status_monthly nxt
    ON cur.loan_id = nxt.loan_id
    AND nxt.report_month = cur.report_month + INTERVAL '1 month'
WHERE cur.bucket = '31-60'
GROUP BY cur.bucket, nxt.bucket
ORDER BY nxt.bucket

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

Обнаружение аномалий в транзакциях

«Найдите пользователей, у которых сумма транзакций за последний час превышает среднюю дневную сумму более чем в пять раз». Такие задачи типичны для антифрод-направления и проверяют владение оконными функциями.

Статистика и моделирование

Это центральный блок собеседования. Вот что спрашивают чаще всего.

Логистическая регрессия

Основная модель в кредитном скоринге. Вас попросят объяснить:

  • Почему логистическая, а не линейная? Потому что предсказываем вероятность бинарного события (дефолт / не дефолт), и она должна лежать в диапазоне [0, 1]. Линейная регрессия может выдать значения за пределами этого диапазона.
  • Что такое логит-преобразование? log(p / (1 - p)) — логарифм отношения шансов. Логистическая регрессия моделирует линейную зависимость именно для логита, а не для вероятности напрямую.
  • Как интерпретировать коэффициенты? Коэффициент при признаке показывает, на сколько изменяется логит при увеличении признака на единицу. Экспонента коэффициента — это отношение шансов (odds ratio).
  • Почему банки до сих пор используют логрег, а не градиентный бустинг? Интерпретируемость и регуляторные требования. Регулятор хочет понимать, почему модель отказала в кредите. У логрега каждый признак имеет явный вес — это легко объяснить. У бустинга — нет.

Confusion matrix

Вас попросят нарисовать матрицу ошибок и объяснить все четыре ячейки:

  • True Positive — модель сказала «дефолт», и заёмщик действительно не заплатил.
  • True Negative — модель сказала «не дефолт», и заёмщик платит исправно.
  • False Positive — модель сказала «дефолт», но заёмщик платит. Банк отказал хорошему клиенту — потерял доход.
  • False Negative — модель сказала «не дефолт», а заёмщик не заплатил. Банк выдал кредит плохому клиенту — потерял деньги.

Ключевой вопрос: что дороже — FP или FN? В кредитном скоринге FN обычно дороже: один дефолтный кредит может стоить больше, чем упущенная прибыль от десяти отклонённых хороших заявок. В антифроде — зависит от контекста: заблокированная легитимная транзакция раздражает клиента, но пропущенный фрод приводит к прямым убыткам.

ROC-AUC и Gini

ROC-кривая строится по парам (FPR, TPR) для всех возможных порогов классификации. AUC (Area Under Curve) — площадь под этой кривой. AUC = 0.5 означает случайную модель, AUC = 1.0 — идеальную.

Gini = 2 * AUC - 1. В кредитном скоринге чаще используют именно Gini. Модель с Gini 0.4 — приемлемая, 0.5–0.6 — хорошая, выше 0.7 — отличная (или переобучение, проверьте).

На собеседовании могут спросить: «ROC-AUC вашей модели — 0.85. Можно ли сказать, что модель хорошая?» Правильный ответ: нет, нельзя без контекста. AUC не учитывает дисбаланс классов и не говорит, при каком пороге модель работает. При сильном дисбалансе (1% дефолтов) AUC может быть высоким просто за счёт правильной сортировки, но precision при рабочем пороге — низким. Нужно смотреть на precision-recall кривую и на бизнес-метрики: approval rate, expected loss.

Дисбаланс классов

Дефолты — это обычно 2–5% портфеля. Мошеннические транзакции — доли процента. Модель, которая всех предсказывает как «хороших», уже имеет accuracy 95%. Как с этим работать?

  • Стратифицированная кросс-валидация — чтобы в каждом фолде сохранялось соотношение классов.
  • Undersampling / oversampling — SMOTE, random undersampling. Помогает при обучении, но на валидации всегда используйте оригинальное распределение.
  • Подбор порога — не используйте 0.5 по умолчанию. Порог выбирается на основе бизнес-требований: допустимый approval rate, целевой уровень потерь.
  • Метрики — не accuracy, а precision, recall, F1, AUC, Gini.

Примеры кейсов

Кейс 1: построить скоринговую модель

«Вы аналитик в МФО. Нужно построить скоринг для коротких займов (до 30 дней). Какие данные возьмёте, как будете строить модель, как оцените качество?»

Ожидаемый ход решения:

  1. Данные. Анкетные данные (возраст, доход, стаж работы), кредитная история из БКИ (количество действующих кредитов, просрочки, количество запросов), поведенческие данные (если повторный клиент — история платежей), данные заявки (сумма, срок, канал).
  2. Целевая переменная. Дефолт — определите, что это значит. Для микрозайма на 30 дней: просрочка 30+ дней после срока погашения? Или 60+? Выбор влияет на всё остальное.
  3. Выборка. Определите observation window (когда наблюдаем признаки) и performance window (когда оцениваем исход). Уберите незрелые кредиты — те, у которых ещё не закончился performance window.
  4. Признаки. WoE-кодирование для логрега, отбор по IV (Information Value). IV > 0.1 — слабый предиктор, 0.1–0.3 — средний, > 0.3 — сильный.
  5. Модель. Логистическая регрессия для интерпретируемости. Перевод в скоркарту — балльная шкала, понятная бизнесу.
  6. Валидация. Out-of-time validation — обучаемся на одном периоде, проверяем на следующем. Gini, KS-статистика, PSI (Population Stability Index) для мониторинга дрифта.

Кейс 2: расследование фрод-схемы

«За последний месяц выросло количество заявок на кредит, которые проходят скоринг, но дефолтятся в первый же месяц. Как будете разбираться?»

Подход:

  1. Сегментация. Сравните профиль ранних дефолтов с нормальным портфелем. По каким признакам они отличаются: регион, канал привлечения, анкетные данные, время подачи заявки?
  2. Паттерны. Есть ли кластеры заявок с похожими данными: одинаковые работодатели, телефоны из одной серии, IP-адреса? Фрод часто идёт «волнами» от организованных групп.
  3. Проверка данных. Совпадают ли анкетные данные с данными из БКИ? Есть ли расхождения, которые скоринг не ловит?
  4. Реакция. Предложите правила: временные жёсткие фильтры по выявленным паттернам, дополнительная верификация для подозрительного сегмента, пересчёт скоркарты с учётом новых данных.

Инструменты риск-аналитика

SQL — основной рабочий инструмент. Выгрузки из хранилища, анализ портфеля, подготовка выборок для моделирования. Ожидается уверенное владение: оконные функции, CTE, работа с датами, агрегации по когортам. Подготовка — в разделе SQL.

Python — построение моделей, автоматизация пайплайнов. Библиотеки: scikit-learn (логрег, деревья, метрики), pandas (подготовка данных), matplotlib/seaborn (визуализация). В крупных банках часто требуют PySpark для работы с большими объёмами.

SAS — всё ещё используется в крупных банках, особенно в подразделениях, которые работают с регуляторной отчётностью. Если в вакансии упоминается SAS — значит, легаси-процессы существуют и вам с ними работать.

Excel — для быстрых расчётов, презентаций руководству, ручных проверок. Банковские риск-менеджеры любят Excel — привыкайте.

BI-инструменты — Tableau, Power BI, Superset. Дашборды для мониторинга портфеля: vintage-кривые, roll-rates, approval rate, распределение скорбаллов.

Частые вопросы на собеседовании

«Что такое WoE и IV?»

WoE (Weight of Evidence) — метод кодирования категориальных и непрерывных признаков для логистической регрессии. Для каждого бина (интервала) рассчитывается: WoE = ln(доля хороших в бине / доля плохих в бине). Признак с монотонным WoE — хороший предиктор.

IV (Information Value) — суммарная предсказательная сила признака. Рассчитывается как сумма по всем бинам: (доля хороших - доля плохих) * WoE. Помогает отобрать признаки перед построением модели.

«Что такое PSI и зачем он нужен?»

PSI (Population Stability Index) — метрика стабильности модели. Сравнивает распределение скорбаллов на текущей выборке с распределением на выборке разработки. PSI < 0.1 — модель стабильна. 0.1–0.25 — нужно наблюдение. > 0.25 — модель деградировала, требуется пересчёт. На собеседовании важно показать, что вы понимаете: модель нельзя один раз построить и забыть — её нужно мониторить.

«В чём разница между PD, LGD и EAD?»

Три компоненты расчёта ожидаемых потерь (Expected Loss = PD * LGD * EAD):

  • PD (Probability of Default) — вероятность дефолта. Это то, что предсказывает скоринговая модель.
  • LGD (Loss Given Default) — доля потерь при дефолте. Если кредит обеспечен залогом, LGD ниже.
  • EAD (Exposure at Default) — сумма, подверженная риску в момент дефолта. Для кредитной линии — это не лимит, а ожидаемый остаток.

«Как вы определяете порог отсечения?»

Не по AUC и не по F1. Порог — бизнес-решение. Вы строите таблицу: для каждого возможного порога — approval rate, expected loss rate, прибыль. Бизнес выбирает баланс между объёмом выдач и уровнем потерь. Ваша задача — дать данные для этого решения и показать trade-off.

Как готовиться

SQL. Решайте задачи с рисковым контекстом: vintage-анализ, roll-rates, когортный анализ дефолтов. Если в вакансии упоминается ClickHouse или Hive — посмотрите особенности синтаксиса. Основа — в разделе SQL.

Статистика. Логистическая регрессия — знать от и до. Confusion matrix, ROC-AUC, Gini, precision-recall — уметь объяснить без подглядывания. Базовая теория вероятностей и статистика — обязательный минимум.

Предметная область. Если идёте в банк — прочитайте про Basel III, МСФО 9, стадии обесценения. Если в антифрод — разберите типичные схемы: identity fraud, application fraud, transaction fraud. Вопросы про домен показывают зрелость кандидата.

Кейсы. Потренируйтесь рассуждать вслух: «Мне дали задачу построить скоринг для автокредитов — с чего начну?». Важна не идеальная модель, а структурированный подход: данные, целевая, выборка, признаки, модель, валидация, внедрение, мониторинг.

Портфолио. Если нет опыта в рисках — возьмите открытые датасеты (Kaggle: Home Credit, Lending Club) и пройдите полный цикл: EDA, WoE-кодирование, логрег, оценка качества, скоркарта. Один такой проект на GitHub стоит больше, чем десять сертификатов.


Потренируйтесь решать задачи для аналитиков в Карьернике — тренажёре для подготовки к собеседованиям.

FAQ

Чем занимается риск-аналитик?

Риск-аналитик оценивает вероятность потерь и помогает бизнесу принимать решения в условиях неопределённости. Основные направления: кредитный скоринг (оценка вероятности дефолта), антифрод (выявление мошенничества), операционный и рыночный риск. Чаще всего вакансии связаны с кредитным скорингом или антифродом.

Какие навыки нужны для собеседования на риск-аналитика?

SQL для анализа портфеля и vintage-кривых, логистическая регрессия и метрики качества моделей (ROC-AUC, Gini), понимание confusion matrix и дисбаланса классов, а также знание предметной области — кредитный цикл, WoE/IV, PSI для мониторинга моделей.

Почему банки до сих пор используют логистическую регрессию, а не градиентный бустинг?

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

Что такое ROC-AUC и Gini в кредитном скоринге?

ROC-AUC — площадь под ROC-кривой, показывающая способность модели разделять классы (0.5 = случайная, 1.0 = идеальная). Gini = 2 * AUC - 1. В скоринге Gini 0.4 — приемлемая модель, 0.5-0.6 — хорошая, выше 0.7 — отличная или признак переобучения.