Provisional
Data
Everything we have: every data table, how many rows it has, where it appears on the site and what each column means. A provisional page to review it all before deciding where each piece goes.
All products
Column dictionary
Column dictionary
dim_circuit (12)
| Column | Unit | Meaning |
|---|---|---|
capacity | recuento | Aforo del circuito (Sportradar). |
circuit_id | UUID | Identificador canónico del circuito (= circuits.id). Clave para unir (lap_times etc. van por circuit_short; aquí por id). |
coordinates | lat,lon | Coordenadas del circuito (Sportradar). |
curves_left | recuento | Nº de curvas a izquierdas (Sportradar). A veces NULL. |
curves_right | recuento | Nº de curvas a derechas (Sportradar). A veces NULL. |
debut | año | Año de debut del circuito en el mundial (Sportradar). |
laps | recuento | Vueltas de carrera típicas (Sportradar). |
length_m | m (metros) | Longitud de la vuelta (Sportradar). NULL para Indianapolis (no está en SR). |
name | texto | Nombre oficial del circuito (Dorna). |
nation | texto | País del circuito (Dorna). |
place | texto | Localidad del circuito (Dorna). |
timezone | IANA tz | Zona horaria, p.ej. 'Europe/Rome'. ⚠️ algún valor de SR es erróneo (Sepang sale 'Asia/Tokyo'). |
dim_circuit_geometry (14)
| Column | Unit | Meaning |
|---|---|---|
alt_m | m | Alçada sobre el nivell del mar del punt (Open-Meteo Elevation, DEM Copernicus GLO-90, resolució 90 m, mitjana mòbil de 5 punts). Per al traçat en 3D (three.js): exagerar el relleu ×3-5 perquè es vegi. Precisió vertical ~5-10 m. |
circuit_id | UUID | Circuit físic → dim_circuit.circuit_id. PK (circuit_id, seq). © OpenStreetMap contributors (ODbL): cal atribució al peu del mapa. |
circuit_name | texto | Nom del circuit. |
circuit_short | código (3 letras) | Codi d'event més recent del circuit (per unir amb fact_sector / fact_circuit_metric). Els codis històrics es resolen per circuit_id via dim_event. |
clockwise | 0/1 | 1 = circuit en sentit horari (vist des de dalt). |
direction_source | categoría | oneway (etiquetes OSM) o curves (corbes dreta/esquerra de dim_circuit). Els sectors de la FIM NO hi són (pendent: CSV manual amb les distàncies dels 3 talls). |
dist_m | m | Distància acumulada des de la meta al llarg del traçat. |
frac | fracción | dist_m / total_m (0-1): per situar un punt de volta o un sector per fracció de volta. |
lat | grados | Latitud WGS84. |
lon | grados | Longitud WGS84. Per pintar en 2D: x = lon·cos(lat mitjana), y = lat (o projecció Mercator); D3 geoPath també val. |
official_m | m | Longitud oficial (dim_circuit.length_m). |
seq | índice | Ordre del punt seguint el SENTIT DE CURSA, des de la línia de meta (0). L'últim punt repeteix el primer (traçat tancat). |
start_source | categoría | Com s'ha fixat la meta: pit_lane (punt més proper al pit lane d'OSM) o longest_straight (recta més llarga, aproximat). Sense línia de meta a OSM: pot estar desplaçada uns 100-300 m dins la recta. |
total_m | m | Longitud del traçat reconstruït (suma dels trams). Difereix de l'oficial < 1 % als circuits marcats OK. |
dim_circuit_sector (11)
| Column | Unit | Meaning |
|---|---|---|
circuit_id | UUID | Circuit físic → dim_circuit / dim_circuit_geometry. PK (circuit_id, sector). |
circuit_short | código (3 letras) | Codi d'event més recent (per unir amb fact_sector.circuit_short). |
dist_end_m | m | Distància des de meta on acaba. |
dist_start_m | m | Distància des de meta on comença. |
frac_end | fracción | Fracció de volta on ACABA el sector (el 4t acaba a 1 = meta). |
frac_start | fracción | Fracció de volta on COMENÇA el sector (0 = meta). Unir amb dim_circuit_geometry.frac per pintar-lo. |
method | categoría | time_share = APROXIMAT (fracció de distància = fracció de temps; error 5-10 % de la volta) · manual = distàncies de reference/circuit_sectors.csv. Etiquetar com a aproximat al mapa mentre sigui time_share. |
n_laps | recuento | Voltes netes de cursa usades. |
season | año | Temporada de les voltes usades (la més recent amb dades). |
sector | índice | Sector FIM 1..4 (T1..T4 de lap_times / fact_sector). |
t_share | fracción | Fracció del temps de volta que dura el sector (mediana de voltes netes de cursa). NULL si method = manual. |
dim_dictionary (5)
| Column | Unit | Meaning |
|---|---|---|
column_name | texto | Columna descrita. |
meaning | texto | Significado de la columna. |
notes | texto | Matices: dirección, rango, referencia. |
table_name | texto | Tabla descrita. |
unit | texto | Unidad en que se expresa el valor. |
dim_event (14)
| Column | Unit | Meaning |
|---|---|---|
circuit_id | UUID | Circuit físic → dim_circuit.circuit_id (resol codis que canvien de circuit: USA Laguna Seca 2010-13 / COTA 2026; POR Estoril 2010-12 / Portimão 2020+). |
circuit_name | texto | Nom del circuit (circuits.name). |
circuit_short | código (3 letras) | Codi d'event de Dorna (clau a tots els fact_*). Codis històrics inclosos (ALR, ANC, DOH, EUR, STY, TER, SLD, EMI, INP, IND…). |
country_iso | ISO-2 | País de l'event (Dorna). |
date_end | fecha | Final del cap de setmana. |
date_start | fecha | Inici del cap de setmana (YYYY-MM-DD). |
event_name | texto | Nom oficial de Dorna (p. ex. GRAND PRIX OF JAPAN). |
has_sprint | 0/1 | 1 = cap de setmana amb esprint (2023+). |
race_date | fecha | Data LOCAL de la cursa (sessió RACNA). NULL si Dorna encara no ha publicat sessions. |
round | recuento | Ronda (ordre per data_start dins l'any). |
sprint_date | fecha | Data LOCAL de l'esprint (SPRNA); NULL si no n'hi ha. |
status | categoría | Estat Dorna: FINISHED / CURRENT / NOT-STARTED… |
tz | IANA tz | Fus horari del circuit (build_map.CIRCUIT_TZ; circuits antics per nom). Fiable (a diferència de dim_circuit.timezone de Sportradar). |
year | año | Temporada. PK (year, circuit_short). Tots els GPs no-test 2010→any en curs, futurs inclosos. |
dim_rider (12)
| Column | Unit | Meaning |
|---|---|---|
country_iso | ISO 3166 alpha-2 | Código de país del piloto. |
country_name | texto | Nombre del país. |
date_of_birth | fecha (YYYY-MM-DD) | Fecha de nacimiento (bio de Sportradar). Escasa: ~45/115 pilotos. |
debut | texto/año | Temporada de debut en el mundial (Sportradar). Escasa. |
first_points | texto | Primeros puntos (Sportradar). Escasa. |
first_pole | texto | Primera pole (Sportradar). Escasa. |
first_victory | texto | Primera victoria (Sportradar). Escasa. |
full_name | texto | Nombre limpio del piloto, p.ej. 'Marc Marquez'. Forma canónica para mostrar. |
height_cm | cm | Altura del piloto (Sportradar). Escasa (~28/115). |
place_of_birth | texto | Lugar de nacimiento (Sportradar). Escasa. |
rider_id | UUID | Identificador canónico del piloto (= competitors.id). Clave para unir TODAS las tablas (competitor_id apunta aquí). |
weight_kg | kg | Peso del piloto (Sportradar). Escasa (~28/115). |
fact_circuit_metric (15)
| Column | Unit | Meaning |
|---|---|---|
circuit_id | UUID | Circuito físico (events.circuit_id) → dim_circuit.circuit_id. |
circuit_name | texto | Nombre del circuito (circuits.name). |
circuit_short | código (3 letras) | Código de evento (PK). Une con fact_* por circuit_short. circuit_id → dim_circuit (puente evento→circuito físico). |
front_row_podium_pct | % | % del podio (de 3) que sale de la 1ª fila. |
mae_grid_final | posiciones | Media de |final − parrilla| (movimiento neto por piloto). |
n_disagree | recuento | Nº de desacuerdos práctica-vs-parrilla entre compañeros. |
n_races | recuento | Carreras RAC 2018+ con ≥8 finishers usadas. year_min/year_max = rango. |
pace_wins_hi | % | Límite superior IC95 de pace_wins_pct. |
pace_wins_lo | % | Límite inferior IC95 de pace_wins_pct. |
pace_wins_pct | % | Entre compañeros de equipo, cuando el ritmo de práctica (PR/FP2 tanda larga) y la parrilla DISCREPAN: % en que acaba delante el de más ritmo. <50 = manda la parrilla. IC Wilson 95 % en pace_wins_lo/hi; n_disagree pequeño (5-17) → orientativo. |
pole_win_pct | % | % de carreras que gana el poleman. |
position_index | 0-100 | Percentil entre circuitos de la media de z(spearman) y z(−sd_reorder). 100 = el más 'de posición' (la parrilla decide), 0 = el más abierto (se remonta). DESCRIPTIVO: probado como condicionante del modelo, no mejora (RACE_MODEL_CIRCUIT.md). |
sd_reorder | posiciones | sd de (final − V1) por carrera: reordenación durante la carrera. Baja (~3,1-3,3) = posición; alta (4,3-4,5) = abierto. |
sd_start | posiciones | sd de (V1 − parrilla) por carrera: caos en la salida. NULL si no hay lap_positions. |
spearman_grid_final | correlación | Media por carrera del Spearman parrilla→final (finishers). Alto (0,8+) = la parrilla manda ('circuito de posición'). GER/SPA/NED/VAL ~0,81-0,84; INA/FRA/ARG/MAL ~0,65-0,71. |
fact_constructor_metric (5)
| Column | Unit | Meaning |
|---|---|---|
constructor | texto | Marca (DUCATI, HONDA, ...). Solo 2018+ (antes lap_times no trae marca). |
metric | categoría | top_speed_max / top_speed_p95 / top_speed_median / race_vs_grid. |
n | recuento | Nº de vueltas con lectura de velocidad. |
value | según metric | top_speed_*: km/h (punta) · race_vs_grid: posiciones NETAS de parrilla por año×marca (>0 = la moto remonta / corre mejor de lo que clasifica; Yamaha negativo). |
year | año | Temporada. |
fact_forecast_eval (21)
| Column | Unit | Meaning |
|---|---|---|
brier_podium | score | Brier de P(podi) sobre tot el camp. Referència ~0,08. |
brier_win | score | Brier de P(victòria) sobre tot el camp (0 = perfecte). |
circuit_short | código (3 letras) | Circuit. |
fav_name | texto | Favorit del model (màx p_win). |
fav_p_win | % (0-100) | P(victòria) del favorit. |
fav_won | 0/1 | 1 = el favorit va guanyar. |
kind | categoría | race_pre (post-Q2) / race_post_sprint (post-esprint) / sprint (pronòstic de l'esprint). Tot walk-forward: cap cursa s'avalua amb dades posteriors. |
mae | posiciones | Error absolut mitjà de exp_pos. |
mae_grid | posiciones | Error absolut mitjà de la graella. |
mae_grid_shrunk | posiciones | Error absolut mitjà de la graella REGRESSADA a la mitjana (final ≈ a + b·graella, ajust walk-forward amb les curses anteriors): comparació justa amb mae. NULL a les primeres curses (< 100 parells). El model calibra; si mae ≈ mae_grid_shrunk, el guany del MAE és només calibració. |
n_finishers | recuento | Classificats. |
n_riders | recuento | Pilots pronosticats. |
pi80_cov | fracción | Fracció de classificats dins del seu PI80 (nominal 0,80). |
round | recuento | Ronda. |
session_type | categoría | RAC o SPR (sessió avaluada). |
spearman | correlación | Spearman entre exp_pos i posició final (classificats). |
spearman_grid | correlación | El mateix per a la graella sola (referència). |
winner_grid | posición | Des d'on va sortir el guanyador. |
winner_name | texto | Guanyador real. |
winner_p_win | % (0-100) | P(victòria) que el model donava al guanyador. |
year | año | Temporada. PK (year, circuit_short, kind). |
fact_grid_penalty (10)
| Column | Unit | Meaning |
|---|---|---|
bike_number | dorsal | Dorsal (del Grid.pdf). |
circuit_short | código (3 letras) | Circuit. |
competitor_id | UUID | Pilot → dim_rider. |
delta | posiciones | grid_pos − q_pos: llocs que recula (>0). Només files amb sanció o absència. Els que pugen per efecte dels altres no surten. |
grid_pos | posición | Posició oficial de sortida (NULL = absent del Grid.pdf: pit lane / no surt). |
q_pos | posición | Posició per quali (Q2 1..n, després Q1), re-rankejada entre els presents al Grid.pdf. |
reason | texto | Text de la sanció de session_incidents (si en menciona el dorsal i 'grid') o 'absent del Grid.pdf'. Pot ser NULL: sanció sense text (p. ex. del GP anterior). |
rider_name | texto | Nom del pilot. |
session_type | categoría | RAC o SPR (cada un té el seu Grid.pdf). |
year | año | Temporada. PK (year, circuit_short, session_type, competitor_id). Només esdeveniments amb Grid.pdf. |
fact_holeshot (11)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
gain | posiciones | Puestos ganados en la salida = grid − pos_v1. + = adelanta; − = pierde puestos. |
grid | posición | Puesto de salida. |
holeshot | bool | True si llegó 1º al final de la V1 (holeshot). |
pos_v1 | posición | Posición al final de la vuelta 1. |
race_date | fecha (YYYY-MM-DD) | Fecha del GP. |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
session_type | categoría | RAC = carrera, SPR = sprint. |
year | año | Temporada. |
fact_incident (13)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuit / codi d'event. |
competitor_id | UUID | Pilot afectat → dim_rider (NULL a les notes generals: sortida, bandera, etc.). |
detail | texto | Text de l'incident tal com surt al log (fins a 250 caràcters). |
incident_id | id | Identificador de l'incident (PK; = session_incidents.id de la duck). |
is_flag | 0/1 | 1 = bandera (vermella; les grogues no es registren al PDF). |
is_penalty | 0/1 | 1 = sanció (long_lap, ride_through, time/position_penalty, sanction). |
kind | categoría | long_lap, ride_through, time_penalty, position_penalty, sanction, track_limit_warning, jump_start, crash, retire, mechanical, rejoin, pit_entry, pit_lane_start, dns, flag (vermella), race_control, other. |
part | índice | 1 normal; 2 = represa d'una cursa partida per bandera vermella. |
rider_name | texto | Nom del pilot (canònic). |
seq | índice | Ordre dins del log de la sessió. |
session_type | categoría | Sessió del PDF: RAC, SPR, Q1, Q2, PR, FP1, FP2, WUP… (RAC2 → RAC amb part=2). |
time_local | HH:MM'SS | Hora del rellotge del circuit segons el log de Race Control (NULL a les notes dels Stewards). No hi ha número de volta: el PDF no en dona. |
year | año | Temporada (2012+). |
fact_lap_position (9)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuit / codi d'event. |
competitor_id | UUID | Pilot → dim_rider. |
gap_s | s | Gap al líder en aquesta volta (NULL = és el líder). Doblats: gap oficial del PDF. |
lap | índice | Volta (1 = final de la primera volta). |
lap_time_s | s | Temps d'aquesta volta. |
position | posición | Posició al pas per meta d'aquesta volta. Un pilot que abandona deixa de tenir files. |
rider_name | texto | Nom del pilot. |
session_type | categoría | RAC o SPR (sessió canònica: en curses partides, la represa). |
year | año | Temporada (2010+). PK (year, circuit_short, session_type, lap, competitor_id). |
fact_q1_forecast (9)
| Column | Unit | Meaning |
|---|---|---|
actual_q1 | posición | Posición REAL en Q1 (track record); ≤2 = promovido. NULL = pronóstico EN VIVO (antes de Q1; campo = PR con posición > 10). |
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
p_promote | % (porcentaje) | Probabilidad de PASAR a Q2 (top 2 de Q1), calibración walk-forward por rango. 0-100. Rango #1 → ~55%. |
pred_rank | posición | Rango predicho dentro del campo de Q1 (mismo predictor que fact_quali_forecast). Q1 es mucho más predecible que Q2: Spearman ~0,70. |
race_date | fecha (YYYY-MM-DD) | Fecha del GP. |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
year | año | Temporada. |
fact_quali_forecast (11)
| Column | Unit | Meaning |
|---|---|---|
actual_q2 | posición | Posición REAL en Q2 (track record). NULL = pronóstico EN VIVO (post-Q1, Q2 aún no corrida; campo = PR top-10 + Q1 top-2). |
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
p_front_row | % (porcentaje) | Probabilidad de 1ª fila (top 3). 0-100. |
p_pole | % (porcentaje) | Probabilidad de pole, calibración empírica walk-forward por rango predicho. 0-100. Q2 es lotería de 1 vuelta: favorito ~38-40%. |
p_top6 | % (porcentaje) | Probabilidad de top 6. 0-100. |
pred_rank | posición | Rango predicho dentro del campo de Q2 = media de los rangos en la Práctica (PR) y en FP2 (formato 2023+; antes, mejor vuelta de toda la práctica). Predictor. Vueltas válidas: no canceladas, no in-laps. Auditoría: Spearman 0,54 en 2023+ (docs/MODEL.md §3). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP. |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
year | año | Temporada. |
fact_quali_risk (5)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
disaster_pct | % (porcentaje) | % de Q2 con mejor tiempo >1,01× la mediana de los demás. Alto = se cae del pelotón (Pol/Oliveira); decorrelacionado de la pace. |
n_q2 | recuento | Nº de apariciones en Q2 (2021+). Gate n≥5. |
rider_name | texto | Nombre canónico. |
track_limit_pct | % (porcentaje) | % de Q2 con la vuelta MÁS RÁPIDA cancelada (track-limits). Alto = aprieta el límite (Acosta/Oliveira/Bagnaia). |
fact_racecraft (8)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
n_races | recuento | Nº de carreras agregadas. Gate n≥10. |
rc_early | posiciones | Racecraft V2–V5, neto de posición (goma fresca). + = adelanta más de lo esperado. |
rc_late | posiciones | Racecraft V5→final, neto de posición (gestión). + = remonta en la gestión. |
rc_total | posiciones | rc_early + rc_late. |
rider_name | texto | Nombre canónico. |
s1_launch | residual (z) | Holeshot: sector 1 de la V1, NETO de grilla. − = llega ANTES a T1 (mejor lanzamiento). |
starter | posiciones | Salida: grilla → posición en V1 (recent-shrunk). + = gana puestos en la salida. |
fact_race_forecast (15)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
exp_pos | posición (esperada) | Posición final esperada, CONDICIONAL a acabar la carrera (media de las simulaciones sin DNF). p_win/p_podium/p_top5/p_top10 son INCONDICIONALES (incluyen el DNF); exp_pos/pi80 no. |
grid | posición | Puesto de salida = clasificación OFICIAL de Q1/Q2 (results). Es el predictor central. NO aplica sanciones de parrilla (pérdida de puestos / salida desde el pit lane). El backtest dice que la grilla sola gana → el modelo NO mueve el orden; añade varianza de salida (global) + ruido V1→final + DNF (solo CALIBRA). |
p_dnf | % (porcentaje) | Probabilidad histórica de NO terminar (DNF), per-piloto encogida hacia la media global. 0-100. Descriptor publicado; su granularidad apenas mueve el pronóstico (ver RACE_MODEL_REVAL.md). |
p_podium | % (porcentaje) | Probabilidad de podio (top 3). |
p_top10 | % (porcentaje) | Probabilidad de top 10. |
p_top5 | % (porcentaje) | Probabilidad de top 5. |
p_win | % (porcentaje) | Probabilidad de ganar (Monte Carlo). 25 = 25%. |
pi80_hi | posición | Límite superior del intervalo de predicción al 80% (peor plausible), condicional a acabar. |
pi80_lo | posición | Límite inferior del intervalo de predicción al 80% (mejor plausible), condicional a acabar. Cobertura empírica ~83% (ligeramente ancho: salida y reordenación V1→final se muestrean independientes; RACE_MODEL_START.md). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP (pronóstico válido ANTES de la carrera). |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
year | año | Temporada de la carrera pronosticada. |
fact_race_forecast_sprint (15)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
exp_pos | posición (esperada) | Posición final esperada, CONDICIONAL a acabar la carrera (media de las simulaciones sin DNF). p_win/p_podium/p_top5/p_top10 son INCONDICIONALES (incluyen el DNF); exp_pos/pi80 no. |
grid | posición | Puesto de salida = clasificación OFICIAL de Q1/Q2 (results). Es el predictor central. NO aplica sanciones de parrilla (pérdida de puestos / salida desde el pit lane). El backtest dice que la grilla sola gana → el modelo NO mueve el orden; añade varianza de salida (global) + ruido V1→final + DNF (solo CALIBRA). |
p_dnf | % (porcentaje) | Probabilidad histórica de NO terminar (DNF), per-piloto encogida hacia la media global. 0-100. Descriptor publicado; su granularidad apenas mueve el pronóstico (ver RACE_MODEL_REVAL.md). |
p_podium | % (porcentaje) | Probabilidad de podio (top 3). |
p_top10 | % (porcentaje) | Probabilidad de top 10. |
p_top5 | % (porcentaje) | Probabilidad de top 5. |
p_win | % (porcentaje) | Probabilidad de ganar (Monte Carlo). 25 = 25%. |
pi80_hi | posición | Límite superior del intervalo de predicción al 80% (peor plausible), condicional a acabar. |
pi80_lo | posición | Límite inferior del intervalo de predicción al 80% (mejor plausible), condicional a acabar. Cobertura empírica ~83% (ligeramente ancho: salida y reordenación V1→final se muestrean independientes; RACE_MODEL_START.md). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP (pronóstico válido ANTES de la carrera). |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
year | año | POST-ESPRINT: pronóstico de CARRERA actualizado con el ritmo del sprint (½ parrilla + ½ ritmo neto del SPR). Solo GPs con sprint (2023+). Temporada de la carrera pronosticada. |
fact_race_pace (19)
| Column | Unit | Meaning |
|---|---|---|
age_max | voltes | Edad de neumático MÁXIMA (un 1:32.9 a 25 v ≠ a 5 v). |
age_min | voltes | Edad de neumático MÍNIMA de las vueltas usadas. |
age_reliable | bool | Edad de pneu fiable (False si goma heredada sin ancla New). |
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
constructor | texto | Marca de la moto. |
deg | s/vuelta | Degradación del piloto en medium (fp_deg mediana, contexto de gestión de goma). Menor = gestiona mejor. |
n_clean | recuento | Nº de vueltas limpias usadas (tras filtro ≤0.20 s/km). |
pace_s | s (segundos) | Ritmo de carrera = MEDIANA de las vueltas limpias. Menor = más rápido. |
pace_s_per_km | s/km | Ritmo normalizado por longitud de circuito (comparable entre pistas). |
pace_sd | s | Desviación típica (consistencia). Menor = más regular. |
rear_compound | categoría | Compuesto trasero del pool (medium usado). |
rider_name | texto (crudo) | Nombre del piloto (de lap_times). Unir por competitor_id. |
session_scope | categoría | practice (estimado, medium usado) / race / sprint (ritmo real, mediana limpia). |
t1 | s | Mediana del sector 1 de las vueltas usadas. |
t2 | s | Mediana del sector 2. |
t3 | s | Mediana del sector 3. |
t4 | s | Mediana del sector 4 (NULL en circuitos de 3 sectores). |
year | año | Temporada. |
fact_race_residual (8)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
final_pos | posición | Puesto final. Solo finishers (los DNF no tienen residuo → hueco en la curva). |
grid_pos | posición | Puesto de salida (parrilla). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP (orden cronológico de la evolución). |
race_vs_grid | posiciones | Residuo de grilla POR carrera = (ajuste final~grilla) − final. >0 = acaba MEJOR de lo que dice su parrilla (neto del margen de salida). Base por carrera; el agregado vive en fact_rider_metric y el per-año en la vista v_rider_residual_year. |
rider_name | texto | Nombre canónico. |
year | año | Temporada. |
fact_race_result (18)
| Column | Unit | Meaning |
|---|---|---|
average_speed | km/h | Velocidad media. |
best_lap_time | tiempo (m:ss.sss) | Mejor vuelta, como TEXTO. Parsear a segundos si se ordena. |
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
constructor | texto | Marca de la moto. |
gap_first | tiempo (texto) | Diferencia con el 1º. TEXTO (p.ej. '+3.512' o '1 Lap'). |
points | puntos | Puntos obtenidos. |
position | posición | Puesto final. NULL si no clasificado (DNF/DNS). |
race_date | fecha (YYYY-MM-DD) | Fecha de la sesión. |
rider_name | texto | Nombre limpio (de competitors). |
round | nº de ronda | Orden cronológico del GP. |
session_type | categoría | RAC = carrera, SPR = sprint. |
status | categoría | Estado oficial (FINISHED, DNF, OUTSTND, ...). |
team | texto | Equipo. |
time | tiempo (texto) | Tiempo total / formato de origen. TEXTO; parsear si se compara. |
top_speed | km/h | Velocidad punta del piloto. A menudo NULL en origen. |
total_laps | recuento | Vueltas completadas. |
year | año | Temporada. |
fact_race_story (18)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuit. |
closest_finish_s | s | Gap del 2n a l'arribada. |
comeback_from | posición | Des d'on va sortir el de la remuntada. |
comeback_rider | texto | Remuntada més gran (graella oficial → final; V1 si no hi ha graella). |
comeback_to | posición | On va acabar. |
lead_changes | recuento | Canvis de líder entre voltes. |
longest_battle | texto | Els dos pilots de la batalla més llarga ('A vs B'). |
longest_battle_laps | recuento | Voltes de la batalla més llarga. |
n_battles | recuento | Batalles: dos pilots consecutius a < 1 s durant ≥ 5 voltes seguides. |
n_classified | recuento | Pilots presents a l'última volta. |
n_laps | recuento | Voltes de la cursa (última volta del líder). |
n_leaders | recuento | Pilots diferents que han liderat. |
overtakes | recuento | Avançaments: parells de pilots presents a dues voltes seguides que s'inverteixen (no compta pujar per un abandonament). Al pas per meta; els dobles avançaments dins d'una volta no es veuen. |
red_flag | 0/1 | 1 = bandera vermella a la sessió (session_incidents). |
session_type | categoría | RAC o SPR. |
winner_laps_led | recuento | Voltes al capdavant del guanyador. |
winner_name | texto | Guanyador. |
year | año | Temporada. PK (year, circuit_short, session_type). |
fact_race_story_rider (15)
| Column | Unit | Meaning |
|---|---|---|
best_pos | posición | Millor posició durant la cursa. |
circuit_short | código (3 letras) | Circuit. |
classified | 0/1 | 1 = present a l'última volta. |
competitor_id | UUID | Pilot → dim_rider.rider_id. |
gain_v1_final | posiciones | Llocs guanyats de V1 a l'última volta (>0 = remunta). |
laps_done | recuento | Voltes completades. |
laps_led | recuento | Voltes al capdavant. |
overtakes_made | recuento | Avançaments fets. |
overtakes_suffered | recuento | Avançaments patits. |
pos_final | posición | Posició a la seva última volta (si abandona, on anava). Pot diferir de la classificació oficial en doblats. |
pos_v1 | posición | Posició al final de la volta 1. |
rider_name | texto | Nom del pilot. |
session_type | categoría | RAC o SPR. |
worst_pos | posición | Pitjor posició durant la cursa. |
year | año | Temporada. PK (year, circuit_short, session_type, competitor_id). |
fact_rider_circuit (10)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito, p.ej. ITA, NED, SPA. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
constructor | texto | Marca predominante del piloto en ese circuito. |
level | categoría | Nivel cualitativo: fuerte / normal / flojo (según z). |
metric | categoría | affinity_quali o affinity_race. |
n | recuento | Nº de sesiones del piloto en ese circuito (tamaño de celda). |
rider_name | texto (crudo) | Nombre de lap_times (apellido en MAYÚS). Unir por competitor_id. |
sub | texto | Subdivisión; VACÍO para afinidad. Reservado (sector/compuesto en otras métricas). |
value | puntos de % (gap) | Afinidad = media del piloto en TODOS los circuitos − su media en ESTE. Positivo = rinde POR ENCIMA de su nivel aquí. |
z | σ (z-score) | Afinidad estandarizada = value / (sd_piloto/√n). |z|≥1 = señal fuerte. |
fact_rider_decay (8)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
metric | categoría | fp_deg (práctica, por compuesto) / race_net_decay (carrera, neto) / race_deg_fuelcorr (neto corregido por combustible, A.6). |
n | recuento | Nº de runs (fp) o carreras (race) agregados. |
p25 | s/vuelta | Percentil 25 de la pendiente (mejor cuartil). |
p75 | s/vuelta | Percentil 75 de la pendiente. |
rider_name | texto | Nombre del piloto. Unir por competitor_id. |
scope | categoría | Compuesto (Soft/Medium/Hard) para fp_deg; '' para race. |
value | s/vuelta | Degradación MEDIANA (pendiente). Menor = gestiona mejor la goma. fp_deg es relativa (fuel de FP); race_net es neta. |
fact_rider_injury (9)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Event afectat. |
competitor_id | UUID | Pilot → dim_rider. |
kind | categoría | hurt = corre lesionat · absent = no corre · comeback = 1r/2n event després d'una absència o lesió. |
note | texto | Nota lliure (CSV) o explicació automàtica. |
origin | categoría | manual (maintenance/reference/rider_injury.csv) · auto (absència detectada: cap resultat entre dos caps de setmana disputats) · derivat (comeback). Les lesions 'corrent' només es poden saber a mà: editar el CSV. |
rider_name | texto | Nom del pilot. |
round | recuento | Ronda del calendari. |
weight | factor | Pes del resultat a la simulació del campionat: hurt 0,25 · comeback 0,5 · absent 0. |
year | año | Temporada (en curs i anterior). PK (year, competitor_id, circuit_short). |
fact_rider_metric (8)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
metric | categoría | quali_race_residual (A.4) / consistency (A.5) / top_speed_rider (C7) / places_gained (F.4-P.1) / race_vs_grid (residuo de grilla) / practice_to_quali_z / practice_to_race_z (sandbagging). |
n | recuento | Nº de sesiones/stints/carreras agregados. |
p25 | según metric | Percentil 25 (IQR) donde aplica. |
p75 | según metric | Percentil 75 / mediana (top_speed) donde aplica. |
rider_name | texto | Nombre del piloto. Unir por competitor_id. |
scope | categoría | 'all', 'race' o 'quali' según la métrica. |
value | según metric | quali_race_residual: >0 especialista/<0 diésel · consistency: resid_cv % (menor=regular) · top_speed_rider: km/h · places_gained: puestos grid→final · race_vs_grid: pos. netas de parrilla (>0 corre mejor) · practice_to_*_z: z 'esconde ritmo'. practice_to_*_z: z medio (±3) dentro de sesión; >0 = en la sesión decisiva va MÁS rápido de lo que parecía en PR/FP2. DESCRIPTIVO (ICC≈0,05), no input; n = GPs (≥10). race_vs_grid = AR validado. |
fact_rider_ranking (9)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
metric | categoría | Métrica de ritmo: race_pace / quali_pace / fp_long_pace / fp_attack_pace. |
n | recuento | Nº de sesiones agregadas. |
p25 | % (porcentaje) | Percentil 25 del % de gap del piloto (su buen cuartil). Menor = mejor. |
p75 | % (porcentaje) | Percentil 75 del % de gap (su mal cuartil). Mide consistencia. p75−p25 = dispersión. |
pctile | percentil [0,1] | Posición relativa del piloto dentro de sesión, mediana. 0 = mejor, 1 = peor. |
rider_name | texto (crudo) | Nombre como aparece en lap_times (apellido en MAYÚS). Para unir, usar competitor_id, no este texto. |
scope | categoría | Régimen (race/quali/fp_long/fp_attack); coincide con metric. |
value | % (porcentaje) | Ritmo relativo MEDIANO: % por encima del mejor de la sesión. 0 = el más rápido; MENOR = MEJOR. Mediana entre sesiones. |
fact_season_metric (12)
| Column | Unit | Meaning |
|---|---|---|
avg_finishers | recuento | Classificats mitjans per cursa. |
dnf_pct | % | % de DNF sobre els que surten. |
front_row_podium_pct | % | % del podi sortit de la 1a fila. |
mae_grid_final | posiciones | Mitjana de |final − graella|. |
n_podium_riders | recuento | Pilots diferents al podi. |
n_races | recuento | Curses amb ≥8 classificats. |
n_winners | recuento | Guanyadors diferents. |
pole_win_pct | % | % de curses guanyades pel poleman. |
sd_reorder | posiciones | sd de (final − V1) per cursa (reordenació en cursa). Referència 3,0-4,2; alerta > 4,3. |
sd_start | posiciones | sd de (V1 − graella) per cursa (caos de sortida). |
spearman_grid_final | correlación | Mitjana per cursa del Spearman graella→final. Alt = la graella mana. Referència 2016-26: 0,68-0,84; alerta 2027 si < 0,68 o > 0,82 amb ≥10 curses. |
year | año | Temporada (PK). |
fact_sector (6)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
gap_pct | % (porcentaje) | Gap MEDIANO al mejor de ese sector intra-sesión (0 = el más rápido). Menor = más rápido en ese tramo. |
n | recuento | Nº de sesiones agregadas. |
rider_name | texto | Nombre del piloto. Unir por competitor_id. |
sector | categoría | Sector: t1/t2/t3/t4 (los 4 particionan la vuelta; t4 derivado). Tramo físico, no tipo de curva. |
fact_sector_season (7)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuit. |
competitor_id | UUID | Pilot → dim_rider. |
gap_pct | % | Mediana, sobre les sessions d'aquell cap de setmana, del gap % al millor del sector dins de cada sessió (menor = més ràpid). Només sec; ≥2 sessions. |
n | recuento | Sessions del cap de setmana amb dades del pilot. |
rider_name | texto | Pilot. |
sector | índice | Sector 1..4 (mateix codi que fact_sector). |
year | año | Temporada (2018+). PK (year, circuit_short, sector, rider_name). Versió per any de fact_sector: l'usuari tria agregat o temporada. |
fact_sprint_forecast (15)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
exp_pos | posición (esperada) | Posición final esperada, CONDICIONAL a acabar la carrera (media de las simulaciones sin DNF). p_win/p_podium/p_top5/p_top10 son INCONDICIONALES (incluyen el DNF); exp_pos/pi80 no. |
grid | posición | Puesto de salida = clasificación OFICIAL de Q1/Q2 (results). Es el predictor central. NO aplica sanciones de parrilla (pérdida de puestos / salida desde el pit lane). El backtest dice que la grilla sola gana → el modelo NO mueve el orden; añade varianza de salida (global) + ruido V1→final + DNF (solo CALIBRA). |
p_dnf | % (porcentaje) | Probabilidad histórica de NO terminar (DNF), per-piloto encogida hacia la media global. 0-100. Descriptor publicado; su granularidad apenas mueve el pronóstico (ver RACE_MODEL_REVAL.md). |
p_podium | % (porcentaje) | Probabilidad de podio (top 3). |
p_top10 | % (porcentaje) | Probabilidad de top 10. |
p_top5 | % (porcentaje) | Probabilidad de top 5. |
p_win | % (porcentaje) | Probabilidad de ganar (Monte Carlo). 25 = 25%. |
pi80_hi | posición | Límite superior del intervalo de predicción al 80% (peor plausible), condicional a acabar. |
pi80_lo | posición | Límite inferior del intervalo de predicción al 80% (mejor plausible), condicional a acabar. Cobertura empírica ~83% (ligeramente ancho: salida y reordenación V1→final se muestrean independientes; RACE_MODEL_START.md). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP (pronóstico válido ANTES de la carrera). |
rider_name | texto | Nombre canónico. |
round | nº de ronda | Orden cronológico del GP. |
year | año | PRONÓSTICO DEL SPRINT (pre-sprint, generado tras Q2): mismo modelo con pools propios del sprint (salida, reordenación y DNF del SPR). Solo GPs con sprint (2023+). Temporada de la carrera pronosticada. |
fact_standings (9)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuito del GP. |
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
cum_points | puntos | Puntos acumulados del año hasta esa ronda (incluida). |
race_date | fecha (YYYY-MM-DD) | Fecha del GP. |
rider_name | texto | Nombre limpio (de competitors). |
round | nº de ronda | Orden cronológico del GP dentro del año. |
round_points | puntos | Puntos sumados en esa ronda (carrera + sprint). |
standings_pos | posición | Posición en el mundial tras esa ronda. 1 = líder. |
year | año | Temporada. |
fact_teammate_h2h (23)
| Column | Unit | Meaning |
|---|---|---|
avg_pos_a | posición | Posició final mitjana de A (classificats). |
avg_pos_b | posición | Posició final mitjana de B. |
competitor_id_a | UUID | Pilot A (el de més punts) → dim_rider. |
competitor_id_b | UUID | Pilot B → dim_rider. |
grid_a_ahead | recuento | Graelles amb A davant. |
grid_b_ahead | recuento | Graelles amb B davant. |
grids_both | recuento | Graelles comparables (graella oficial de cursa). |
podiums_a | recuento | Podis de A (cursa). |
podiums_b | recuento | Podis de B. |
points_a | puntos | Punts de A (cursa + esprint). |
points_b | puntos | Punts de B. |
race_a_ahead | recuento | Curses en què A acaba davant de B (un DNF perd contra un classificat). |
race_b_ahead | recuento | Curses en què B acaba davant. |
races_both | recuento | Curses comparables (tots dos amb resultat; dos DNF no compten). Els dos pilots amb més sortides de l'equip, ≥5 cadascun. |
rider_a | texto | Nom del pilot A. |
rider_b | texto | Nom del pilot B. |
sprint_a_ahead | recuento | Esprints amb A davant. |
sprint_b_ahead | recuento | Esprints amb B davant. |
sprints_both | recuento | Esprints comparables. |
team | texto | Equip (nom oficial de la temporada). |
wins_a | recuento | Victòries de A (cursa). |
wins_b | recuento | Victòries de B. |
year | año | Temporada. PK (year, team). |
fact_title_forecast (19)
| Column | Unit | Meaning |
|---|---|---|
alive | 0/1 | 1 = encara pot ser campió matemàticament (max_points ≥ punts actuals del líder). |
competitor_id | UUID | Pilot → dim_rider.rider_id. |
exp_points | puntos | Punts esperats a final de temporada (forma recent). |
exp_points_season | puntos | Punts esperats amb pes uniforme (tot l'any). |
exp_pos | posición | Posició final esperada al mundial. |
max_points | puntos | Màxim matemàtic (actuals + 25/cursa + 12/esprint). |
n_hurt | recuento | Curses de l'any amb pes reduït per lesió (corria lesionat ×0,25; 2 events de retorn ×0,5), segons fact_rider_injury. Una mala ratxa per lesió no compta com a mala forma. |
n_starts | recuento | Curses disputades aquest any (base del bootstrap). < 3 → no se simula (queda amb els punts actuals). |
p_title | % (0-100) | P(títol) amb FORMA RECENT: cada cursa pendent re-mostreja un resultat propi de l'any amb pes exponencial (mitja vida 5 rondes: l'última cursa pesa el doble que la de fa 5) i el camp es reordena; N=10000. Titular. Sense ajust. Els caps de setmana no disputats no penalitzen. Mostrar-la amb p_title_season: l'interval és el missatge. |
p_title_season | % (0-100) | P(títol) amb TOT L'ANY a pes uniforme (mateixa simulació). Amb marges petits les dues xifres poden diferir 20-30 punts: dir 'entre X i Y segons com es pesi la forma'. |
p_top3 | % (0-100) | Probabilitat d'acabar el mundial al top 3. |
points_now | puntos | Punts actuals (cursa + esprint). |
pos_now | posición | Posició actual al mundial. |
pts_p10 | puntos | Percentil 10 dels punts finals simulats. |
pts_p90 | puntos | Percentil 90 dels punts finals simulats. |
races_left | recuento | Curses pendents de la temporada. |
rider_name | texto | Nom del pilot. |
sprints_left | recuento | Esprints pendents. |
year | año | Temporada simulada (la en curs). PK (year, competitor_id). |
fact_title_forecast_hist (6)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Event de la ronda. |
p_title | % (0-100) | P(títol) forma recent tal com s'hauria publicat després d'aquesta ronda. A les rondes 1-2 el bootstrap té 1-2 mostres per pilot: molt volàtil (min_starts = ronda). |
p_title_season | % (0-100) | P(títol) tot l'any (uniforme) després d'aquesta ronda. |
points_now | puntos | Punts després d'aquesta ronda. La resta de columnes: vegeu fact_title_forecast. |
round | recuento | Ronda DESPRÉS de la qual es fa el snapshot (cursa disputada). Només amb el que se sabia llavors: resultats i lesions fins a aquella ronda (walk-forward). |
year | año | Temporada. PK (year, round, competitor_id). Mateixes columnes que fact_title_forecast. |
fact_tyre_choice (18)
| Column | Unit | Meaning |
|---|---|---|
circuit_short | código (3 letras) | Circuit. |
competitor_id | UUID | Pilot → dim_rider.rider_id. |
constructor | texto | Marca (de lap_times). |
deg_s_lap | s/vuelta | Degradació = pendent (s/volta) de les voltes netes; NULL si < 6 voltes netes. Inclou benzina i trànsit: comparar dins la mateixa sessió. |
field_rear_mode | categoría | Compost del darrere majoritari del camp en aquesta sessió. |
final_pos | posición | Posició final (NULL si DNF). |
front_compound | categoría | Compost davant (moda de les voltes): Slick-Soft/Medium/Hard, Wet-Soft/Medium. |
grid_pos | posición | Graella oficial (Grid.pdf si n'hi ha). |
is_minority | 0/1 | 1 = el seu compost del darrere NO és el majoritari (aposta diferent). |
n_clean | recuento | Voltes netes (lib/clean: sense volta 1, cancel·lades, pit, outliers). |
n_laps | recuento | Voltes cronometrades. |
pace_rel_pct | % | Ritme relatiu al millor de la sessió (0 = el més ràpid). |
pace_s | s | Ritme = mediana de voltes netes. |
rear_compound | categoría | Compost darrere (moda de les voltes). Un canvi de moto (flag-to-flag) es resol per la moda. |
rider_name | texto | Nom del pilot. |
session_type | categoría | RAC (cursa) o SPR (esprint). |
status | categoría | INSTND = classificat; altres = DNF/DNS. |
year | año | Temporada. PK (year, circuit_short, session_type, competitor_id). |
fact_tyre_compound (13)
| Column | Unit | Meaning |
|---|---|---|
avg_final_pos | posición | Posició final mitjana (classificats). |
best_final_pos | posición | Millor posició final. |
circuit_short | código (3 letras) | Circuit. |
deg_med | s/vuelta | Mediana de la degradació. |
dnf_pct | % | % de DNF entre els que el portaven. |
n_riders | recuento | Pilots amb aquest compost. |
pace_rel_med | % | Mediana del ritme relatiu (%) dels pilots amb aquest compost. |
podiums | recuento | Podis amb aquest compost. |
rear_compound | categoría | Compost del darrere. |
session_type | categoría | RAC o SPR. |
share_pct | % | Quota del camp. |
wins | recuento | Victòries amb aquest compost. |
year | año | Temporada. PK (year, circuit_short, session_type, rear_compound). |
fact_weather (17)
| Column | Unit | Meaning |
|---|---|---|
air_temp_max | °C | Temperatura del aire máxima. |
air_temp_mean | °C | Temperatura del aire media en la ventana. |
air_temp_slope_per_h | °C/h | Tendencia de temperatura (calienta/enfría). |
circuit_short | código (3 letras) | Circuito. |
cloud_mean | % (cobertura) | Nubosidad media. |
dew_point_mean | °C | Punto de rocío medio. |
n_points | recuento | Nº de puntos horarios/sub-horarios usados. |
precip_total_mm | mm | Precipitación total en la ventana. |
pressure_mean_hpa | hPa | Presión media. |
rain | bool | True si llovió en la ventana. |
rh_mean | % (humedad relativa) | Humedad relativa media. |
session_start_local | fecha-hora local | Inicio de la sesión (hora local del circuito). Ventana del resumen: −30/+90 min. |
session_type | categoría | Sesión (RAC/SPR/Q2/FP1…). |
weather_code_worst | código WMO | Código de tiempo más severo en la ventana. |
wind_gust_max_kmh | km/h | Racha de viento máxima. |
wind_mean_kmh | km/h | Viento medio. |
year | año | Temporada. |
v_rider_residual_year (5)
| Column | Unit | Meaning |
|---|---|---|
competitor_id | UUID | Piloto canónico → dim_rider.rider_id. |
n | recuento | Nº de carreras (finishers) ese año. |
race_vs_grid | posiciones | Media anual del residuo de grilla (de fact_race_residual). >0 = corre mejor de lo que clasifica ese año. DERIVADA (vista); para la curva estación-a-estación de la ficha de piloto. |
rider_name | texto | Nombre canónico. |
year | año | Temporada. |