LiveScore fields in every export
Fixture records cover sport, competition and stage, season, match identifier, home and away team, scheduled kickoff in local time and UTC, venue where published, and match status.
Live state is delivered as timestamped observations rather than as a value that gets overwritten: current score, half time score, elapsed minute, and the event stream of goals with scorer where published, cards, substitutions and penalties. Keeping the stream is what lets a client reconstruct the state of a match at any point rather than only how it finished.
Observation timing is recorded on every live row. A score without the moment it was read is not a fact about a match, it is a rumour with a number attached.
Match statistics are captured as published per competition, which varies considerably down the tiers: possession, shots, corners and cards where the competition supplies them, and recorded as absent where it does not rather than filled in.
Every row carries the competition and the collection timestamp, and kickoff times are stored with their time zone, because a fixture list that is an hour wrong twice a year is a fixture list nobody trusts.