An independent NHL analytics site: an in-house expected-goals model, player cards inferred by a generative player model, descriptive stats, and a shift-by-shift view of every game — all built from public NHL data.
A gradient-boosted model scores each unblocked shot using its location and pre-shot context — rebound, rush, shot type, and strength and score state, among others.
The player cards come from a generative model: it writes down how a shift produces shots and goals — who shoots, who creates for teammates, who suppresses, how dangerous the shots are, who converts them — and fits one latent skill per player for each of those verbs, jointly across five seasons. Every skill is isolated from linemates, competition, and arena scorekeeping (the model carries explicit terms for each), and each player gets a per-season skill trajectory with a shared aging curve and a next-season projection. Displayed skills always include the player's age — the aging curve is for understanding and projection, never a normalizer. Assists (primary and secondary) anchor playmaking; the model validates against held-out seasons before we publish it.
Net Goals Added /60plugs a player's inferred skills into the model's own production equations and differences against a replacement-level player — an equal-footing skill read on the same zero as WAR. WAR replays his actual season, swapping him for a replacement-level player in every real stint, and converts the goal difference to wins. The full method, formulas, and honest caveats are in docs/metrics.md; the model itself is specified in docs/generative_model.md.
Everything here is built from public NHL data: the play-by-play API, shift charts (with the NHL HTML time-on-ice reports as a fallback), player landing (bios and handedness), and the league schedule and standings. Team logos and player headshots are served from the NHL's asset CDN.
Everything derived — the xG model, the generative player model behind the cards, and the box, on-ice, and individual stats — is computed in-house from those raw feeds.
The ratings and analysis here are free to use. The underlying NHL data remains the NHL's and stays subject to its terms of use, so please respect those when reusing it.
ŷTrick is an independent project and is not affiliated with or endorsed by the National Hockey League.