Tennis Player Analytics Set (WW)
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.

Row Counts by Table
Counted from the files that ship, not estimated.
| Table | Rows |
|---|---|
| tennis_sessions | 12 |
| tennis_countries | 30 |
| tennis_disciplines | 3 |
| tennis_athletes | 32 |
| tennis_athlete_media | 64 |
| tennis_coaches | 22 |
| tennis_athlete_sessions | 218 |
| tennis_coach_assignments | 218 |
| tennis_venues | 12 |
| tennis_competitions | 12 |
| tennis_events | 72 |
| tennis_event_entries | 1,308 |
| tennis_results | 1,308 |
| tennis_split_metrics | 3,837 |
| tennis_performance_metrics | 1,308 |
| tennis_rankings | 2,616 |
| tennis_training_sessions | 2,616 |
| tennis_training_loads | 2,616 |
| tennis_wellness | 2,616 |
| tennis_physical_assessments | 436 |
| tennis_injuries | 32 |
| tennis_treatments | 96 |
| tennis_equipment | 218 |
| tennis_travel | 1,308 |
| tennis_athlete_financials | 218 |
| tennis_record_benchmarks | 1 |
| tennis_prediction_features | 1,308 |
| tennis_performance_predictions | 1,308 |
| tennis_match_sets | 2,984 |
| tennis_point_events | 10,232 |
Table Relationships
One parent record and seven child tables, each joined back on the same key.
Schema
Every table ships with typed columns, referential integrity, and documentation.
| Column | Type | Description |
|---|---|---|
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| session_label | integer | Session label for the tennis_sessions record. |
| calendar_year | integer | Calendar year for the tennis_sessions record. |
| starts_on | date | starts on as an ISO 8601 calendar date. |
| ends_on | date | ends on as an ISO 8601 calendar date. |
| source_status | varchar(32) | source status in the declared lifecycle, result or source-status vocabulary. |
| Column | Type | Description |
|---|---|---|
| country_id | varchar(8) | Stable identifier for country; use it for declared joins. |
| country_code | varchar(8) | Stable code for country. |
| country_name | varchar(24) | Human-readable country name; names are fictional where the disclosure states so. |
| region_name | varchar(16) | Human-readable region name; names are fictional where the disclosure states so. |
| Column | Type | Description |
|---|---|---|
| discipline_id | varchar(8) | Stable identifier for discipline; use it for declared joins. |
| discipline_code | varchar(8) | Stable code for discipline. |
| discipline_name | varchar(24) | Human-readable discipline name; names are fictional where the disclosure states so. |
| measurement_unit | varchar(16) | Measurement unit for the tennis_disciplines record. |
| governing_context | varchar(64) | Governing context for the tennis_disciplines record. |
| Column | Type | Description |
|---|---|---|
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| athlete_name | varchar(24) | Human-readable athlete name; names are fictional where the disclosure states so. |
| gender | varchar(16) | Gender for the tennis_athletes record. |
| birth_date | date | birth date as an ISO 8601 calendar date. |
| nationality_country_id | varchar(8) | Stable identifier for nationality country; use it for declared joins. |
| nationality_code | varchar(8) | Stable code for nationality. |
| height_cm | integer | height in centimetres. |
+7 more columns in tennis_athletes. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| athlete_media_id | varchar(16) | Stable identifier for athlete media; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(8) | Stable identifier for session; use it for declared joins. |
| media_scope | varchar(16) | Media scope for the tennis_athlete_media record. |
| media_type | varchar(16) | Media type for the tennis_athlete_media record. |
| image_file | varchar(56) | Image file for the tennis_athlete_media record. |
| image_format | varchar(16) | Image format for the tennis_athlete_media record. |
+5 more columns in tennis_athlete_media. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| coach_id | varchar(8) | Stable identifier for coach; use it for declared joins. |
| coach_name | varchar(24) | Human-readable coach name; names are fictional where the disclosure states so. |
| nationality_code | varchar(8) | Stable code for nationality. |
| specialty | varchar(32) | Specialty for the tennis_coaches record. |
| certification_level | varchar(24) | Certification level for the tennis_coaches record. |
| fictional_person_flag | boolean | Boolean indicator for fictional person. |
| Column | Type | Description |
|---|---|---|
| athlete_session_id | varchar(16) | Stable identifier for athlete session; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| coach_id | varchar(8) | Stable identifier for coach; use it for declared joins. |
| age_years | integer | Age years for the tennis_athlete_sessions record. |
| competition_status | varchar(24) | competition status in the declared lifecycle, result or source-status vocabulary. |
| squad_tier | varchar(16) | Squad tier for the tennis_athlete_sessions record. |
+6 more columns in tennis_athlete_sessions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| coach_assignment_id | varchar(16) | Stable identifier for coach assignment; use it for declared joins. |
| coach_id | varchar(8) | Stable identifier for coach; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| assignment_role | varchar(24) | Assignment role for the tennis_coach_assignments record. |
| starts_on | date | starts on as an ISO 8601 calendar date. |
| ends_on | date | ends on as an ISO 8601 calendar date. |
+2 more columns in tennis_coach_assignments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| venue_id | varchar(8) | Stable identifier for venue; use it for declared joins. |
| venue_name | varchar(40) | Human-readable venue name; names are fictional where the disclosure states so. |
| city | varchar(24) | City for the tennis_venues record. |
| country_code | varchar(8) | Stable code for country. |
| venue_type | varchar(16) | Venue type for the tennis_venues record. |
| altitude_m | integer | Altitude m for the tennis_venues record. |
| capacity | integer | Capacity for the tennis_venues record. |
+4 more columns in tennis_venues. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| competition_id | varchar(8) | Stable identifier for competition; use it for declared joins. |
| competition_name | varchar(56) | Human-readable competition name; names are fictional where the disclosure states so. |
| competition_tier | varchar(24) | Competition tier for the tennis_competitions record. |
| venue_id | varchar(8) | Stable identifier for venue; use it for declared joins. |
| country_code | varchar(8) | Stable code for country. |
| surface_or_course | varchar(16) | Surface or course for the tennis_competitions record. |
| recurring_month | integer | Recurring month for the tennis_competitions record. |
+2 more columns in tennis_competitions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| competition_id | varchar(8) | Stable identifier for competition; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| discipline_id | varchar(8) | Stable identifier for discipline; use it for declared joins. |
| event_date | date | event date as an ISO 8601 calendar date. |
| event_round | varchar(16) | Event round for the tennis_events record. |
| gender_class | varchar(16) | Gender class for the tennis_events record. |
+4 more columns in tennis_events. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| entry_id | varchar(16) | Stable identifier for entry; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| entry_rank | integer | Entry rank for the tennis_event_entries record. |
| seed_mark_seconds | numeric(10,3) | seed mark in seconds. |
| lane_or_draw_position | integer | Lane or draw position for the tennis_event_entries record. |
+2 more columns in tennis_event_entries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| result_id | varchar(16) | Stable identifier for result; use it for declared joins. |
| entry_id | varchar(16) | Stable identifier for entry; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| discipline_id | varchar(8) | Stable identifier for discipline; use it for declared joins. |
| finish_position | integer | Finish position for the tennis_results record. |
+8 more columns in tennis_results. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| split_metric_id | varchar(16) | Stable identifier for split metric; use it for declared joins. |
| result_id | varchar(16) | Stable identifier for result; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| split_sequence | integer | Split sequence for the tennis_split_metrics record. |
| split_label | varchar(16) | Split label for the tennis_split_metrics record. |
+5 more columns in tennis_split_metrics. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| performance_metric_id | varchar(16) | Stable identifier for performance metric; use it for declared joins. |
| result_id | varchar(16) | Stable identifier for result; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| technical_efficiency_score | numeric(6,2) | technical efficiency score as the declared analytical score or index. |
| tactical_execution_score | numeric(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.
| Column | Type | Description |
|---|---|---|
| ranking_id | varchar(16) | Stable identifier for ranking; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| ranking_date | date | ranking date as an ISO 8601 calendar date. |
| ranking_position | integer | Ranking position for the tennis_rankings record. |
| ranking_points | integer | Ranking points for the tennis_rankings record. |
| rolling_win_or_top_half_pct | numeric(6,2) | rolling win or top half expressed as a percentage. |
+2 more columns in tennis_rankings. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| training_session_id | varchar(16) | Stable identifier for training session; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| training_date | date | training date as an ISO 8601 calendar date. |
| session_type | varchar(32) | Session type for the tennis_training_sessions record. |
| planned_duration_minutes | integer | planned duration in minutes. |
| completed_duration_minutes | integer | completed duration in minutes. |
+4 more columns in tennis_training_sessions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| training_load_id | varchar(16) | Stable identifier for training load; use it for declared joins. |
| training_session_id | varchar(16) | Stable identifier for training session; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| duration_minutes | integer | duration in minutes. |
| session_rpe_1_10 | integer | Session rpe 1 10 for the tennis_training_loads record. |
| workload_units | integer | Workload units for the tennis_training_loads record. |
+6 more columns in tennis_training_loads. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| wellness_id | varchar(16) | Stable identifier for wellness; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| assessment_date | date | assessment date as an ISO 8601 calendar date. |
| sleep_hours | numeric(4,1) | sleep in hours. |
| sleep_quality_1_10 | integer | Sleep quality 1 10 for the tennis_wellness record. |
| fatigue_1_10 | integer | Fatigue 1 10 for the tennis_wellness record. |
+8 more columns in tennis_wellness. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| physical_assessment_id | varchar(16) | Stable identifier for physical assessment; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| assessment_date | date | assessment date as an ISO 8601 calendar date. |
| body_fat_pct | numeric(5,1) | body fat expressed as a percentage. |
| vo2max_ml_kg_min | numeric(5,1) | Vo2max ml kg min for the tennis_physical_assessments record. |
| counter_movement_jump_cm | numeric(5,1) | counter movement jump in centimetres. |
+5 more columns in tennis_physical_assessments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| injury_id | varchar(16) | Stable identifier for injury; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| injury_date | date | injury date as an ISO 8601 calendar date. |
| body_region | varchar(16) | Body region for the tennis_injuries record. |
| injury_type | varchar(24) | Injury type for the tennis_injuries record. |
| severity_band | varchar(16) | Severity band for the tennis_injuries record. |
+5 more columns in tennis_injuries. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| treatment_id | varchar(16) | Stable identifier for treatment; use it for declared joins. |
| injury_id | varchar(16) | Stable identifier for injury; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| treatment_date | date | treatment date as an ISO 8601 calendar date. |
| treatment_type | varchar(32) | Treatment type for the tennis_treatments record. |
| provider_role | varchar(24) | Provider role for the tennis_treatments record. |
+3 more columns in tennis_treatments. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| equipment_id | varchar(16) | Stable identifier for equipment; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| equipment_category | varchar(24) | Equipment category for the tennis_equipment record. |
| brand_reference | varchar(16) | Brand reference for the tennis_equipment record. |
| model_family | varchar(16) | Model family for the tennis_equipment record. |
| fit_or_setup_code | varchar(16) | Stable code for fit or setup. |
+5 more columns in tennis_equipment. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| travel_id | varchar(16) | Stable identifier for travel; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| origin_country_code | varchar(8) | Stable code for origin country. |
| destination_country_code | varchar(8) | Stable code for destination country. |
| distance_km | integer | distance in kilometres. |
+5 more columns in tennis_travel. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| athlete_financial_id | varchar(16) | Stable identifier for athlete financial; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| prize_money_eur | numeric(11,2) | prize money in euros. |
| appearance_fees_eur | numeric(10,2) | appearance fees in euros. |
| sponsorship_income_eur | numeric(11,2) | sponsorship income in euros. |
| coaching_cost_eur | numeric(9,2) | coaching cost in euros. |
+7 more columns in tennis_athlete_financials. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| record_benchmark_id | varchar(8) | Stable identifier for record benchmark; use it for declared joins. |
| discipline_id | varchar(8) | Stable identifier for discipline; use it for declared joins. |
| gender_class | varchar(16) | Gender class for the tennis_record_benchmarks record. |
| record_scope | varchar(48) | Record scope for the tennis_record_benchmarks record. |
| performance_seconds | integer | performance in seconds. |
| record_date | date | record date as an ISO 8601 calendar date. |
| record_location | varchar(24) | Record location for the tennis_record_benchmarks record. |
+6 more columns in tennis_record_benchmarks. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| prediction_feature_id | varchar(16) | Stable identifier for prediction feature; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| feature_source_cutoff | date | Latest source date available to this feature row; it is strictly earlier than the target event or period when history exists. |
| ranking_before_event | integer | Ranking before event for the tennis_prediction_features record. |
| rolling_form_score | numeric(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.
| Column | Type | Description |
|---|---|---|
| performance_prediction_id | varchar(16) | Stable identifier for performance prediction; use it for declared joins. |
| prediction_feature_id | varchar(16) | Stable identifier for prediction feature; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| prediction_created_on | date | prediction created on as an ISO 8601 calendar date. |
| model_version | varchar(32) | Model version for the tennis_performance_predictions record. |
+9 more columns in tennis_performance_predictions. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| match_set_id | varchar(16) | Stable identifier for match set; use it for declared joins. |
| result_id | varchar(16) | Stable identifier for result; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| set_number | varchar(8) | Set number for the tennis_match_sets record. |
| games_won | integer | Games won for the tennis_match_sets record. |
+4 more columns in tennis_match_sets. The full schema ships with the download.
| Column | Type | Description |
|---|---|---|
| point_event_id | varchar(16) | Stable identifier for point event; use it for declared joins. |
| result_id | varchar(16) | Stable identifier for result; use it for declared joins. |
| event_id | varchar(16) | Stable identifier for event; use it for declared joins. |
| athlete_id | varchar(16) | Stable identifier for athlete; use it for declared joins. |
| session_id | varchar(16) | Stable identifier for session; use it for declared joins. |
| point_sequence | integer | Point sequence for the tennis_point_events record. |
| server_flag | boolean | Boolean 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_id | entry_id | event_id | athlete_id | session_id | discipline_id | finish_position | result_status | official_time_seconds | ranking_points | personal_best_flag | season_best_flag |
|---|---|---|---|---|---|---|---|---|---|---|---|
| RES0000006 | ENT0000006 | EVT01002 | TPLY0050 | SES2015 | DSP002 | 1 | finished | 9616.296 | 1184 | false | true |
| RES0000007 | ENT0000007 | EVT01002 | TPLY0050 | SES2015 | DSP002 | 2 | finished | 12095.193 | 1192 | true | true |
| RES0000008 | ENT0000008 | EVT01002 | TPLY0050 | SES2015 | DSP002 | 3 | finished | 4275.039 | 1178 | false | true |
Version History
| v1.0.0 | 2026-08-11 | First release with complete relational coverage, deterministic generation, documentation, SQL, JSON, CSV and API schema. |
Related Datasets
Basketball Club Analytics Set (EU)
Sports & Athlete PerformanceA complete synthetic European basketball-club warehouse covering eleven seasons of games, play-by-play, shots, tactics, rotations, athlete condition, prediction, roster movement and finance.
Football Club Analytics Set (EU)
Sports & Athlete PerformanceA complete synthetic Italian football-club data warehouse covering eleven seasons of matches, tactics, players, training, medical load, predictions, salaries and club finance.
Sprint Running Athlete Analytics Set (WW)
Sports & Athlete PerformanceA complete worldwide sprint athlete warehouse for short sprint, half-lap and full-lap races, with starts, splits, weather, training, health and prediction.