Stats Perform logo

Sports Data API - Soccer - Live Win Probability Feed (MA21)

Overview

The Soccer Live Win Probability feed provides match win, draw, and loss probability data for the two contestants in a soccer fixture. It returns pre-match predictive analytics before kick-off and live predictive analytics once the match has started.

The model predicts goal rates for each team and runs more than 100,000 simulations. The model uses team quality, opponent quality, home advantage, disciplinary events, game state, match time, goals, penalty calls, xG for and against, injury time, and stoppage time.

Model Input Description
Team quality Strength signal for the contestant.
Opponent quality Strength signal for the opposing contestant.
Home advantage Adjustment for home-side advantage.
Yellow cards Discipline factor that can affect expected outcome.
Red cards Discipline factor with larger match-state impact.
Game state Current match state used during live updates.
Time in match Elapsed match time used during live prediction updates.
Goals Current scoring state.
Penalty calls Awarded or missed penalty events that can materially affect probability.
xG for and against Expected goals signal for each side.
Injury time and stoppage time Remaining-time and added-time context used in live simulations.

Competition availability: this feed is currently available for the English Premier League (EPL), but it can be rolled out to additional competitions. Confirm availability with a Stats Perform Account Manager.

Reference article: https://www.theanalyst.com/eu/2021/11/live-win-probability/

Problem Statement & Use Cases

This API solves the business problem of estimating the likelihood of match outcomes before and during a soccer match using a predictive model that reacts to live game state and key events. It supports applications that need a machine-readable probability layer on top of fixture metadata, live scores, and event data.

Use Case Description
Pre-match prediction models Display or ingest home win, away win, and draw probabilities before kick-off.
Live probability dashboards Update match-outcome probabilities during the game as goals, cards, penalties, and other events occur.
Broadcast and editorial graphics Power live win-probability visuals for match centers, articles, studio analysis, or second-screen products.
Event impact analysis Measure how key events such as red cards, goals, awarded penalties, and missed penalties changed expected outcomes.

Compliance & Guidelines

Authentication and API Security

To comply with Stats Perform API security and best-practice requirements, refer to the Stats Perform FAQs, API Overview, and Authentication Guide.

Authentication uses the OAuth method to fetch data.

Polling Frequency

Do not exceed the rate confirmed by Stats Perform. Contact a Stats Perform representative for higher rate limits or clarification.

Match Phase Polling Frequency
Pre-match Once on the morning of match day, based on the scheduled fixture date.
Pre-match Once within 10 days of the fixture start date/time.
During a live match Once per minute, or every 60 seconds, during the game.

Request Formatting Rules

All URLs are case-sensitive. URL strings must contain the correct case, operators, and required parameters, or the API returns an error.

Rule Requirement
Query string start Begin the query parameter string with ? immediately after the feed name or path parameter.
Parameter separator Separate query parameters with &.
Multiple values: AND Use & for multiple values where the API treats them as AND.
Multiple values: OR Use , only if the parameter supports OR-style multiple values.
NOT operator Use ! only if the parameter supports negation.
Underscore-prefixed parameters Include the required _ prefix for parameters such as _fmt and _clbk.
Placeholder braces Remove placeholder curly braces {} from production API calls. They are documentation examples only.
Case sensitivity Preserve exact URL, parameter, and operator case.
Base URL reference The base URL format is {protocol}://{requestDomain}/{feedResource}.

JSONP Requirements

If _fmt=jsonp is used, it must be combined with the callback parameter _clbk.

Constraint Requirement Reason
JSONP callback Use _fmt=jsonp together with _clbk. JSONP requires a callback wrapper function.
Fixed callback value Use a fixed _clbk value whenever possible. Random callback names can reduce cacheability and violate API best-practice logic.
JavaScript frameworks Override framework-generated random callback names, including defaults from common frameworks such as jQuery. Some frameworks generate random JSONP function names unless explicitly configured.

Endpoints

Base URL

https://api.statsperform.com

Feed Resource

/sdapi/v1/soccerdata/matchlivewinprobability

Get Match Live Win Probability by Fixture UUID Path Parameter

GET /sdapi/v1/soccerdata/matchlivewinprobability/{fixtureUuid}?{queryParameters}
GET https://api.statsperform.com/sdapi/v1/soccerdata/matchlivewinprobability/{fixtureUuid}?_fmt={dataFormat}

Get Match Live Win Probability by fx Query Parameter

GET /sdapi/v1/soccerdata/matchlivewinprobability?{queryParameters}
GET https://api.statsperform.com/sdapi/v1/soccerdata/matchlivewinprobability?_fmt={dataFormat}&fx={fixtureUuid}

Usage Summary

Usage Feed
Get pre-match and live win probability data for the competing teams for a specified match. /sdapi/v1/soccerdata/matchlivewinprobability/{fixtureUuid}?{queryParameters}
Get pre-match and live win probability data by passing the fixture UUID to the fx query parameter. /sdapi/v1/soccerdata/matchlivewinprobability?_fmt={dataFormat}&fx={fixtureUuid}

Query Parameters

This feed uses Global query parameters and the feed-specific parameters listed below.

The /matchlivewinprobability feed must be queried by a fixture or match UUID, either as the URL path parameter {fixtureUuid} or through the fx query parameter.

Feed-Specific Query Parameter Combinations

Query Parameter / Path Parameter Description Example Request
{fixtureUuid} Get win, draw, and probability data for a match by fixture UUID as a URL path parameter. GET https://api.statsperform.com/sdapi/v1/soccerdata/matchlivewinprobability/{fixtureUuid}?_fmt={dataFormat}
fx Get win, draw, and probability data for the specified fixture by passing the fixture or match UUID to the fx query parameter. GET https://api.statsperform.com/sdapi/v1/soccerdata/matchlivewinprobability?_fmt={dataFormat}&fx={fixtureUuid}

Parameter Definitions

Parameter Location Description Accepted Values / Format Notes
_fmt Query Response data format. {dataFormat} Global query parameter.
_clbk Query JSONP callback function name. Fixed callback function name. Required when _fmt=jsonp.
fixtureUuid Path Unique fixture or match UUID used to request one match. String; alphanumeric UUID Required when using the path-parameter endpoint.
fx Query Unique fixture or match UUID used to request the specified fixture. String; alphanumeric UUID Alternative to using {fixtureUuid} as a path parameter.

Output Schema

The feed response fields are documented using XML element names. JSON responses contain similar fields, but some XML-only wrapper nodes are omitted or represented differently.

If no live data is available, for example when a fixture is scheduled but not yet playing or not yet played, the feed can return an empty liveData element and omit live sub-elements. The feed updates when new information is available.

`<match

LiveWinProbability>`

Property Value
Format XML only
Nesting matchLiveWinProbability
Description Required root element of fields related to match win probability predictions.
JSON behavior Not present in JSON feed response; the JSON root element is matchInfo.
Attribute Required Description Values
xmlns:soccerdata Yes, XML only Schema reference returned for XML only. http://www.performgroup.com/schema/soccerdata

`<match

Info>`

Property Value
Nesting matchLiveWinProbability/matchInfo
Description Required root element for match information.
Attribute Required Description Values
id Yes Unique fixture or match ID. String; alphanumeric UUID
coverageLevel Yes Coverage level, also known as Tier, that indicates the data collection level followed by analysts and therefore the data available in feeds. String; numeric
opId No Unique Opta match ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
ocId No Unique Opta Core match ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
date Yes Fixture or match date in UTC. Date in format YYYY-MM-DDZ
time No Fixture or match start time in UTC. May be absent or empty until confirmed, then updated. String in format hh:mm:ssZ
localDate Yes Fixture or match local date. Date in format YYYY-MM-DD
localTime No Fixture or match local start time. String in format hh:mm:ss
week No Week in which the match takes place. String
attendanceInfoId No Attendance information ID. Example: 1 means Behind Closed Doors; 2 means Limited Audience. String
attendanceInfo No Additional attendance information, such as Behind Closed Doors or Limited Audience. String
numberOfPeriods No Number of periods that will be played. A regular soccer match has two periods. Integer
periodLength No Duration of a period. A regular soccer period is 45 minutes. Integer
overtimeLength No Overtime length if the match goes beyond regular time. Integer
varEnabled No Indicates whether the fixture has VAR-related data. 0 means VAR info not collected; 1 means VAR info collected; absent means unknown. String; 0, 1, or attribute not present
lastUpdated Yes UTC timestamp when the fixture information or record was last updated. String in format YYYY-MM-DDThh:mm:ssZ

When attendanceInfoId or attendanceInfo is returned, the attendance node and value normally found under matchDetailsExtra are suppressed.

<description>

Property Value
Nesting matchLiveWinProbability/matchInfo/description
Description Optional match description, such as contestant names.
Value String
Attributes None

<sport>

Property Value
Nesting matchLiveWinProbability/matchInfo/sport
Description Required root element for sport fields.
XML value Sport name, for example Soccer.
Attribute Required Description Values
id Yes Unique sport ID. String; alphanumeric UUID
name Yes, JSON only Name of the sport. String

<ruleset>

Property Value
Nesting matchLiveWinProbability/matchInfo/ruleset
Description Required root element for ruleset fields.
XML value Ruleset name.
Attribute Required Description Values
id Yes Unique ruleset ID. String; alphanumeric UUID
name Yes, JSON only Name of the ruleset. String

<competition>

Property Value
Nesting matchLiveWinProbability/matchInfo/competition
Description Required root element for competition fields.
Attribute Required Description Values
id Yes Unique competition ID. String; alphanumeric UUID
ocId No Unique Opta Core competition ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
opId No Unique Opta competition ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
name Yes Competition name. String
knownName No Known name of the competition. String
sponsorName Yes Sponsor name of the competition. String
competitionCode Yes Short three-digit competition code. String
competitionFormat Yes Competition format. One of: Domestic league, Domestic cup, Domestic super cup, International cup, International super cup

<country> under <competition>

Property Value
Nesting matchLiveWinProbability/matchInfo/competition/country
Description Required root element for the country in which the competition is based.
XML value Country name.
Attribute Required Description Values
id Yes Unique ID of the country in which the competition is based. String; alphanumeric UUID
name Yes, JSON only Country name. String

`<tournament

Calendar>`

Property Value
Nesting matchLiveWinProbability/matchInfo/tournamentCalendar
Description Required root element for tournament calendar fields.
XML value Tournament calendar name.
Attribute Required Description Values
id Yes Unique tournament calendar ID. String; alphanumeric UUID
ocId No Unique Opta Core season ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
opId No Unique Opta season ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
startDate Yes Tournament calendar start date in UTC. Date in format YYYY-MM-DDZ
endDate Yes Tournament calendar end date in UTC. Date in format YYYY-MM-DDZ
name Yes, JSON only Tournament calendar name. String

<stage>

Property Value
Nesting matchLiveWinProbability/matchInfo/stage
Source nesting note Source text also references matches/match/matchInfo/stage.
Description Required root element for stage fields.
XML value Stage name.
Attribute Required Description Values
id Yes Unique stage ID. String; alphanumeric UUID
ocId No Unique Opta Core stage ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
opId No Unique Opta stage ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
formatId Yes Unique stage format ID. A team can have the same format ID across seasons but a different stage ID because stage ID is linked with stage and season. String; alphanumeric UUID
startDate Yes Stage start date in UTC. Date in format YYYY-MM-DDZ
endDate Yes Stage end date in UTC. Date in format YYYY-MM-DDZ
name Yes, JSON only Stage name. String

<series>

Property Value
Nesting matchLiveWinProbability/matchInfo/series
Description Optional root element for series fields. May not always be returned.
XML value Series name.
Attribute Required Description Values
id Yes Unique series ID. String; alphanumeric UUID
ocId No Unique Opta Core series ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
opId No Unique Opta series ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
horizontal No Display order for fixtures and standings for groups with the same vertical value. String
formatId Yes Unique ID related to the competition series format. String; alphanumeric UUID
name Yes, JSON only Series name. String

<contestants>

Property Value
Format XML only
Nesting matchLiveWinProbability/matchInfo/contestants
Description Optional root element for contestant fields. May not always be returned.
JSON behavior Not present in JSON/JSONP feed responses; individual contestant elements are returned instead.
Attributes None

<contestant>

Property Value
Nesting matchLiveWinProbability/matchInfo/contestants/contestant
Description Optional root element for a contestant. May not be returned if the match is scheduled and contestants are not yet known; the record is updated once known.
Attribute Required Description Values
id Yes Unique contestant ID. String; alphanumeric UUID
ocId No Unique Opta Core contestant ID. Returned only if queried by Opta Core legacy ID. Empty string if the ID does not exist. String
opId No Unique Opta contestant ID. Returned only if queried by Opta legacy ID. Empty string if the ID does not exist. String
name Yes Contestant name. String
shortName No Short name commonly used to refer to the contestant. String
officialName Yes Official contestant name. String
code No Three-character contestant code, often used on TV scoreboards. String
position Yes Indicates whether the contestant is home or away. One of: home, away

<country> under <contestant>

Property Value
Nesting matchLiveWinProbability/matchInfo/contestants/contestant/country
Description Optional root element for the contestant country. May not always be returned.
XML value Country name.
Attribute Required Description Values
id Yes Unique ID of the country the contestant is from. String; alphanumeric UUID
name Yes, JSON only Country name. String

<venue>

Property Value
Nesting matchLiveWinProbability/matchInfo/venue
Description Optional root element for venue fields. May not always be returned.
XML value Venue name.
Attribute Required Description Values
id Yes Unique venue ID. String; alphanumeric UUID
neutral No Indicates whether the venue is neutral. Source states yes is neutral and no is not neutral. One of: no, yes
longName Yes Long or extended venue name. String
shortName No Short venue name. String
latitude No Venue latitude coordinate. String
longitude No Venue longitude coordinate. String
name Yes, JSON only Venue name. String

`<live

Data>`

Property Value
Nesting matchLiveWinProbability/liveData
Description Optional root element for live data fields.
Attributes None

If no live data is available, the feed returns an empty liveData element and omits some sub-elements. The feed updates when new information is available.

`<match

Details>`

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails
Description Optional root element for match details. Returned only if data is available.
Attribute Required Description Values
periodId Yes Current match period. Covers regular time only. 1 First half; 2 Second half; 3 Extra time first half; 4 Extra time second half; 5 Penalty shootout; 10 Half time; 11 End of second half before extra time; 12 Extra time half time; 13 End of extra time before penalties; 14 Full time; 16 Pre-match
matchStatus Yes Match status. Awarded is used for matches that do not take place or when one contestant is awarded the match with an associated result. One of: Fixture, Playing, Played, Cancelled, Postponed, Suspended, Awarded
matchTime No Current minute of the match. Available only for certain competitions and during the match when matchStatus="Playing". Integer
winner No Match outcome. Only shown when the match is completed and matchStatus="Played". One of: home, away, draw
leg No Leg of the competition in which the match is played. Integer
aggregateId No Identifier used to group and link both legs of a paired soccer match. String; alphanumeric UUID
previousAggregateIds No Aggregated IDs for previous rounds of the fixture, such as previousRoundAggregateId1 or previousRoundAggregateId2. String
previousMatchIds No UUID of previous match. String; alphanumeric UUID
advancementAggregateId No Reference to the aggregate ID indicating which aggregate winner advances to the next round or stage in a paired soccer match series. String; alphanumeric UUID
matchLengthMin No Total full minutes played, including stoppage time. Only shown when matchStatus="Played". Integer
matchLengthSec No Additional seconds beyond full minutes played, including stoppage time. Only shown when matchStatus="Played". Integer
contestantOfTheMatchId No UUID of Team of the Match. String; alphanumeric UUID
playerOfTheMatch No Player of the Match name. String
playerOfTheMatchId No UUID of Player of the Match. String; alphanumeric UUID
goalkeeperOfTheMatch No Goalkeeper of the Match name. String
goalkeeperOfTheMatchId No UUID of Goalkeeper of the Match. String; alphanumeric UUID

<periods>

Property Value
Format XML only
Nesting matchLiveWinProbability/liveData/matchDetails/periods
Description Optional root element for periods in a match. May not always be returned.
JSON behavior Not present in JSON/JSONP feed responses; individual period elements are returned instead.
Attributes None

periods and period elements are returned only if the call includes live=yes, data is available, and the match status is Playing, Played, Suspended, Cancelled, or Postponed.

<period>

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails/periods/period
Description Optional root element for a match period. Returned only if data is available and the match status is Playing, Played, Suspended, Cancelled, or Postponed.
Attribute Required Description Values
id Yes Match period ID. Covers regular time only. 1 First half; 2 Second half
start Yes Period start date and time in UTC. String in format YYYY-MM-DDThh:mm:ssZ
end Yes Period end date and time in UTC. String in format YYYY-MM-DDThh:mm:ssZ
lengthMin Yes Total minutes in the period, including stoppage time. Integer
lengthSec Yes Additional seconds beyond total minutes in the period, including stoppage time. Integer
announcedInjuryTime Yes Announced injury time in seconds. Integer

<suspensions>

Property Value
Format XML only
Nesting matchLiveWinProbability/liveData/matchDetails/periods/period/suspensions
Source nesting note Source text also references matches/match/liveData/matchDetails/periods/period/suspensions.
Description Optional root element for suspensions in a period of a match. May not always be returned.
Attributes None

The source note states that period and suspension elements are returned only if the call includes live data and the match status is Playing, Played, Suspended, Cancelled, or Postponed.

<suspension>

Property Value
Format XML only
Nesting matchLiveWinProbability/liveData/matchDetails/periods/period/suspensions/suspension
Source nesting note Source text also references matches/match/liveData/matchDetails/periods/period/suspensions/suspension.
Description Optional root element for a suspension in a period of a match. May not always be returned.
Attribute Required Description Values
start No Suspension period start date and time in UTC. String in format YYYY-MM-DDThh:mm:ssZ
end No Suspension period end date and time in UTC. String in format YYYY-MM-DDThh:mm:ssZ
announcedInjuryTime Yes Injury time in minutes. Integer
reason No Reason for game suspension. One of: clock affecting, early end

<scores>

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails/scores
Description Optional root element for scores. May not always be returned.
Attributes None

Score elements are returned only if data is available and are visible only when matchStatus is Playing, Played, Suspended, Cancelled, or Postponed.

<ht>

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails/scores/ht
Source nesting note Source text also references matches/match/liveData/matchDetails/scores/ht.
Description Optional root element for first-half scores. May not always be returned.
Attribute Required Description Values
home Yes, if element is present Half-time score of the home team. Integer
away Yes, if element is present Half-time score of the away team. Integer

<ft>

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails/scores/ft
Description Optional root element for full-time, second-half scores. May not always be returned.
Attribute Required Description Values
home Yes Full-time score of the home team. Integer
away Yes, if element is present Full-time score of the away team. Integer

<total>

Property Value
Nesting matchLiveWinProbability/liveData/matchDetails/scores/total
Description Optional root element for total scores. May not always be returned.
Attribute Required Description Values
home Yes, if element is present Total score of the home team. Integer
away Yes, if element is present Total score of the away team. Integer

`<pre

MatchPredictions>`

Property Value
Nesting matchLiveWinProbability/liveData/preMatchPredictions
Description Optional root element for pre-match predictions. For Win, separate prediction sub-elements contain probability ratings for home win, away win, and draw.

The probability values in the child prediction elements add up to 100, so each value can be interpreted as a percentage.

Attribute Required Description Values
type Yes, if element is present Type of pre-match prediction. String; for example Win

<prediction> under `<pre

MatchPredictions>`

Property Value
Nesting matchLiveWinProbability/liveData/preMatchPredictions/prediction
Description Optional element containing a specified pre-match prediction and probability rating.
Attribute Required Description Values
type Yes, if element is present Prediction outcome type to which the probability applies. One of: Home, Away, Draw
probability Yes, if element is present Probability rating for the specified pre-match prediction type. The value should always be rounded to one decimal place. Prediction values sum to 100 and can be read as percentages. String; numeric

`<live

Predictions>`

Property Value
Nesting matchLiveWinProbability/liveData/livePredictions
Description Optional root element for live match predictions. For Win, separate prediction sub-elements contain probability ratings for home win, away win, and draw.

livePredictions is returned only after the match has started, for example when matchStatus is Playing or Played. These elements update throughout the match based on key events and include the match minute and second when the latest live prediction was delivered.

The probability values in the child prediction elements add up to 100, so each value can be interpreted as a percentage.

Attribute Required Description Values
type Yes, if element is present Type of prediction. String; for example Win
periodId Yes, if element is present Match period ID in which the live prediction was delivered. One of: 1, 2, 3, 4
timeMin Yes, if element is present Match minute in which the live prediction was delivered. Integer
timeSec Yes, if element is present Second attributed to the match minute in which the live prediction was delivered. Integer

`<overall

LivePredictions>`

Property Value
Nesting matchLiveWinProbability/liveData/overallLivePredictions
Description Optional root element for overall live match predictions. Covers regular time only.

overallLivePredictions updates throughout the match based on key events and includes the match minute and second when the latest live prediction was delivered.

The probability values in the child prediction elements add up to 100, so each value can be interpreted as a percentage.

Attribute Required Description Values
type Yes, if element is present Type of prediction. String; for example Win
periodId Yes, if element is present Match period ID in which the live prediction was delivered. Covers regular time only. One of: 1, 2
timeMin Yes, if element is present Match minute in which the live prediction was delivered. Integer
timeSec Yes, if element is present Second attributed to the match minute in which the live prediction was delivered. Integer

<prediction> under `<live

Predictions>or`

Property Value
Nesting matchLiveWinProbability/liveData/livePredictions/prediction or matchLiveWinProbability/liveData/overallLivePredictions/prediction
Description Optional element containing an updated live match prediction and probability rating. Updated throughout the match based on key event data.

This prediction element is returned only after the match has started, for example when matchStatus is Playing or Played.

Attribute Required Description Values
type Yes, if element is present Updated live prediction type to which the probability applies. One of: Home, Away, Draw
probability Yes, if element is present Probability rating for the updated live prediction type. The value should always be rounded to one decimal place. Prediction values sum to 100 and can be read as percentages. String; numeric

<events>

Property Value
Nesting matchLiveWinProbability/liveData/events
Description Optional element containing events that occurred during the match, including key event and qualifier detail breakdowns that can significantly affect match probability. Examples include red cards, goals, awarded penalties, and missed penalties.
Attributes None

events and its sub-elements are returned only after the match has started, for example when matchStatus is Playing or Played. The element updates throughout the match with key event data.

<event>

Property Value
Nesting matchLiveWinProbability/liveData/events/event
Description Optional element containing an event that occurred during the match.
Attribute Required Description Values
id Yes Unique event ID within Opta's entire database of all events in all games. Integer
eventId Yes Unique event ID within this game. Integer
typeId Yes Event type ID defining the type of event that occurred. May have an associated qualifierId for more detail. Cross-reference with Event Types and Qualifier Types in the MA3 guide. Integer
periodId Yes Match period in which the event occurred. 1 First half; 2 Second half; 3 Extra time first half; 4 Extra time second half; 5 Penalty shootout; 10 Half time; 11 End of second half before extra time; 12 Extra time half time; 13 End of extra time before penalties; 14 Full time; 16 Pre-match
timeMin Yes, if element is present Match minute in which the event occurred. Integer
timeSec Yes, if element is present Second attributed to the match minute in which the event occurred. Integer
contestantId No Unique team ID related to the event. String; alphanumeric UUID
playerId No Unique player ID related to the event. String; alphanumeric UUID
playerName No Player name related to the event. String
outcome No Boolean operator. Refer to Event Types and Qualifier Types in the MA3 guide. Integer; 0 or 1
x No Pitch length coordinate. 0 is always the defensive goal line and 100 is the attacking goal line. Coordinates are displayed as if both teams are playing left to right. Decimal; example 73.9
y No Pitch width coordinate. The right-hand touch line nearest the TV camera is 0; the left-hand touch line furthest away is 100. Decimal; example 95.1
timestamp Yes UK date/time when this event was initially entered into Opta's database. String in format YYYY-MM-DDThh:mm:ssZ
lastModified Yes UK date/time when this event was last modified by the data team. String in format YYYY-MM-DDThh:mm:ssZ

<predictions> under <event>

Property Value
Nesting matchLiveWinProbability/liveData/events/event/predictions
Description Optional element containing updated live predictions and probability ratings recalculated based on this event and any previous events.
Attribute Required Description Values
type Yes, if element is present Type of prediction. String; for example Win

<prediction> under <event>/<predictions>

Property Value
Nesting matchLiveWinProbability/liveData/events/event/predictions/prediction
Description Optional element containing an updated live prediction and probability rating for the specified type.
Attribute Required Description Values
type Yes, if element is present Updated prediction type to which the probability rating applies. One of: Home, Away, Draw
probability Yes, if element is present Probability rating for the specified prediction type. The value should always be rounded to one decimal place. Prediction values sum to 100 and can be read as percentages. String; numeric

<qualifier>

Property Value
Nesting matchLiveWinProbability/liveData/events/event/qualifier
Description Optional set of qualifications that explain and add depth to events. May not be present for some events.
Attribute Required Description Values
id Yes, if element is present Unique qualifier ID within Opta's entire database of all events and games. Example: 1967623354. Integer
qualifierId Yes, if element is present Qualifier type ID. Use with the event typeId to interpret the event. Cross-reference with Event Types and Qualifier Types in the MA3 guide. Integer
value No Value associated with the qualifier ID. String