Lead Data Scientist
Aug 2024 – PresentStryker · Remote
- Built an auditable rebate-accrual forecast for finance in Python, SQL, Databricks and React/TypeScript that ties out to their workbook. In leakage-safe backtests the shipped hybrid model has 0.47x the error of the Excel run rate finance uses today.
- Rebuilt the price-volume-mix revenue bridge that leadership reviews. Fixed how fees and rebates were attributed, and showed that most of a reported contract decline came from contracts that had ended. Load time went from 9.8s to 0.6s, and its 377 tests caught all 68 planted bugs.
- Rewrote customer roster matching in Rust. Exact matches rose from 20% under the legacy SSIS job to 62%, run time fell 12x and memory 80%. When it proposes a contract match, the match is right 93% of the time.
- Built a Bayesian hierarchical model of sales rep productivity and sized the surgery-center opportunity from public CMS data, to set the payback bar for adding sales reps. Built an invoice-line risk model whose riskiest 1% of lines holds about half of price-credit dollars.
- Moved LLM contract reading to a cheaper model with 26 of 30 contracts fully correct, cutting cost 78% and run time 73%. Built retrieval over the contract estate: vector search on Databricks across the contract folders, RAG chat over a single contract with quoted PDF citations, and text-to-SQL behind a read-only SQL validator, so answers trace back to the clauses and rows behind them.
- Built a causal inference pipeline in Databricks SQL and Python to measure rebate ROI, using propensity score matching and inverse propensity weighting, and a price-optimization platform recommending SKU- and family-level prices from isotonic demand models and dynamic programming over price tiers.
- Merged 248 PRs in 12 months across three web apps (Python, FastAPI, Next.js/TypeScript, PostgreSQL, Docker, GitHub Actions, Azure) by directing AI coding agents through written specs and stacked PRs, with tests on 119 of 136 recent PRs. Reviewed 101 of my teammates' PRs and built the shared job-execution platform the team now registers its pipelines on.
- Mentor a senior data scientist and full-stack developers, and work with finance, operations and pricing to get models into daily use.
What is measured and what isn't. The forecast and roster-matching numbers come from backtests and before-and-after runs. The load-time, PR and test counts are engineering numbers, not business outcomes. Still open: usage of the forecast and of contract search and chat, rebate ROI lift against the matched control, and the deduction agents, which are designed and through security review but not yet deployed.