Counterfactual Policy Evaluation for Learned Rankers in E-commerce
Experience
-
2022– now
Senior Machine Learning Engineer
- Shipped a two-stage retrieval and ranking stack for browse and search — ANN two-tower candidates reranked by LightGBM — delivering +7.4% CTR at 9k RPS with p99 inference of 38 ms.
- Designed the shared feature store and training orchestrator now used by 14 teams; nightly retraining moved from a 6-hour manual pipeline to a 22-minute scheduled DAG with end-to-end lineage.
- Replaced offline-AUC release gates with counterfactual policy evaluation and online guardrails; 30+ model releases since, with no rollback traced to an offline/online metric mismatch.
-
2020– 2022
Machine Learning Engineer
- Built demand forecasting for 40+ markets (gradient-boosted trees with temporal fusion transformers), cutting stockout-driven lost orders 11% year over year.
- Owned entity resolution across menu, courier and payment data with graph-based blocking; match precision 0.74 → 0.93, recall 0.81 → 0.88.
- Introduced drift and label-lag monitoring with paging to the owning team; silent model regressions dropped from ~3 per month to under 1 in two quarters.
-
2017– 2020
Machine Learning Engineer
- Built card-transaction risk scoring on gradient-boosted trees with graph-derived device features; fraud losses down 18% at a flat false-positive rate.
- Shipped document OCR and underwriting models for onboarding, cutting manual review turnaround from 3 days to under 4 hours.
- Introduced the first reproducible training pipeline (DVC + CI with artifact versioning) covering 30+ models — every release auditable and revertible.
Skills
- Python PyTorch TensorFlow scikit-learn
- Spark Ray LLM evaluation MLOps
Publication
Side Projects
-
sparse-dtw
Dynamic time warping for irregular sensor streams, written in Cython with a NumPy core.
-
tiny-eval
A 2 kB dependency-free harness for reproducible offline model evaluation.
-
Berlin Applied ML
Monthly meetup for applied ML practitioners — talks, papers and hiring intros.