01 / тестовое задание

Точка Банк:
тестовое задание для продуктового аналитика

Реальное тестовое с собеседования на Middle Product Analyst: исходный текст задания, как решать и частые ошибки.

02 / оригинальный текст

Текст тестового задания

Исходный текст задания без редактуры — так, как его прислали кандидату.

Задание #1

Задача: Написать SQL-запрос на любом диалекте или код на Python, который вычисляет долю клиентов с валютными счетами в динамике на каждое первое число месяца.

Рекомендации: в первую очередь запрос должен выдавать правильный результат, но постарайся так же сделать его структуру лаконичной и простой

Исходные данные:

Таблица ACCOUNTS – данные о счетах клиентов

ID - идентификатор счёт

CLIENT_ID - идентификатор клиент

OPEN_DATE – дата открытия счета

CLOSE_DATE – дата закрытия счета (для счетов, не закрытых на сегодняшний день, будет указано значение null)

VAL – кодировка валюты (у рублевых счетов имеет значение RUB)

Таблица CALENDAR – календарь

- CALENDAR_DATE – список всех дат с момента основания Точки до конца текущего года

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

Задание #2

Комиссии за исходящие платежи в банке рассчитываются по следующей логике:

до 400 000 руб. в месяц клиент может переводить без комиссий.

При превышении этого лимита (даже 1 рубль) нужно покупать пакеты, который дают право на перевод дополнительных 100 000 руб. Стоимость пакета 2000 руб. – это комиссия, которую платит нам клиент.

Расчет осуществляется в рамках календарного месяца

Задача: Написать SQL-запрос, который для каждого платежа определяет комиссию, которую клиент должен оплатить при совершении этого платежа. (К исходной таблице добавить столбец COMISS – сумму комиссии)

Исходные данные:

Таблица PAYMENTS – данные об исходящих платежах клиентов

CLIENT_ID - идентификатор клиента

PAY_DATE – время совершения платежа (в формате DATETIME)

PAY_SUM – сумма платежа

Пример расчета:

CLIENTPAY_DATEPAY_SUMCOMISS 2009110.01.2025300 0000Сумма перевод в рамках месячного лимита, комиссия не начисляется2009112.01.2025150 0002000Накопленная сумма за январь 450 000, превышение лимита на 50 000, надо оплатить 1 пакет2009115.01.202550 0000Накопленная сумма за январь 500 000, превышение лимита на 100 000 – купленного ранее пакета еще хватает2009120.01.202550002000Накопленная сумма за январь 500 000, т.е. лимит + 1 пакет полностью израсходовали, нужно купить еще один пакет2009103.02.2025100 0000Комиссия не начисляется, т.к. наступил февраль – отсчет начался заново, и платеж в рамках месячного лимита

03 / что проверяют

Что проверяет это задание

01

SQL

Выборки, агрегаты, джойны и оконные функции для анализа данных.

02

Python

Обработка данных и расчёты: pandas, скрипты, автоматизация.

03

Аналитическое мышление

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

04 / как решать

Как подойти к решению

  1. 1

    Разберите условие: что именно просят посчитать и в каких разрезах.

  2. 2

    Сверьтесь с данными: какие таблицы есть, период и нужные фильтры.

  3. 3

    Решайте по шагам и фиксируйте промежуточные результаты и допущения.

  4. 4

    Доведите до финальных чисел и коротких выводов или рекомендаций.

05 / частые ошибки

Частые ошибки

  • Неверный период, разрез или единицы измерения.
  • Не учтены фильтры и сегменты из условия.
  • Решение без промежуточных шагов — только финальная цифра.
  • Нет выводов и рекомендаций по результату.
06 / хороший ответ

Каким должен быть сильный ответ

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

  • короткое описание логики решения;
  • промежуточные таблицы, запросы и фильтры;
  • финальные значения по каждому пункту задания;
  • понятные выводы и рекомендации.
07 / похожие задания

Похожие задания

08 / разборы в telegram

Хочешь больше таких разборов?

В Telegram-канале разбираю тестовые с собеседований, метрики и типичные ошибки кандидатов.

Подписаться в Telegram →
09 / следующий шаг

Разбираешь тестовые, но не уверен в решении?

На интенсиве разбираем реальные кейсы, A/B-секции, метрики, SQL, Python и типовые ошибки кандидатов.