Tennis Player Analytics Set (WW)

SPTTNS903· 37K records · 30 tables · v1.0.0 · Updated 2026-08-11
Sports & Athlete Performance Sports & Athlete Performance Dataset API
CSV JSON SQL Imagessportwwanalyticsforecastinglongitudinalrelational-data

Overview

This linked tennis analytics product follows modelled players across a longitudinal worldwide competition programme. It joins athlete and season profiles to tournament entries, results, set detail, point events, performance metrics, rankings, coaching, training load, wellness, physical assessments, injuries, treatment, equipment, travel, earnings, record context, identity-matched athlete media and leakage-controlled predictions. The design supports player development, scouting, scheduling, tactical analysis, workload management, injury-risk analysis, financial planning and forecast evaluation without representing a real person or commercial tour record.

Athletes and Performance

Four athletes from the field, with the career numbers the dataset records for them. Every value below is read from the packaged tables.

Adrian Petrov
Adrian PetrovTDDoubles
ArgentinaAge 38Height 182 cmPlays Right
52Tournaments
2Titles
6Podiums
8.56Rating
By season2018 6 tournaments, 0 titles2019 6 tournaments, 0 titles2020 6 tournaments, 2 titles2021 10 tournaments, 0 titles2022 6 tournaments, 0 titles2023 6 tournaments, 0 titles2024 6 tournaments, 0 titles2025 6 tournaments, 0 titles
RatingAvg 8.56
1 / 4

Row Counts by Table

Counted from the files that ship, not estimated.

TableRows
tennis_sessions12
tennis_countries30
tennis_disciplines3
tennis_athletes32
tennis_athlete_media64
tennis_coaches22
tennis_athlete_sessions218
tennis_coach_assignments218
tennis_venues12
tennis_competitions12
tennis_events72
tennis_event_entries1,308
tennis_results1,308
tennis_split_metrics3,837
tennis_performance_metrics1,308
tennis_rankings2,616
tennis_training_sessions2,616
tennis_training_loads2,616
tennis_wellness2,616
tennis_physical_assessments436
tennis_injuries32
tennis_treatments96
tennis_equipment218
tennis_travel1,308
tennis_athlete_financials218
tennis_record_benchmarks1
tennis_prediction_features1,308
tennis_performance_predictions1,308
tennis_match_sets2,984
tennis_point_events10,232

Table Relationships

One parent record and seven child tables, each joined back on the same key.

70%
Loading diagram

Schema

Every table ships with typed columns, referential integrity, and documentation.

tennis_sessions· Rows: 12
ColumnTypeDescription
session_idvarchar(16)Stable identifier for session; use it for declared joins.
session_labelintegerSession label for the tennis_sessions record.
calendar_yearintegerCalendar year for the tennis_sessions record.
starts_ondatestarts on as an ISO 8601 calendar date.
ends_ondateends on as an ISO 8601 calendar date.
source_statusvarchar(32)source status in the declared lifecycle, result or source-status vocabulary.
tennis_countries· Rows: 30
ColumnTypeDescription
country_idvarchar(8)Stable identifier for country; use it for declared joins.
country_codevarchar(8)Stable code for country.
country_namevarchar(24)Human-readable country name; names are fictional where the disclosure states so.
region_namevarchar(16)Human-readable region name; names are fictional where the disclosure states so.
tennis_disciplines· Rows: 3
ColumnTypeDescription
discipline_idvarchar(8)Stable identifier for discipline; use it for declared joins.
discipline_codevarchar(8)Stable code for discipline.
discipline_namevarchar(24)Human-readable discipline name; names are fictional where the disclosure states so.
measurement_unitvarchar(16)Measurement unit for the tennis_disciplines record.
governing_contextvarchar(64)Governing context for the tennis_disciplines record.
tennis_athletes· Rows: 32
ColumnTypeDescription
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
athlete_namevarchar(24)Human-readable athlete name; names are fictional where the disclosure states so.
gendervarchar(16)Gender for the tennis_athletes record.
birth_datedatebirth date as an ISO 8601 calendar date.
nationality_country_idvarchar(8)Stable identifier for nationality country; use it for declared joins.
nationality_codevarchar(8)Stable code for nationality.
height_cmintegerheight in centimetres.

+7 more columns in tennis_athletes. The full schema ships with the download.

tennis_athlete_media· Rows: 64
ColumnTypeDescription
athlete_media_idvarchar(16)Stable identifier for athlete media; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(8)Stable identifier for session; use it for declared joins.
media_scopevarchar(16)Media scope for the tennis_athlete_media record.
media_typevarchar(16)Media type for the tennis_athlete_media record.
image_filevarchar(56)Image file for the tennis_athlete_media record.
image_formatvarchar(16)Image format for the tennis_athlete_media record.

+5 more columns in tennis_athlete_media. The full schema ships with the download.

tennis_coaches· Rows: 22
ColumnTypeDescription
coach_idvarchar(8)Stable identifier for coach; use it for declared joins.
coach_namevarchar(24)Human-readable coach name; names are fictional where the disclosure states so.
nationality_codevarchar(8)Stable code for nationality.
specialtyvarchar(32)Specialty for the tennis_coaches record.
certification_levelvarchar(24)Certification level for the tennis_coaches record.
fictional_person_flagbooleanBoolean indicator for fictional person.
tennis_athlete_sessions· Rows: 218
ColumnTypeDescription
athlete_session_idvarchar(16)Stable identifier for athlete session; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
coach_idvarchar(8)Stable identifier for coach; use it for declared joins.
age_yearsintegerAge years for the tennis_athlete_sessions record.
competition_statusvarchar(24)competition status in the declared lifecycle, result or source-status vocabulary.
squad_tiervarchar(16)Squad tier for the tennis_athlete_sessions record.

+6 more columns in tennis_athlete_sessions. The full schema ships with the download.

tennis_coach_assignments· Rows: 218
ColumnTypeDescription
coach_assignment_idvarchar(16)Stable identifier for coach assignment; use it for declared joins.
coach_idvarchar(8)Stable identifier for coach; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
assignment_rolevarchar(24)Assignment role for the tennis_coach_assignments record.
starts_ondatestarts on as an ISO 8601 calendar date.
ends_ondateends on as an ISO 8601 calendar date.

+2 more columns in tennis_coach_assignments. The full schema ships with the download.

tennis_venues· Rows: 12
ColumnTypeDescription
venue_idvarchar(8)Stable identifier for venue; use it for declared joins.
venue_namevarchar(40)Human-readable venue name; names are fictional where the disclosure states so.
cityvarchar(24)City for the tennis_venues record.
country_codevarchar(8)Stable code for country.
venue_typevarchar(16)Venue type for the tennis_venues record.
altitude_mintegerAltitude m for the tennis_venues record.
capacityintegerCapacity for the tennis_venues record.

+4 more columns in tennis_venues. The full schema ships with the download.

tennis_competitions· Rows: 12
ColumnTypeDescription
competition_idvarchar(8)Stable identifier for competition; use it for declared joins.
competition_namevarchar(56)Human-readable competition name; names are fictional where the disclosure states so.
competition_tiervarchar(24)Competition tier for the tennis_competitions record.
venue_idvarchar(8)Stable identifier for venue; use it for declared joins.
country_codevarchar(8)Stable code for country.
surface_or_coursevarchar(16)Surface or course for the tennis_competitions record.
recurring_monthintegerRecurring month for the tennis_competitions record.

+2 more columns in tennis_competitions. The full schema ships with the download.

tennis_events· Rows: 72
ColumnTypeDescription
event_idvarchar(16)Stable identifier for event; use it for declared joins.
competition_idvarchar(8)Stable identifier for competition; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
discipline_idvarchar(8)Stable identifier for discipline; use it for declared joins.
event_datedateevent date as an ISO 8601 calendar date.
event_roundvarchar(16)Event round for the tennis_events record.
gender_classvarchar(16)Gender class for the tennis_events record.

+4 more columns in tennis_events. The full schema ships with the download.

tennis_event_entries· Rows: 1,308
ColumnTypeDescription
entry_idvarchar(16)Stable identifier for entry; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
entry_rankintegerEntry rank for the tennis_event_entries record.
seed_mark_secondsnumeric(10,3)seed mark in seconds.
lane_or_draw_positionintegerLane or draw position for the tennis_event_entries record.

+2 more columns in tennis_event_entries. The full schema ships with the download.

tennis_results· Rows: 1,308
ColumnTypeDescription
result_idvarchar(16)Stable identifier for result; use it for declared joins.
entry_idvarchar(16)Stable identifier for entry; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
discipline_idvarchar(8)Stable identifier for discipline; use it for declared joins.
finish_positionintegerFinish position for the tennis_results record.

+8 more columns in tennis_results. The full schema ships with the download.

tennis_split_metrics· Rows: 3,837
ColumnTypeDescription
split_metric_idvarchar(16)Stable identifier for split metric; use it for declared joins.
result_idvarchar(16)Stable identifier for result; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
split_sequenceintegerSplit sequence for the tennis_split_metrics record.
split_labelvarchar(16)Split label for the tennis_split_metrics record.

+5 more columns in tennis_split_metrics. The full schema ships with the download.

tennis_performance_metrics· Rows: 1,308
ColumnTypeDescription
performance_metric_idvarchar(16)Stable identifier for performance metric; use it for declared joins.
result_idvarchar(16)Stable identifier for result; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
technical_efficiency_scorenumeric(6,2)technical efficiency score as the declared analytical score or index.
tactical_execution_scorenumeric(6,2)tactical execution score as the declared analytical score or index.

+7 more columns in tennis_performance_metrics. The full schema ships with the download.

tennis_rankings· Rows: 2,616
ColumnTypeDescription
ranking_idvarchar(16)Stable identifier for ranking; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
ranking_datedateranking date as an ISO 8601 calendar date.
ranking_positionintegerRanking position for the tennis_rankings record.
ranking_pointsintegerRanking points for the tennis_rankings record.
rolling_win_or_top_half_pctnumeric(6,2)rolling win or top half expressed as a percentage.

+2 more columns in tennis_rankings. The full schema ships with the download.

tennis_training_sessions· Rows: 2,616
ColumnTypeDescription
training_session_idvarchar(16)Stable identifier for training session; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
training_datedatetraining date as an ISO 8601 calendar date.
session_typevarchar(32)Session type for the tennis_training_sessions record.
planned_duration_minutesintegerplanned duration in minutes.
completed_duration_minutesintegercompleted duration in minutes.

+4 more columns in tennis_training_sessions. The full schema ships with the download.

tennis_training_loads· Rows: 2,616
ColumnTypeDescription
training_load_idvarchar(16)Stable identifier for training load; use it for declared joins.
training_session_idvarchar(16)Stable identifier for training session; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
duration_minutesintegerduration in minutes.
session_rpe_1_10integerSession rpe 1 10 for the tennis_training_loads record.
workload_unitsintegerWorkload units for the tennis_training_loads record.

+6 more columns in tennis_training_loads. The full schema ships with the download.

tennis_wellness· Rows: 2,616
ColumnTypeDescription
wellness_idvarchar(16)Stable identifier for wellness; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
assessment_datedateassessment date as an ISO 8601 calendar date.
sleep_hoursnumeric(4,1)sleep in hours.
sleep_quality_1_10integerSleep quality 1 10 for the tennis_wellness record.
fatigue_1_10integerFatigue 1 10 for the tennis_wellness record.

+8 more columns in tennis_wellness. The full schema ships with the download.

tennis_physical_assessments· Rows: 436
ColumnTypeDescription
physical_assessment_idvarchar(16)Stable identifier for physical assessment; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
assessment_datedateassessment date as an ISO 8601 calendar date.
body_fat_pctnumeric(5,1)body fat expressed as a percentage.
vo2max_ml_kg_minnumeric(5,1)Vo2max ml kg min for the tennis_physical_assessments record.
counter_movement_jump_cmnumeric(5,1)counter movement jump in centimetres.

+5 more columns in tennis_physical_assessments. The full schema ships with the download.

tennis_injuries· Rows: 32
ColumnTypeDescription
injury_idvarchar(16)Stable identifier for injury; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
injury_datedateinjury date as an ISO 8601 calendar date.
body_regionvarchar(16)Body region for the tennis_injuries record.
injury_typevarchar(24)Injury type for the tennis_injuries record.
severity_bandvarchar(16)Severity band for the tennis_injuries record.

+5 more columns in tennis_injuries. The full schema ships with the download.

tennis_treatments· Rows: 96
ColumnTypeDescription
treatment_idvarchar(16)Stable identifier for treatment; use it for declared joins.
injury_idvarchar(16)Stable identifier for injury; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
treatment_datedatetreatment date as an ISO 8601 calendar date.
treatment_typevarchar(32)Treatment type for the tennis_treatments record.
provider_rolevarchar(24)Provider role for the tennis_treatments record.

+3 more columns in tennis_treatments. The full schema ships with the download.

tennis_equipment· Rows: 218
ColumnTypeDescription
equipment_idvarchar(16)Stable identifier for equipment; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
equipment_categoryvarchar(24)Equipment category for the tennis_equipment record.
brand_referencevarchar(16)Brand reference for the tennis_equipment record.
model_familyvarchar(16)Model family for the tennis_equipment record.
fit_or_setup_codevarchar(16)Stable code for fit or setup.

+5 more columns in tennis_equipment. The full schema ships with the download.

tennis_travel· Rows: 1,308
ColumnTypeDescription
travel_idvarchar(16)Stable identifier for travel; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
origin_country_codevarchar(8)Stable code for origin country.
destination_country_codevarchar(8)Stable code for destination country.
distance_kmintegerdistance in kilometres.

+5 more columns in tennis_travel. The full schema ships with the download.

tennis_athlete_financials· Rows: 218
ColumnTypeDescription
athlete_financial_idvarchar(16)Stable identifier for athlete financial; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
prize_money_eurnumeric(11,2)prize money in euros.
appearance_fees_eurnumeric(10,2)appearance fees in euros.
sponsorship_income_eurnumeric(11,2)sponsorship income in euros.
coaching_cost_eurnumeric(9,2)coaching cost in euros.

+7 more columns in tennis_athlete_financials. The full schema ships with the download.

tennis_record_benchmarks· Rows: 1
ColumnTypeDescription
record_benchmark_idvarchar(8)Stable identifier for record benchmark; use it for declared joins.
discipline_idvarchar(8)Stable identifier for discipline; use it for declared joins.
gender_classvarchar(16)Gender class for the tennis_record_benchmarks record.
record_scopevarchar(48)Record scope for the tennis_record_benchmarks record.
performance_secondsintegerperformance in seconds.
record_datedaterecord date as an ISO 8601 calendar date.
record_locationvarchar(24)Record location for the tennis_record_benchmarks record.

+6 more columns in tennis_record_benchmarks. The full schema ships with the download.

tennis_prediction_features· Rows: 1,308
ColumnTypeDescription
prediction_feature_idvarchar(16)Stable identifier for prediction feature; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
feature_source_cutoffdateLatest source date available to this feature row; it is strictly earlier than the target event or period when history exists.
ranking_before_eventintegerRanking before event for the tennis_prediction_features record.
rolling_form_scorenumeric(6,2)rolling form score as the declared analytical score or index.

+8 more columns in tennis_prediction_features. The full schema ships with the download.

tennis_performance_predictions· Rows: 1,308
ColumnTypeDescription
performance_prediction_idvarchar(16)Stable identifier for performance prediction; use it for declared joins.
prediction_feature_idvarchar(16)Stable identifier for prediction feature; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
prediction_created_ondateprediction created on as an ISO 8601 calendar date.
model_versionvarchar(32)Model version for the tennis_performance_predictions record.

+9 more columns in tennis_performance_predictions. The full schema ships with the download.

tennis_match_sets· Rows: 2,984
ColumnTypeDescription
match_set_idvarchar(16)Stable identifier for match set; use it for declared joins.
result_idvarchar(16)Stable identifier for result; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
set_numbervarchar(8)Set number for the tennis_match_sets record.
games_wonintegerGames won for the tennis_match_sets record.

+4 more columns in tennis_match_sets. The full schema ships with the download.

tennis_point_events· Rows: 10,232
ColumnTypeDescription
point_event_idvarchar(16)Stable identifier for point event; use it for declared joins.
result_idvarchar(16)Stable identifier for result; use it for declared joins.
event_idvarchar(16)Stable identifier for event; use it for declared joins.
athlete_idvarchar(16)Stable identifier for athlete; use it for declared joins.
session_idvarchar(16)Stable identifier for session; use it for declared joins.
point_sequenceintegerPoint sequence for the tennis_point_events record.
server_flagbooleanBoolean indicator for server.

+7 more columns in tennis_point_events. The full schema ships with the download.

Sample Data

A snapshot of real rows from the dataset (values are fully synthetic).

result_identry_idevent_idathlete_idsession_iddiscipline_idfinish_positionresult_statusofficial_time_secondsranking_pointspersonal_best_flagseason_best_flag
RES0000006ENT0000006EVT01002TPLY0050SES2015DSP0021finished9616.2961184falsetrue
RES0000007ENT0000007EVT01002TPLY0050SES2015DSP0022finished12095.1931192truetrue
RES0000008ENT0000008EVT01002TPLY0050SES2015DSP0023finished4275.0391178falsetrue

Version History

v1.0.02026-08-11First release with complete relational coverage, deterministic generation, documentation, SQL, JSON, CSV and API schema.

Related Datasets