> ## Documentation Index
> Fetch the complete documentation index at: https://offthepace.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# mart_driver_season_summary

> One row per driver-season, shaped for plain-language explanations ('22nd of 22').

<Note>Part of the [Marts](/transform/families/marts) family.</Note>

One row per driver-season, shaped for plain-language explanations ("22nd of 22"). Grain: (driver\_id, race\_year). rating\_s is int\_era\_normalized\_driver\_rating's era\_adjusted\_rating (shrunk teammate-relative gap, seconds; negative = faster), ranked within the season so rank 1 is the most negative. The primary constructor is the one the driver ran the most clean laps for; the teammate is the other driver with the most clean laps for that constructor. Component means are over ml\_eligible laps of fct\_lap\_residuals (seconds, positive = slower).

## Lineage

```mermaid theme={null}
flowchart LR
  fct_lap_residuals --> mart_driver_season_summary
  int_era_normalized_driver_rating --> mart_driver_season_summary
  style mart_driver_season_summary fill:#e40404,stroke:#e40404,color:#fff
```

## Overview

| Property | Value |
| - | - |
| Layer | `marts` |
| Family | [Marts](/transform/families/marts) |
| Contract enforced | No |
| Upstream | [`fct_lap_residuals`](./fct_lap_residuals), [`int_era_normalized_driver_rating`](../int/int_era_normalized_driver_rating) |
| Model-level tests | `unique_combination_of_columns` |

**12 tests** [guard](/transform/ci/overview) this model  -  12 generic, 0 singular.

## Columns

| Column | Type | Nullable | Tests | Description |
| - | - | - | - | - |
| `driver_id` | | Yes | [`not_null`](/transform/ci/structural) | FastF1 three-letter driver code (e.g. VER, HAM). |
| `race_year` | | Yes | [`not_null`](/transform/ci/structural) | Season year. |
| `rating_s` | | Yes | [`not_null`](/transform/ci/structural) | Season rating (era\_adjusted\_rating), seconds. Negative = faster than teammate(s). |
| `rank` | | Yes | [`not_null`](/transform/ci/structural), [`accepted_range`](/transform/ci/range-and-domain) | Rank of rating\_s within the season; 1 = fastest. Ties share a rank. |
| `n_drivers` | | Yes | [`not_null`](/transform/ci/structural), [`accepted_range`](/transform/ci/range-and-domain) | Number of rated drivers that season. |
| `percentile` | | Yes | [`accepted_range`](/transform/ci/range-and-domain) | 1 - (rank - 1) / (n\_drivers - 1). 1.0 = top of the season, 0.0 = bottom. |
| `ci_low` | | Yes | | Lower bound of the 95% CI on rating\_s (era\_adjusted\_rating\_ci\_low\_s). |
| `ci_high` | | Yes | | Upper bound of the 95% CI on rating\_s (era\_adjusted\_rating\_ci\_high\_s). |
| `n_races` | | Yes | [`not_null`](/transform/ci/structural), [`accepted_range`](/transform/ci/range-and-domain) | Races behind the season rating. |
| `teammate_id` | | Yes | | Primary-constructor teammate with the most clean laps. Null when there is none. |
| `teammate_gap_s` | | Yes | | rating\_s minus the teammate's rating\_s, seconds. Negative = faster than the teammate. |
| `constructor_id` | | Yes | [`not_null`](/transform/ci/structural) | Primary constructor for the season (most clean laps). |
| `constructor_rank` | | Yes | | Season rank of the constructor's mean constructor\_component\_s; 1 = fastest car. |
| `mean_fuel_component_s` | | Yes | | Mean fuel component over ml\_eligible laps, seconds. |
| `mean_compound_component_s` | | Yes | | Mean compound component over ml\_eligible laps, seconds. |
| `mean_constructor_component_s` | | Yes | | Mean constructor component over ml\_eligible laps, seconds. |
| `mean_dirty_air_tax_s` | | Yes | | Mean dirty-air tax over ml\_eligible laps, seconds. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.