Data modelling
Preserving Score and Goal Totals Across PLL Data
30 July 2026 · 4 min read
PLL score, goal totals and point value need separate fields throughout a data product. Lacrosse API carries the split from live observations through fixture state, play-by-play, box scores and season aggregates.
{
"team_id": "team_atlas",
"score": 11,
"points": 11,
"goals": 10,
"one_point_goals": 9,
"two_point_goals": 1
}
Field contract
score and points carry the scoreboard total. goals carries the goal count. one_point_goals and two_point_goals preserve the scoring split without asking a client to reconstruct it from the play log.
That contract stays useful beyond display:
- score-change and lead-change alerts compare the board before and after a play;
- player goal rates use the goals column;
- team scoring margin uses points for and against;
- shooting percentage uses goals and shots.
Live and historical consistency
The same field names and meanings appear in live snapshots and historical stat rows. A client can move from the current board to a completed box score without remapping scoring concepts.
Null remains distinct from zero across partial box scores and historical coverage, and numeric period values remain available for custom quarter and overtime labels.
The API documentation includes the full scoring contract and examples.
More from the blog
- Building a Lacrosse Live Centre: Snapshot, Stream, Resync
24 July 2026 · 7 min read
- From Fixture to Ground Ball: A Lacrosse Data Model That Holds Up
17 July 2026 · 6 min read
- Using Lacrosse Odds Without Losing Provenance
10 July 2026 · 5 min read