HappyM
Тестовое задание
Аналитик — тестовое задание
Три части: бизнес-задача на реальных данных, технический блок и вопрос на ход мысли. Слайды 2–8 уходят кандидату, слайды 9–12 внутренние.
Подбор аналитика · Terry Jar · запуск Ozon
18 сентября 2026
01
Кандидату · контекст
Что происходит у нас прямо сейчас
Мы производим и продаём подарочные наборы и полотенца. Работаем на Wildberries и Яндекс.Маркете, запускаемся на Ozon. Полотенца шьются на фабрике в Узбекистане, лежат на пяти фулфилментах в России и на складах маркетплейсов.
16 500
штук ждут на фабрике
$93 310
10 500
уже приехали 08.09
первая машина
27 000
ещё в производстве
готовность 01.10
5
артикулов под Ozon
продаж нет ни одной
По заказу №14 первая машина ушла 8 сентября. Оставшиеся 16 500 штук лежат на складе фабрики и ждут нашего решения: забрать целиком, забрать частично или не забирать. Заказ №15 ещё в производстве.
Параллельно мы выводим полотенца на Ozon. Это новые артикулы: на Wildberries они не продавались ни дня, истории продаж по ним нет. Физически они лежат там же, на фабрике.
02
Кандидату · часть А
Сколько полотенец забрать со склада фабрики и как распределить
Деньги в обороте ограничены. Забрать всё «на всякий случай» нельзя: каждая лишняя единица — замороженные деньги, каждая недостающая — упущенные продажи. Нужен ответ с расчётом.
1
План продаж по группе до конца года
Отдельно Wildberries, отдельно Ozon, помесячно.
2
Сколько забираем
Число, сумма к доплате, расчёт.
3
Как распределяем
Между площадками и по кластерам Ozon.
4
Какой у нас реальный остаток по полотенцам
И почему именно такой. Где источники расходятся и откуда расхождение.
5
Допущения
Все, и что будет с ответом, если каждое окажется неверным.
6
Чего не хватило
Каких данных и у кого бы запросил.
03
Кандидату · вводные
Условия, которые нельзя обойти
Фабрика
Предоплата 30% при запуске, 70% перед отгрузкой. Отсрочки нет.

По двум заказам уже предоплачено $94 684,50.
Сроки цикла
Полотенца регулярные — 2 месяца, в сезон дольше
Полотенца новинки — 2,5 месяца
Полиграфия — 1–3 недели
Минимальная партия
Машина — не менее 7 тонн, это 10–15 тыс. шт
Один артикул — от 500 шт
Фулфилмент Ижевск
Приёмка и пересчёт — 5 ₽
Отгрузка FBS полотенца — 24 ₽/шт
Хранение паллеты — 50 ₽/сутки
Итого на полотенце — 29,22 ₽
Везти с фабрики напрямую в Ижевск дешевле на 70 000 ₽ плюс меньше таможенные платежи.
Ozon — экономика
Цена продажи 820 ₽ до соинвеста
Комиссия привязана к цене: до 300 ₽ — 23%, выше — 40%
Соинвест на старте закладываем 30–35%
Норматив оборачиваемости по компании — 50 дней.
04
Кандидату · часть Б
Технический блок: автоматизация сбора данных
Небольшая отдельная задача. Её цель — посмотреть, как вы работаете с кодом и с ИИ, а не проверить знание конкретного языка.
Задание
Напишите скрипт, который раз в час забирает продажи с Wildberries и складывает их в базу, чтобы данные накапливались и их можно было смотреть за период.

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

2. В Google-таблице — то же самое, но так, чтобы этим мог пользоваться человек без технического бэкграунда.

Покажите, чем эти два способа отличаются и когда какой уместен.
Доступы
Мы выдадим отдельный токен Wildberries только на «Статистику», только на чтение. Токен передаётся после подписания NDA.

Скрипт должен брать ключ из переменной окружения, а не из кода.
Что приложить
Код, короткое описание запуска и пример того, что легло в базу за несколько прогонов.

Если пользовались ИИ — скажите, каким и на каких шагах. Это плюс, а не минус.
05
Кандидату · часть В
И последний вопрос
После того как поработаете с нашими данными, ответьте своими словами:
Что бы вы изменили в том, как у нас устроены данные и отчёты?
Что мешало работать, чего не хватало, что добавили бы, что убрали. Без ограничений по объёму — хоть три строки, хоть страница.
Отвечать «всё хорошо» не нужно: мы знаем, что у нас бардак, и берём аналитика в том числе для того, чтобы его разобрать.
06
Кандидату · источники
Что мы даём и что внутри каждого файла
ФайлКолонки и содержаниеОбъём
Заказы 14 и 15
3 листа
Позиция, наименование, цена $, количество, сумма $, статус («отгружено 08.09» / «на складе фабрики»), пометка «уник». Отдельный лист — свод: предоплаты, отгружено, долг26 + 26 позиций
Остатки МойСкладАртикул, Код, Наименование, ФФ Ижевск, Полифулл, ФФ Москва, ФФ Новосибирск, ФФ Южный, Всего580 строк
Остаток ВБТип (FBO/FBS), Артикул продавца, nmId, Название, Бренд, Размер, chrtId, ID склада WB, Склад WB, Регион, Остаток, В пути к клиенту, В пути от клиента, Дата обновления236 строк
Остатки OzonАртикул, Количество65 строк
Выгрузка 10XОстатки из внешнего сервиса аналитики—
Лист «Полотенца»
наша рабочая сводная
Артикул, nmId, Название, остатки по каждому ФФ, остаток WB FBO, общий остаток, продажи за 7 дней и по каждому дню, средние продажи в день и в месяц, оборачиваемость, продано в этом месяце, прогноз до конца месяца72 полотенца
ПродажиПо дням, по артикулам, за 7 дней в трёх разрезах: все склады, WB, FBS—
СебестоимостьАртикул, название, название MPFIT, категория, архетип ВБ, штуки, себестоимость703 строки
Матрица полотенецСтатус по каждому артикулу: оставляем, выводим, не закупаем—
Токен WB
для части Б
Отдельный ключ, только «Статистика», только чтениепосле NDA
Файлы отдаём выгрузками. Доступ к рабочим таблицам компании не выдаём.
07
Кандидату · формат
Как сдавать, сколько это стоит
Формат
По части А — документ или презентация с выводами плюс файл с расчётом.

По части Б — код, описание запуска и пример данных в базе.

Дальше созвон с демонстрацией экрана.
Оплата
Тестовое оплачиваемое.

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

Оплачиваем в любом случае, независимо от того, выйдем мы на оффер или нет.
Срок
Назовите его сами вместе со стоимостью.

Вопросы по ходу задавайте — это нормально и ожидаемо.
Задание на реальных данных компании, поэтому потребуется подписать NDA. Часть Б можно делать параллельно с частью А, они не связаны.
08
Внутреннее
Слайды 10–12 кандидату не отправляем
09
Внутреннее
Восемь ловушек — все настоящие, ничего не подсажено
ЛовушкаФакт
Долг посчитан неверноВ своде $236 360,50, по факту $213 991 — остаток предоплаты учтён дважды, разница $22 369. Ошибка почти на 2 млн ₽
В заказе то, что решили выводить6 500 шт выводимых позиций, плюс Сердечки 1 500 шт со статусом «не закупаем»
Виртуальные склады WB902 штуки в выгрузке против 139 физических
Сгоревшее ещё числится92 257 единиц утрачено, в выгрузках площадки есть
Себестоимость в трёх листахСчитается по-разному. В МойСкладе только материалы, работа фулфилмента не входит
Соинвест Ozon — три цифрыPixel считал 45%, выгрузка 98 конкурентов даёт 20%, в решении заложено 30–35%. Двигает цену и весь план
Комиссия Ozon у порогаДо 300 ₽ — 23%, выше — 40%. Наша цена 820 до соинвеста
Часовой пояс в выгрузкахAPI отдаёт UTC. Пик заказов уезжает на ночь, если не пересчитать
10
Внутреннее
Критерии оценки
Что смотрим«Прошёл»
Часть А — бизнес-задача
Увидел расхождение источниковНазвал минимум два, объяснил природу хотя бы одногобез этого стоп
Проверил долг по сводуНашёл двойной счёт предоплаты самключевое
Сверил заказ с матрицейЗаметил выводимые позицииключевое
Спланировал новинку без историиПостроил от рынка и юнитки, а не сказал «данных нет»ключевое
Дал решение, а не таблицуЕсть число и рекомендацияважно
Назвал допущения самБез напоминания, с чувствительностьюважно
Часть Б — технический блок
Скрипт реально работаетЗапускается, пишет в базу, не падает на повторном прогонебез этого стоп
Ключ не в кодеПеременная окружения или конфиг, не хардкодключевое
Понимает разницу двух способовОбъяснил, когда нужен скрипт, а когда таблицаважно
Честно сказал про ИИНазвал инструмент и шаги, где применялважно
Сквозное
Пришёл с вопросами до расчётаТри и больше осмысленных вопроса до началаважно
Уложился в свой срокСдал тогда, когда сам назвалважно
11
Внутреннее · открытые вопросы
Что решить до отправки
12–20 ч
оценка объёма
А: 10–16, Б: 2–4
25–40 тыс ₽
ориентир оплаты
за одного кандидата
1
кандидат сейчас
Кирилл Муравьёв
Токен WB для части Б
Нужно выпустить отдельный ключ с правами только «Статистика» и только на чтение. Боевой ключ не отдаём ни при каких условиях.

Отозвать сразу после сдачи.
Что взято у Максима
Часть Б целиком — его пункт 1. Часть В — его пункт 5.

Пункты 2, 3 и 4 не взяты: он предлагал подменить названия и подсадить несостыковки, но у нас всё это уже есть в реальных данных.
Расхождение, которое надо снять. В методологии закупки от 18.09 новинки под Ozon посчитаны как 7 000 шт. По спецификации заказа 14 их пять позиций по 1 500 — 7 500 шт на $36 000. Разница 500 штук.
Кабинет Ozon к запуску не готов. Заведено 4 карточки из 5 — Барашка нет совсем. Остатки по всем нулевые, цена 2 800 ₽ на всех четырёх, это заглушка. Отдельная задача, вне тестового.
12