Data Format
Bayes Live Match Predictions data format and Bayes Live Match Settlements data format closely follow the Bayes Data Format used in our Live Data product, except that LiveDataMessage
is replaced by our prediction or settlement message. See examples below.
Example Prediction Message
{
"_comment": "The following would be the payload of a message sent to Bedex. Bedex header is not shown here.",
"urn": "some:urn",
"type": "some_coverage_type",
"version": "1.0",
"properties": {},
"payload": {
"metadata": {
"title": "csgo",
"tournament": "esports:tournament:516155fd-9441-4805-87dd-6418a9842073",
"match": "esports:match:1aa0386d-2189-4cf6-8085-4c5ca0ac7621",
"teams": {
"team1": "esports:team:3f222519-2242-4857-83ac-3f89ea2c1b9e",
"team2": "esports:team:af49ae8b-efd7-4b48-8e32-8f3917e84e09"
},
"max_maps": 5,
"current_map": 2,
"map_standings": [1, 0]
},
"additionalProperties": {},
"configName": "default",
"liveDataSequenceIndex": 1337,
"createdAt": "2022-05-01T00:00:00.00Z",
"sourceUpdatedAt": "2022-05-02T00:00:00.00Z",
"markets": [
{
"_comment": "Anything which is defined by probabilities summing up to 1, gets its own entry.",
"marketName": "match_winner",
"marketType": "2way",
"specifiers": {},
"_comment": "Suspension reference will be None for markets that never need be suspended, like next map markets."
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.47096126149550344 },
{ "name": "team2", "p": 0.5290387385044966 }
]
},
{
"_comment": "Anything locating a market in space and time not structure is put in the (optional) specifiers: map number, round number and target.",
"marketName": "round_winner",
"marketType": "2way",
"specifiers": { "mapnr": 2, "roundnr": 1 },
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.47096126149550344 },
{ "name": "team2", "p": 0.5290387385044966 }
]
},
{
"_comment": "Yes/no-markets work as before, essentially, but the keys are now static not context-dependent. Same applies to even/odd-markets.",
"marketName": "bomb_planted",
"marketType": "yesno",
"specifiers": {"mapnr": 1, "roundnr": 3},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "yes", "p": 0.67096126149550344 },
{ "name": "no", "p": 0.3290387385044966 }
]
},
{
"marketName": "map_winner_regular_time",
"marketType": "3way",
"specifiers": { "mapnr": 1 },
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.3833041810699247 },
{ "name": "team2", "p": 0.4719875386881267 },
{ "name": "draw", "p": 0.1447082802419486 }
]
},
{
"_comment": "The following is a stand-in for all objective markets, i.e. Roshan, Barracks, ... where the target defines the x",
"marketName": "xth_tower",
"marketType": "2way",
"specifiers": { "mapnr": 1, "target": 2 },
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.47096126149550344 },
{ "name": "team2", "p": 0.5290387385044966 }
]
},
{
"_comment": "Some markets which are parallel alternatives to each other are separated",
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": -2},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.0 },
{ "name": "team2", "p": 0.8259289302772586 },
{ "name": "draw", "p": 0.17407106972274144 }
]
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": -1},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.17407106972274144 },
{ "name": "team2", "p": 0.6377334672849828 },
{ "name": "draw", "p": 0.1881954629922757 }
]
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": 1},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.3622665327150172 },
{ "name": "team2", "p": 0.3369111044560459 },
{ "name": "draw", "p": 0.30082236282893693 }
]
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": 2},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.6630888955439541 },
{ "name": "team2", "p": 0.0 },
{ "name": "draw", "p": 0.33691110445604583 }
]
},
{
"marketName": "match_score_handicap_asian",
"marketType": "2way",
"specifiers": {"target": 1.5},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "team1", "p": 0.6630888955439541 },
{ "name": "team2", "p": 0.3369111044560459 }
]
},
{
"_comment": "Example for evenodd/yesno/overunder market. Basically 2way with fancy names.",
"marketName": "total_round_kills_away",
"marketType": "overunder",
"specifiers": {"mapnr": 1, "roundnr": 10, "target": 3.5},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "over", "p": 0.6630888955439541 },
{ "name": "under", "p": 0.3369111044560459 }
]
},
{
"marketName": "correct_map_score",
"marketType": "exact",
"specifiers": {},
"suspensionReference": 0.0,
"outcomes": [
{ "name": "2:0", "p": 0.17407106972274144 },
{ "name": "0:2", "p": 0.33691110445604583 },
{ "name": "2:1", "p": 0.1881954629922757 },
{ "name": "1:2", "p": 0.30082236282893693 }
]
}
]
}
}
Example Settlement Message
{
"_comment": "The following would be the payload of a message sent to Bedex. Bedex header is not shown here.",
"urn": "some:urn",
"type": "some_coverage_type",
"version": "1.0",
"properties": {},
"payload": {
"metadata": {
"title": "csgo",
"tournament": "esports:tournament:516155fd-9441-4805-87dd-6418a9842073",
"match": "esports:match:1aa0386d-2189-4cf6-8085-4c5ca0ac7621",
"teams": {
"team1": "esports:team:3f222519-2242-4857-83ac-3f89ea2c1b9e",
"team2": "esports:team:af49ae8b-efd7-4b48-8e32-8f3917e84e09"
}
},
"additionalProperties": {},
"configName": "default",
"liveDataSequenceIndex": 1337,
"createdAt": "2022-05-01T00:00:00.00Z",
"sourceUpdatedAt": "2022-05-02T00:00:00.00Z",
"markets": [
{
"_comment": "Settlements contain the last live-data sequence id where we checked / updated the settlement.",
"marketName": "match_winner",
"marketType": "2way",
"specifiers": {},
"settled": false,
"settledAt": null,
"outcome": "",
"liveDataSequenceIndex": 1337
},
{
"_comment": "For settled markets, the sequence index indicates the live-data message which led to settling the market.",
"marketName": "round_winner",
"marketType": "2way",
"specifiers": { "mapnr": 2, "roundnr": 1 },
"settled": true,
"settledAt": "2022-05-02T00:00:00.00Z",
"outcome": "team1",
"liveDataSequenceIndex": 1000
},
{
"_comment": "A market can be voided, e.g. when we never reached that round.",
"marketName": "bomb_planted",
"marketType": "yesno",
"specifiers": {"mapnr": 1, "roundnr": 35},
"settled": true,
"settledAt": "2022-05-01T23:50:00.00Z",
"outcome": "void",
"liveDataSequenceIndex": 800
},
{
"marketName": "map_winner_regular_time",
"marketType": "3way",
"specifiers": { "mapnr": 1 },
"settled": true,
"settledAt": "2022-05-02T00:00:00.00Z",
"outcome": "draw",
"liveDataSequenceIndex": 1300
},
{
"_comment": "The following is a stand-in for all objective markets, i.e. Roshan, Barracks, ... where the target defines the x",
"marketName": "xth_tower",
"marketType": "2way",
"specifiers": { "mapnr": 1, "target": 1 },
"settled": true,
"settledAt": "2022-05-02T00:00:00.00Z",
"outcome": "team2",
"liveDataSequenceIndex": 123
},
{
"_comment": "Some markets which are parallel alternatives to each other are separated",
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": -2},
"settled": false,
"settledAt": null,
"outcomes": "",
"liveDataSequenceIndex": 1337
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": -1},
"settled": false,
"settledAt": null,
"outcomes": "",
"liveDataSequenceIndex": 1337
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": 1},
"settled": false,
"settledAt": null,
"outcomes": "",
"liveDataSequenceIndex": 1337
},
{
"marketName": "map_handicap",
"marketType": "3way",
"specifiers": {"target": 2},
"settled": false,
"settledAt": null,
"outcomes": "",
"liveDataSequenceIndex": 1337
},
{
"_comment": "evenodd/yesno/overunder markets are basically 2way with fancy names.",
"marketName": "total_round_kills_away",
"marketType": "overunder",
"specifiers": {"mapnr": 1, "roundnr": 10, "target": 3.5},
"settled": true,
"settledAt": "2022-05-01T23:59:00.00Z",
"outcomes": "over",
"liveDataSequenceIndex": 1337
},
{
"_comment": "Assuming we had an exact market, then the outcome would contain the value which won.",
"marketName": "correct_map_score",
"marketType": "exact",
"specifiers": {},
"settled": true,
"settledAt": "2022-05-01T23:59:00.00Z",
"outcomes": "2:0",
"liveDataSequenceIndex": 1337
}
]
}
}