**Компания:** ВК
**Контекст:** Продуктовая команда запускает A/B тест новой ленты новостей. Данные об экспериментах хранятся в отдельной таблице. Нужно построить витрину для анализа результатов.
[см. код в задании]
**Задание:**
1. Спроектируйте витрину для анализа A/B теста (метрики по группам)
2. Напишите ETL для расчёта ключевых метрик: DAU, sessions, time_spent, CR
3. Добавьте проверки валидности эксперимента: SRM, минимальный размер выборки
4. Реализуйте инкрементальное обновление
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE mart_experiment_daily (
experiment_id VARCHAR(50),
variant VARCHAR(20),
dt DATE,
-- Размер выборки
users_total INT,
users_active INT,
-- Метрики активности
sessions INT,
events_total BIGINT,
avg_session_duration_sec NUMERIC(10,1),
-- Метрики конверсии
users_with_purchase INT,
conversion_rate NUMERIC(6,4),
revenue NUMERIC(14,2),
arpu NUMERIC(10,2),
-- Метаданные
updated_at TIMESTAMP DEFAULT NOW(),
PRIMARY KEY (experiment_id, variant, dt)
);
-- Cumulative-витрина для итогов
CREATE TABLE mart_experiment_cumulative (
experiment_id VARCHAR(50),
variant VARCHAR(20),
-- Cumulative метрики
total_users INT,
total_active_users INT,
total_revenue NUMERIC(14,2),
cumulative_cr NUMERIC(6,4),
cumulative_arpu NUMERIC(10,2),
-- SRM check
expected_ratio NUMERIC(5,3),
actual_ratio NUMERIC(5,3),
srm_pvalue NUMERIC(8,6),
srm_ok BOOLEAN,
updated_at TIMESTAMP DEFAULT NOW(),
PRIMARY KEY (experiment_id, variant)
);
A/B тест DWH витрина эксперимент ETL
Это задание для уровня hard. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.
Подобные задания в категории «data_engineering» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: A/B тест, DWH, витрина, эксперимент, ETL.
На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.
← Все задания