Skip to content

Accuracy Reporting#

The following describes how to retrieve event and player accuracy reports for past games.

Warning

Event statistics are not considered final until they are validated by our third party statistics sources. Box scores can be considered validated approximately 30 mins after the end of the game when the event status changes from complete to closed.

Using the REST API to query for Accuracy Reports#

Related APIS

Method Description Availability
GET /{sport}/v2/reports/leagues/{league_uuid}/events/accuracy All Leagues
GET /{sport}/v2/reports/events/{event_uuid}/comparisons All Leagues
GET /{sport}/v2/reports/players/{player_uuid}/events/{event_uuid}/comparisons All Leagues

League Overall Accuracies#

The following query retrieve the calculated accuracy and summary for all the league event predictions in the given date range.

/{sport}/v2/reports/events/{event_uuid}/comparisons

The default range is the current season ann only completed events are included.

Here is a partial example of the output's attributes:

    "attributes": {
        "dateStart": "2022-01-01T05:00:00+00:00",
        "dateEnd": "2022-03-01T05:00:00+00:00",
        "played": 387,
        "wl_correct": 243,
        "spread_correct": 192,
        "ou_over": 220,
        "ou_under": 162,
        "ou_even": 5,
        "wl_accuracy": 62.79,
        "spread_accuracy": 49.61
    }

Date ranges for included games can be altered using the startDate and endDate query parameters such as:

?startDate=2022-04-21&endDate=2022-04-30

An Event Comparison#

The event comparisons contains a json object listing the home and away details for the selected game.

GET https://api.quarter4.io/american-football/v2/reports/events/321167b4-ac35-4d9e-8651-9e8ee309fbd6/comparisons

Here's an example:

{
  "data": {
    "id": "\/american-football\/v2\/reports\/events\/3d628032-c004-5fad-a31d-d4aa257ad6d8\/comparisons",
    "type": "EventComparison",
    "attributes": {
      "uuid": "3d628032-c004-5fad-a31d-d4aa257ad6d8",
      "comparisons": {
        "home": {
          "predicted": {
            "winloss": 48.72,
            "spread": 0.5,
            "overunder": 38.37
          },
          "actual": {
            "winloss": "loss",
            "overunder": 32,
            "score": 20
          },
          "market": {
            "avgSpread": 2.57,
            "avgOverunder": 39.05
          }
        },
        "away": {
          "predicted": {
            "winloss": 51.28,
            "spread": -0.5,
            "overunder": 38.37
          },
          "actual": {
            "winloss": "win",
            "overunder": 24,
            "score": 12
          },
          "market": {
            "avgSpread": -2.57,
            "avgOverunder": 39.05
          }
        }
      }
    },
    "relationships": {
      "league": {
        "data": {
          "type": "League",
          "id": "\/american-football\/v2\/leagues\/38344248-9889-11eb-a8ab-0647cdb505d0"
        }
      },
      "event": {
        "data": {
          "type": "Event",
          "id": "\/american-football\/v2\/events\/321167b4-ac35-4d9e-8651-9e8ee309fbd6"
        }
      },
      "winLoss": {
        "data": {
          "type": "WinLoss",
          "id": "\/american-football\/v2\/win_losses\/321167b4-ac35-4d9e-8651-9e8ee309fbd6"
        }
      },
      "winner": {
        "data": {
          "type": "Team",
          "id": "\/american-football\/v2\/teams\/50940e9d-17d3-4fb9-9690-f77a7bf0babd"
        }
      },
      "loser": {
        "data": {
          "type": "Team",
          "id": "\/american-football\/v2\/teams\/df89e1cd-9572-4c1f-9067-793553b5a83f"
        }
      },
      "predictedWinner": {
        "data": {
          "type": "Team",
          "id": "\/american-football\/v2\/teams\/df89e1cd-9572-4c1f-9067-793553b5a83f"
        }
      },
      "predictedLoser": {
        "data": {
          "type": "Team",
          "id": "\/american-football\/v2\/teams\/50940e9d-17d3-4fb9-9690-f77a7bf0babd"
        }
      }
    }
  }
}

A Player in an Event Comparisons#

This example retrieves the Player's Performance Prediction Comparison Report for a given event.

/{sport}/v2/reports/players/{player_uuid}/events/{event_uuid}/comparisons

The result contains a json object listing each predicted prop along with the actual result from the box score and in some cases the average market over/under when available. The actual comparison values will vary by player positions.

Here's an example of the comparisons in the response attributes for a Quarterback:

Note

The properties available in the result will vary by sport. The following is an example from American Football, but hte same process applies to other sports and leagues.

"comparisons": {
    "passingAttempts": {
        "actual": 41,
        "predicted": 37.951,
        "marketAvgOver": "1.83",
        "marketAvgUnder": "1.91"
    },
    "passingCompletions": {
        "actual": 29,
        "predicted": 26.8912,
        "marketAvgOver": "2.05",
        "marketAvgUnder": "1.72"
    },
    "passingCmpPct": {
        "actual": 70.732,
        "predicted": 70.8579
    },
    "passingYards": {
        "actual": 240,
        "predicted": 304.203,
        "marketAvgOver": "1.83",
        "marketAvgUnder": "1.91"
    },
    "passingSacks": {
        "actual": 7,
        "predicted": 3.05492
    },
    "passingSackYards": {
        "actual": 49,
        "predicted": 24.3694
    },
    "passingTouchdowns": {
        "actual": 1,
        "predicted": 2.21337,
        "marketAvgOver": "1.57",
        "marketAvgUnder": "2.30"
    },
    "passingLongest": {
        "actual": 28,
        "predicted": 45.3328,
        "marketAvgOver": "1.83",
        "marketAvgUnder": "1.91"
    },
    "rushingAvgYards": {
        "actual": 2,
        "predicted": 2.72214
    },
    "rushingAttempts": {
        "actual": 1,
        "predicted": 1.40965
    },
    "rushingTouchdowns": {
        "actual": 0,
        "predicted": 0.0568368
    },
    "rushingYards": {
        "actual": 2,
        "predicted": 3.83727,
        "marketAvgOver": "1.92",
        "marketAvgUnder": "1.81"
    },
    "rushingLongest": {
        "actual": 2,
        "predicted": 2.63935
    },
    "passingInterceptions": {
        "actual": 3,
        "predicted": 1.06157,
        "marketAvgOver": "1.78",
        "marketAvgUnder": "1.95"
    },
    "fumblesFumbles": {
        "actual": 1,
        "predicted": 0.83
    }
}

Other Reports#

Additional static reporting documents may be available. If you are looking for something specific please contact your account representative with additional requests.