A Final Score Is Not a Complete Result Record


A pair of numbers is not enough to describe a sports result. It does not identify the event, explain whether play is complete or distinguish a whole-match outcome from a period score. These omissions become expensive when a result is corrected or two sources disagree.
Start the data model with the questions a reviewer will ask after an exception, not just the fields needed to paint a scorecard.
Give every result a scope
Record the provider's event ID and your internal event ID. Add the competition, participants and scheduled start as supporting context, rather than using participant names as the primary key.
Then specify what the result describes: the entire event, an innings, a period or another defined segment. A number that is valid for one scope can be wrong when displayed under another.
Separate completion from the score
A match can stop with a score on the board without producing a normal completed outcome. Your status model should represent those conditions explicitly.
For a hypothetical record, store event E104, scope full match, status awaiting confirmation and revision 3. The visible numbers may be present, but the application should not quietly upgrade the status to confirmed.
Preserve provenance and timing
A practical worksheet asks for five groups: identity, scope, status, values and provenance. Within provenance, retain the source, source revision when available, source update time and your receipt time.
These timestamps answer different questions. A late delivery of an old record is different from a newly issued correction. Keep that difference available to support and reporting teams.
Define the transition rules
Write down which updates may replace the current result and which require review. If the source has no revision number, agree an ordering strategy and document its limitations. Receipt order alone may be unreliable when retries arrive late.
Test a provisional result followed by confirmation, a correction after confirmation and a duplicate delivery. Confirm that each produces the intended current view without deleting the history.
Use a record review worksheet
- Identity: Question the record must answer – Which internal event and supplier event does this describe?
- Scope: Question the record must answer – Is this a whole-event result or a defined segment?
- State: Question the record must answer – Is the record provisional, confirmed or another documented state?
- Values: Question the record must answer – Which measures and units are present, absent or inapplicable?
- Revision: Question the record must answer – Which update is this, and what can it replace?
- Provenance: Question the record must answer – Where did it come from, and when was it observed?
This is an application worksheet, not an API payload specification. A supplier may expose these concepts differently or omit some of them. The mapping should explain how each required answer is obtained and where uncertainty remains.
Distinguish absent from inapplicable
A missing value can mean the source has not supplied it yet. An inapplicable value means the field does not make sense for this record. A zero is a supplied numeric value. Combining those states destroys information.
For a hypothetical segment that was never played, storing a zero score might imply a completed segment with no scoring. If the source instead reports that the segment is not applicable, preserve that meaning in the normalized record and display policy.
Test exports as well as the public view. A carefully modelled null state can still become a misleading zero when a reporting tool substitutes defaults. Include at least one incomplete and one inapplicable record in the acceptance sample so the entire data path is checked.
Ask for evidence before mapping fields
7 Unicorn Gaming lists a Sports Result API. Request real sample structures and status definitions through contact before adopting a schema.
The proposed worksheet is an application design aid, not a claim about fields that the supplier exposes. When a required distinction is absent upstream, record the gap and decide how the product will show uncertainty. A clear pending state is more useful than a confident label built from incomplete evidence.