Тестовое задание
на аналитика
Finstar

Задание #1
Дано:
Есть 2 таблицы:

- employee - справочник сотрудников
- tasks - задачи, назначенные на сотрудников

drop table if exists #employee
create table #employee
(
id smallint,
emp_name varchar(255),
rating int
)
insert into #employee values (1,'Vasya',5)
insert into #employee values (2,'Vasya',3)
insert into #employee values (3,'Petya',9)
insert into #employee values (4,'Igor',4)
insert into #employee values (5,'Nikita',2)
;

drop table if exists #tasks
create table #tasks
(
id smallint,
assignee_id smallint,
rating smallint
)
insert into #tasks values (1,1,5)
insert into #tasks values (2,1,4)
insert into #tasks values (3,2,2)
insert into #tasks values (4,5,5)
insert into #tasks values (5,5,1)
insert into #tasks values (6,5,7)
insert into #tasks values (7,5,9)
insert into #tasks values (8,5,3)
insert into #tasks values (9,5,3)
insert into #tasks values (10,5,5)
insert into #tasks values (11,2,7)
insert into #tasks values (12,3,8)
insert into #tasks values (13,3,8)
insert into #tasks values (14,2,7)
insert into #tasks values (15,3,9)
insert into #tasks values (16,5,4)
insert into #tasks values (17,1,5)
Задание:
Необходимо написать SQL запрос, который покажет всех сотрудников, у кого в работе менее трех задач. Результат предоставить в виде:

- имя сотрудника
- количество задач в работе
Задание #2
Дано:
Есть 2 таблицы:

- payments_principal - платежи по основному долгу
- payments_interest - платежи по процентам

drop table if exists #payments_principal
create table #payments_principal
(
payment_dt date,
agr_id smallint,
payment_sum int
)
insert into #payments_principal values ('2019-05-11',31,8281)
insert into #payments_principal values ('2019-05-12',7,4622)
insert into #payments_principal values ('2019-05-13',5,7686)
insert into #payments_principal values ('2019-07-01',1,9917)
insert into #payments_principal values ('2019-07-23',1,6534)
insert into #payments_principal values ('2019-08-20',64,4336)
insert into #payments_principal values ('2019-08-24',3,7464)
insert into #payments_principal values ('2019-08-25',9,8505)
insert into #payments_principal values ('2019-08-27',1,9857)
insert into #payments_principal values ('2019-07-07',7,6294)
insert into #payments_principal values ('2019-07-17',7,3182)
insert into #payments_principal values ('2019-08-28',4,9708)
insert into #payments_principal values ('2019-08-29',4,8632)
insert into #payments_principal values ('2019-08-30',3,8303)
insert into #payments_principal values ('2019-09-01',7,3141)
insert into #payments_principal values ('2019-08-25',1,9139)
insert into #payments_principal values ('2019-08-25',2,7624)
insert into #payments_principal values ('2019-09-01',7,3793)
insert into #payments_principal values ('2019-09-01',3,3260)
insert into #payments_principal values ('2019-08-21',5,9002)
insert into #payments_principal values ('2019-08-22',2,5500)
insert into #payments_principal values ('2019-05-12',7,4622)
insert into #payments_principal values ('2019-08-23',2,3980)
insert into #payments_principal values ('2019-08-29',2,5849)
;

drop table if exists #payments_interest
create table #payments_interest
(
payment_dt date,
agr_id smallint,
payment_sum int
)
insert into #payments_interest values ('2019-05-11',31,98)
insert into #payments_interest values ('2019-05-12',7,90)
insert into #payments_interest values ('2019-05-13',5,39)
insert into #payments_interest values ('2019-07-01',1,82)
insert into #payments_interest values ('2019-07-23',1,59)
insert into #payments_interest values ('2019-08-20',50,96)
insert into #payments_interest values ('2019-08-24',3,1)
insert into #payments_interest values ('2019-08-25',9,22)
insert into #payments_interest values ('2019-08-27',1,95)
insert into #payments_interest values ('2019-07-07',7,79)
insert into #payments_interest values ('2019-07-17',7,72)
insert into #payments_interest values ('2019-08-28',4,61)
insert into #payments_interest values ('2019-08-29',4,49)
insert into #payments_interest values ('2019-08-30',3,78)
insert into #payments_interest values ('2019-09-01',7,29)
insert into #payments_interest values ('2019-08-25',1,88)
insert into #payments_interest values ('2019-08-25',2,77)
insert into #payments_interest values ('2019-09-01',6,6)
insert into #payments_interest values ('2019-09-01',3,18)
insert into #payments_interest values ('2019-08-21',5,15)
insert into #payments_interest values ('2019-08-22',2,28)
insert into #payments_interest values ('2019-08-23',2,23)
insert into #payments_interest values ('2019-08-29',2,84)
Задание:
Необходимо написать SQL запрос, который покажет сумму платежей по основному долгу и процентам. Суммы необходимо считать только по тем договорам, которые платили и основной долг, и проценты. Результат предоставить в виде:

- id договора
- сумма платежей по основному долгу
- сумма платежей по процентам.
Задание #3
Дано:
Ниже представлен график с количеством клиентов, которые закрыли кредит в конкретный день. Линиями отображается Retention X days, т.е. доля клиентов (из зелёного столбца), взявших повторный кредит в течение X дней.

Пример: 2-го сентября закрылось 4000 кредитов, из них сразу же в дату закрытия 20% клиентов взяли повторный кредит (0 days, голубая линия). К концу следующего дня – уже 35% (т.е. 20% в день закрытия и еще 15% на следующий день).

Итак, на графике показана динамика по поколениям закрытых кредитов (дата = поколение), и каждая точка на линиях Retention привязана к конкретному поколению. Retention линии по одному поколению идут накопительным итогом, кумулятивно от меньшего срока (0 дней) к большему (30 дней).
Задание:
Допустим, что сегодня 23 сентября. Скажите, какие выводы можно сделать на основе этого графика? Есть ли какие-то логические ошибки на графике?
Задание #4
Дано:
Вам предоставлена выборка данных, в которой содержится информация по заявкам (строчка в таблице) за определенный период времени.

В предоставленный промежуток времени произошло ухудшение конверсии к completed заявкам, что негативно повлияло на выручку компании.
Задание:
Необходимо разобраться чем обусловлено такое падение и найти «корень проблемы».

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


Также постройте отчет в Power BI и визуально отобразите следующее:

- Иерархиями отобразите количество заявок в разрезе дней и недель

- Метрику Completed rate

- Таблицу (матрицу) в разрезе дней где будут иерархией отображены отношения up_stage, mid_stage, page_status, sub_stage к количеству заявок (см. скрин ниже как пример отображения)

готовишься к СОБЕСАМ на продуктового аналитика?
Мой онлайн-интенсив по подготовке к собеседованиям поможет тебе освоить навык прохождения всех этапов собеседования и получить оффер на 30% больше и в 2 раза быстрее
Узнать подробнее
хочешь поделиться решением или заданием с собеседования?

Оставь свои контакты через форму, и я свяжусь с тобой в течение 24 часов
© No Data No Growth, 2024