Methodology notes from the modeling team.
Long-form pieces about how the model works, why we made the decisions we made, and what we've learned along the way. Showing the work is the brand.
A short walk through the design decisions behind the green and blue pills on every player. Why two labels, how verification propagates across platforms and independent feeds, what the tier deliberately does not encode, and the patterns we observe running it across a season.
NHL teams do not publish their lines as a structured field; they have to be derived from shift data. This post walks through three algorithm iterations, the bug that put Connor McDavid on the fourth line, and the design principle that ended up settling the work: truth over what looks good.
OneTouch ranks pre-built lineups by simulating each candidate against a synthetic GPP field. A walk through why the field is archetype-mixed instead of uniform-random, how candidate diversity is generated, and what the gauntlet deliberately does not encode.
The lineup optimizer is an integer linear program solved over the Bayesian posterior, not over a point estimate. This post walks through why ILP, what solving over the posterior actually means, and the split between hard constraints and soft weights in our formulation.