Core Concepts
Understanding how B4Racing models your racing data helps you get the most from your analysis. This page walks through the key concepts — from the big picture down to individual telemetry samples.
The Motorsport Hierarchy
B4Racing uses a unified model that works across all racing disciplines. Your data is organized in layers:
Series → "Formula 1", "World Rally Championship"
└── Season → "2025"
└── Event → "Monaco Grand Prix", "Rally Monte Carlo"
└── Session → Practice, Qualifying, Race, Stage
└── Lap / Run → Individual timed segments
└── Telemetry → High-frequency driving data
You don't need to worry about structuring your data this way — B4Racing builds this hierarchy automatically from your data sources. But understanding it helps you ask better questions.
Events
An event is a racing weekend, rally, or competition. Events contain one or more sessions, optionally grouped together.
Session Groups
Some events organize sessions into groups:
| Group Type | Used In | Example |
|---|---|---|
| Leg | Rally | Day 1, Day 2, Day 3 of a multi-day rally |
| Heat | Rallycross | Q1, Q2, Semi-Final, Final |
| Day | Multi-day events | Saturday, Sunday |
| Round | Championships | Round 1, Round 2 |
Sessions
A session is a single period of track time:
| Session Type | Discipline | Description |
|---|---|---|
| Practice | Circuit | Free practice laps |
| Qualifying | Circuit | Timed qualifying |
| Race | Circuit | Competition race |
| Shakedown | Rally | Pre-stage test runs |
| Stage | Rally | Timed rally stage |
| Time Trial | Hillclimb | Individual timed run |
Lap Groups
Within a session, laps can be grouped:
| Group Type | Used In | Example |
|---|---|---|
| Stint | Endurance | A driver's uninterrupted run between pit stops (Le Mans, IMSA) |
| Race Stage | NASCAR | Stage 1, Stage 2, Stage 3 with stage points |
| Segment | General | Any logical grouping of laps |
In multi-driver sessions (like Le Mans), each stint tracks which driver was behind the wheel.
Laps and Runs
B4Racing uses a single unified model for all timed segments. The type field distinguishes them:
| Type | Discipline | Description |
|---|---|---|
| Lap | Circuit | One complete circuit of the track (closed loop) |
| Run | Hillclimb | Single timed run (point-to-point) |
| Stage Run | Rally | One pass through a rally stage with pacenotes |
Every lap/run includes:
- Time: Total time to complete
- Sector/split times: Time for each track division
- Status: Valid, invalid, out-lap, in-lap, or DNF
- Telemetry: High-frequency data (when available)
Rally stage runs also carry surface type (gravel, tarmac, snow), stage conditions (dry, wet), and optionally pacenotes.
Clean vs Invalid
- Clean lap: Completed without track limit violations
- Invalid lap: Contains off-tracks, corner cuts, or other penalties
B4Racing filters invalid laps by default but includes them in session statistics.
How It Maps to Real Motorsport
These examples show how B4Racing's model maps to different racing formats:
Formula 1
Event: "Monaco Grand Prix"
├── Session: FP1 (practice)
├── Session: FP2 (practice)
├── Session: FP3 (practice)
├── Session: Qualifying (qualifying)
└── Session: Race (race)
└── Laps: [lap, lap, lap, ...]
└── sector_times: [S1, S2, S3]
WRC Rally
Event: "Rally Monte Carlo"
├── SessionGroup: "Leg 1" (leg)
│ ├── Session: "SS1 - Gap" (stage)
│ │ └── Stage Run: [pacenotes, surface=tarmac]
│ ├── Session: "SS2 - Sisteron" (stage)
│ └── Session: "SS3 - Avignon" (stage)
└── SessionGroup: "Leg 2" (leg)
└── ...
Le Mans 24h
Event: "24 Hours of Le Mans"
└── Session: Race (race)
├── LapGroup: "Stint 1 - Driver A" (stint)
│ └── Laps: [lap, lap, lap, ...]
├── LapGroup: "Stint 2 - Driver B" (stint)
│ └── Laps: [lap, lap, ...]
└── ...
Hillclimb
Event: "Pikes Peak"
├── Session: Practice (practice)
│ └── Runs: [run, run]
└── Session: Timed Run (time_trial)
└── Run: [sector_times: [split1, split2, ...]]
Tracks and Landmarks
Track Types
| Type | Description | Examples |
|---|---|---|
| Circuit | Closed loop, multiple laps | Spa, Monza, Nürburgring |
| Stage | Point-to-point rally stage | Ouninpohja, Sweet Lamb |
| Hillclimb | Point-to-point climb | Pikes Peak |
Tracks carry metadata like country, length, surface type, and (for rally stages) weather support.
Turns
Turns represent physical corners on a track or stage. Each turn has:
- Name: Official corner name (e.g., "Eau Rouge") or pacenote callout (e.g., "Left 3 Tightens")
- Position: Distance in meters from start
- Direction: Left or right
- Severity: 1 (hairpin) to 6 (flat out) — primarily for rally pacenotes
- Modifiers: Tightens, opens, over crest, don't cut, caution (rally)
Turn data comes from different sources depending on the discipline:
- Circuit: CrewChief corner data with named turns and sector boundaries
- Rally: RBR pacenotes with severity ratings, directions, and modifier flags
B4Racing uses actual corner names in analysis, so you see "You're losing 0.2s in Les Combes" instead of "Turn 8."
Sectors
Sectors divide the track into timing zones. Circuits typically have 3 sectors; rally stages use distance-based splits.
Landmarks
Landmarks are named track features that aren't corners — pit approach zones, rolling start lines, and other reference points.
Telemetry
Telemetry is high-frequency data captured during driving. A single lap can have telemetry from multiple sources (e.g., different recording systems), and a single telemetry recording can span multiple laps.
Data Levels
Not all data sources provide the same depth. B4Racing works with whatever is available:
| Level | What's Available | Example |
|---|---|---|
| Metadata only | Lap times, session info, no telemetry | Quick session overview |
| Basic telemetry | Core channels (speed, throttle, brake) | Corner analysis, heatmaps |
| Full telemetry | 80+ channels including vehicle dynamics | Friction circle, tire analysis, suspension |
Core Channels
Every data source provides these basic channels:
| Channel | Description | Internal Unit |
|---|---|---|
| Speed | Current velocity | m/s |
| Throttle | Throttle position | 0.0–1.0 |
| Brake | Brake pressure | 0.0–1.0 |
| Steering | Steering angle | radians |
| RPM | Engine revolutions | rpm |
| Gear | Current gear | integer |
| Latitude/Longitude | GPS position | degrees |
B4Racing stores values in standard SI units internally (m/s, radians, ratios) and converts to display units (km/h, degrees, percentages) when showing results. You don't need to worry about unit conversion.
Extended Channels (MoTeC/NGP)
MoTeC files from RBR's NGP plugin provide 80+ additional channels organized into groups:
| Channel Group | Channels | Description |
|---|---|---|
| Tire temperatures | FL, FR, RL, RR | Surface temp per wheel |
| Tire pressures | FL, FR, RL, RR | Pressure per wheel |
| Tire wear | FL, FR, RL, RR | Wear level per wheel |
| Brake temperatures | FL, FR, RL, RR | Disc temp per wheel |
| Suspension forces | Spring, damping, strut, rollbar (×4) | Force per wheel |
| Engine temps | Coolant, radiator, engine | Thermal management |
| Motion | Lateral, longitudinal, vertical G-force | Vehicle dynamics |
| Orientation | Yaw, pitch, roll | Vehicle attitude |
These extended channels enable advanced analyzers like friction circle analysis, brake thermal monitoring, and suspension force visualization.
Analyzers
Analyzers are the tools that process your session data to extract insights. B4Racing selects them automatically based on your questions — you don't need to specify which analyzer to use.
Data Analyzers
| Category | Analyzers | Description |
|---|---|---|
| Core | sessions_overview, lapstats, cornering, braking, theoretical_best, eda | Lap times, corner analysis, session summaries |
| Vehicle Dynamics | friction_circle, tire_analysis, brake_thermal, suspension_analysis | Grip, tires, brakes, suspension |
| Driver Inputs | throttle_control, steering_smoothness, pedal_overlap, input_harmony, corner_phase | Input quality and coordination |
| Rally | stage_profile, rally_braking, handbrake_analysis, coasting_detector, difficult_sections | Rally-specific technique analysis |
Graphics Analyzers
| Analyzer | What It Creates |
|---|---|
track_heatmap | Speed or metric overlaid on track layout |
telemetry_overlay | Speed, throttle, brake over distance |
line_chart, scatter_plot, bar_chart | General-purpose charts |
track_map, track_map_static | Track layout visualization |
wheel_temps, suspension_forces | Per-wheel overlays |
See the full analyzer reference for detailed documentation on every analyzer.