О проекте:
Делаем персональные рекомендации в e-commerce на основе implicit-сигналов (просмотры/избранное/корзины/покупки) без ручных правил. Базовый retrieval — ALS + BM25/TF-IDF, быстрый поиск похожих — ANN (FAISS/HNSW), онлайн-сервис — FastAPI с p95 ≤ 150 мс и fill-rate ≥ 99%. Данные — ClickHouse (история событий, витрины), пайплайны — Kafka + Airflow. Цели — рост CTR/ATC/GMV и качественные оффлайн-метрики (Recall@K, NDCG@K).
Стек:
Python 3.11+, FastAPI, ClickHouse, Kafka, Airflow, Redis, FAISS/HNSWlib, CatBoost/LightGBM/XGBoost, (опц.) PyTorch/Sentence-Transformers, Prometheus/Grafana, Docker, GitLab CI/CD, (опц.) Kubernetes/Swarm, Superset, S3/MinIO.
Обязанности:
- Retrieval на ALS: подготовка взаимодействий, нормализация весов (BM25/TF-IDF), обучение implicit-ALS, публикация user_factors/item_factors в ClickHouse, сборка FAISS/HNSW индекса.
- Онлайн-инференс: FastAPI /recommend, объединение кандидатов (ALS/популярность/кластер-popular), фильтры сток/регион/квоты мерчанта, лёгкая диверсификация (MMR); контроль p95 и fill-rate.
- Данные и витрины: проектирование и поддержка витрин в ClickHouse (interactions, popularity, co-vis), инкрементальные DAG’и в Airflow, ingest через Kafka.
- Оффлайн-оценка и A/B: расчёт Recall@K/NDCG@K (time-split), дизайн и анализ A/B (SRM-чек, доверительные интервалы, CUPED), мониторинг CTR/ATC/RPS/GMV и guardrails (латентность, fill-rate, OOS-share).
- Производительность и надёжность: профилирование Python/SQL, оптимизация запросов/проекций в CH, метрики Prometheus/Grafana, алерты и фолбэки.
Требования: - 4+ лет разработки на Python 3.11+; уверенный async (asyncio/uvloop), тестирование и типизация.
- Практический опыт рекомендательных систем/ранжирования: CF (ALS/BPR), оффлайн-метрики (Recall@K, NDCG@K).
- Опыт построения ANN-поиска (FAISS/HNSW) и/или работы с эмбеддингами.
- Сильный SQL и ClickHouse: MergeTree/матвью/проекции, партиционирование, TTL; умение читать планы, считать быстро на объёмах.
- Продакшн-сервисы на FastAPI (REST), базовый Redis как кэш/фичестор.
- Потоки и ETL: Kafka, Airflow (идемпотентные DAG’и, мониторинг лагов).
- Понимание оффлайн↔онлайн консистентности фичей и практик A/B.
Условия: - Оформление по ТК РК.
- Медицинская страховка после испытательного срока
- График 5/2, плавающее начало дня, без дресс-кода.
- Обучение за счёт компании и постоянное развитие.
- Настольный теннис, PS5, тёплая атмосфера, сильная команда.
- Конкурентная заработная плата по итогам собеседования.
- Комфортный офис в верхней части города.
Будет плюсом:
- CatBoost/LightGBM/XGBoost в проде (калибровка, онлайновый скоринг).
- Кластеризация пользователей (KMeans/GMM) и cold-start стратегии (cluster-popular).
- Kubernetes/Helm, GitLab CI/CD, Superset; объектные хранилища (S3/MinIO).
- Применение LLM для обогащения каталога (нормализация атрибутов, генерация синонимов).