Common Data Format - Meta Data Schema

Type: object

Version 0.3.2

This schema defines the Meta Data as described in the Common Data Format paper.

Type: object

Type: string

Unique identifier for the competition

Type: string

Name of the competition

Type: string

Specifying the competition set-up such as league18 (i.e., league involving 18 teams), league20, knockoutneutral, etc.

Type: string

Age restriction for the competition (e.g., 'U18', 'U20')

Type: string

Type of competition (e.g., 'youth', 'mens', 'womens')

Type: object

Type: string

Unique identifier for the season

Type: string

Season name (e.g., '2022/23')

Type: object

Type: string

Unique identifier for the match

Type: stringFormat: date-time

Scheduled kickoff time in UTC

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: "shootout"
Type: object
Type: object

The following properties are required:

  • play_direction

Type: enum (of string)

Period of the match which can be firsthalf, secondhalf, firsthalfextratime, secondhalfextratime, or shootout

Must be one of:

  • "first_half"
  • "second_half"
  • "first_half_extratime"
  • "second_half_extratime"
  • "shootout"

Type: enum (of string)

The direction of play for the home team. Possible options are leftright or rightleft.

Must be one of:

  • "left_right"
  • "right_left"

Type: stringFormat: date-time

Start time of the period in UTC

Type: stringFormat: date-time

End time of the period in UTC

Type: integer

Frame identifier for the tracking data related to the start of the period

Type: integer

Frame identifier for the tracking data related to the end of the period

Type: string

Unique team identifier of the team playing on the left side of the pitch in this period. The CDF requires a standardized playing direction. The leftteamid and rightteamid should be the actual, non-standardized sides.

Type: string

Unique team identifier of the team playing on the right side of the pitch in this period.

Type: array of object

Whistles that start and end major periods of play

No Additional Items

Each item of this array must be:

Type: object

Type: string

Whistles that start and end major periods of play such as the start and end of halves and interruptions (e.g., weather, VAR review, player health events, streakers or abandoned). Examples of types firsthalf, secondhalf, weatherdelay, healthdelay, injurytreatment fanhealth_delay etc.

Type: string

Sub type related to an interruption, for example 'start' or 'end'

Type: stringFormat: date-time

The time in UTC of the whistle

Type: string

Round of the match (e.g. 1, 2, 3, final, semi_final)

Type: stringFormat: date-time

Scheduled kickoff time in UTC

Type: stringFormat: date-time

Local kickoff time

Type: object

Type: string

Country where the match is played

Type: string

City where the match is played

Type: boolean

Indicates if the roof is open (true) or closed (false)

Type: integer

Precipitation during the match in millimetres

Type: object

Type: object

Type: string

Unique identifier for the home or away team

Type: array of object

Array of player objects. One array under teams/home, one array under teams/away

No Additional Items

Each item of this array must be:

Type: object

Type: string

Unique player identifier

Type: string

Unique team identifier denoting the team the player plays for

Type: integer

Jersey number for a player

Type: boolean

Denotes whether a player started the game (true) or not (false)

Type: string

Last name of the player, null if not available

Type: string

First name of the player, null if not available

Type: string

Name of the team

Type: string

Jersey colour of the team as a hexadecimal color code (e.g. #545B62).

Type: object

Type: string

Unique identifier for the venue or stadium.

Type: number

Length of the pitch in metres, null if not available

Type: number

Width of the pitch in metres, null if not available

Type: string

Name of the venue or stadium

Type: string

Information on the turf of the stadium (natural, natural_reinforced, grass, clay,...)

Type: object

Type: object or null

Video meta data information, null if not relevant

Type: string

Camera perspective (e.g. 'instadium', 'broadcast', 'tactical', 'tacticalwide')

Type: string

Version number for the video data collection in use (e.g. '0.1.0')

Type: string

Vendor name of the video data

Type: integer

Frames per second (i.e., frame rate) of tracking, landmark tracking or video

Type: object or null

Event data meta information, null if not relevant

Type: string

Indicates if the event data was collected 'live' or 'post_match'.

Type: string

Vendor name of the event data

Type: string

Version number for the event data collection in use (e.g. '0.1.0')

Type: object or null

Tracking data meta information, null if not relevant

Type: string

Version number for the tracking data collection in use (e.g. '0.1.0')

Type: string

Vendor name of the tracking data

Type: integer

Frames per second (i.e., frame rate) of tracking, landmark tracking or video

Type: string

Indicates if the tracking data was collected 'live' or 'post_match'.

Type: object or null

Landmark tracking data meta information, null if not relevant

Type: string

Version number for the landmark data collection in use (e.g. '0.1.0')

Type: string

Vendor name of the landmark tracking data

Type: integer

Frames per second (i.e., frame rate) of tracking, landmark tracking or video

Type: string

Indicates if the landmark data was collected 'live' or 'post_match'.

Type: object

Skeletal hierarchy used: which landmarks are tracked and how they are connected. Required when landmark data is provided. Every name here is a landmark name from the landmark data.

Type: string

Name of the landmark the hierarchy is rooted at

Must match regular expression: ^[a-z][a-z0-9_]*$

Type: array of string

Names of every landmark in the hierarchy

No Additional Items

Each item of this array must be:

Type: string
Must match regular expression: ^[a-z][a-z0-9_]*$

Type: array of object

Parent-child pairs describing how the landmarks connect

No Additional Items

Each item of this array must be:

Type: object

Type: string

Name of the parent landmark

Must match regular expression: ^[a-z][a-z0-9_]*$

Type: string

Name of the child landmark

Must match regular expression: ^[a-z][a-z0-9_]*$

Type: object or null

Ball tracking data meta information, null if not relevant. Only relevant when providing an independent ball file.

Type: string

Version number for the ball data collection in use (e.g. '0.1.0')

Type: string

Vendor name of the ball data

Type: integer

Frames per second (i.e., frame rate) of ball tracking

Type: string

Indicates if the ball data was collected 'live' or 'post_match'.

Type: object or null

Meta information

Type: string

Version number for the data collection in use (e.g. '0.1.0')

Type: string

Vendor name of the meta data

Type: object or null

Common Data Format (CDF) meta information

Type: string

Version number for the data collection in use (e.g. '0.1.0')

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Unique identifier for the official

Type: string

First name of the official, null if not available

Type: string

Last name of the official, null if not available

Type: string

Short name of the official, null if not available

Type: enum (of string)

Role of the official (e.g., 'mainreferee', 'assistantreferee', 'fourth_official')

Must be one of:

  • "main_referee"
  • "fourth_official"
  • "assistant_referee"
  • "video_assistant_referee"
  • "assistant_video_assistant_referee"
  • "reserve_assistant_referee"
  • "support_video_assistant_referee"