LapStatisticsAnalyzer - Rally Stage - Aston Martin DBR9
Detailed lap timing statistics with best/worst/average times and consistency metrics
Sample Data
| Attribute | Value |
|---|---|
| Source | motec |
| Category | rally_stage |
| File | /Users/mhild/src/durandom/racing/b4racing/packages/source-motec/tests/fixtures/telemetry-NGP-Car_5-Aston_Martin_DBR9-Stage_138-20260122_120000.ld |
Available Channels: brake, clutch, distance, gear, lap_distance_pct, lat_accel, long_accel, pitch, position_x, position_y, position_z, raw_LB.brakeDiskLayerTemp, raw_LB.brakeDiskTemp, raw_LB.brakeWear, raw_LB.currentTyreSegment, raw_LB.dampingForce, raw_LB.deflectionVelocity, raw_LB.helperSpringActive, raw_LB.innerBumpDeflectionVelocity, raw_LB.outerBumpDeflectionVelocity, raw_LB.rollbarForce, raw_LB.segmentData[0].temperature, raw_LB.segmentData[1].temperature, raw_LB.segmentData[2].temperature, raw_LB.segmentData[3].temperature, raw_LB.segmentData[4].temperature, raw_LB.segmentData[5].temperature, raw_LB.segmentData[6].temperature, raw_LB.segmentData[7].temperature, raw_LB.springForce, raw_LB.strutForce, raw_LB.temperature, raw_LB.treadTemperature, raw_LB.wear[0], raw_LB.wear[1], raw_LB.wear[2], raw_LB.wear[3], raw_LB.wear[4], raw_LB.wear[5], raw_LB.wear[6], raw_LB.wear[7], raw_LF.brakeDiskLayerTemp, raw_LF.brakeDiskTemp, raw_LF.brakeWear, raw_LF.currentTyreSegment, raw_LF.dampingForce, raw_LF.deflectionVelocity, raw_LF.helperSpringActive, raw_LF.innerBumpDeflectionVelocity, raw_LF.outerBumpDeflectionVelocity, raw_LF.rollbarForce, raw_LF.segmentData[0].temperature, raw_LF.segmentData[1].temperature, raw_LF.segmentData[2].temperature, raw_LF.segmentData[3].temperature, raw_LF.segmentData[4].temperature, raw_LF.segmentData[5].temperature, raw_LF.segmentData[6].temperature, raw_LF.segmentData[7].temperature, raw_LF.springForce, raw_LF.strutForce, raw_LF.temperature, raw_LF.treadTemperature, raw_LF.wear[0], raw_LF.wear[1], raw_LF.wear[2], raw_LF.wear[3], raw_LF.wear[4], raw_LF.wear[5], raw_LF.wear[6], raw_LF.wear[7], raw_RB.brakeDiskLayerTemp, raw_RB.brakeDiskTemp, raw_RB.brakeWear, raw_RB.currentTyreSegment, raw_RB.dampingForce, raw_RB.deflectionVelocity, raw_RB.helperSpringActive, raw_RB.innerBumpDeflectionVelocity, raw_RB.outerBumpDeflectionVelocity, raw_RB.rollbarForce, raw_RB.segmentData[0].temperature, raw_RB.segmentData[1].temperature, raw_RB.segmentData[2].temperature, raw_RB.segmentData[3].temperature, raw_RB.segmentData[4].temperature, raw_RB.segmentData[5].temperature, raw_RB.segmentData[6].temperature, raw_RB.segmentData[7].temperature, raw_RB.springForce, raw_RB.strutForce, raw_RB.temperature, raw_RB.treadTemperature, raw_RB.wear[0], raw_RB.wear[1], raw_RB.wear[2], raw_RB.wear[3], raw_RB.wear[4], raw_RB.wear[5], raw_RB.wear[6], raw_RB.wear[7], raw_RF.brakeDiskLayerTemp, raw_RF.brakeDiskTemp, raw_RF.brakeWear, raw_RF.currentTyreSegment, raw_RF.dampingForce, raw_RF.deflectionVelocity, raw_RF.helperSpringActive, raw_RF.innerBumpDeflectionVelocity, raw_RF.outerBumpDeflectionVelocity, raw_RF.rollbarForce, raw_RF.segmentData[0].temperature, raw_RF.segmentData[1].temperature, raw_RF.segmentData[2].temperature, raw_RF.segmentData[3].temperature, raw_RF.segmentData[4].temperature, raw_RF.segmentData[5].temperature, raw_RF.segmentData[6].temperature, raw_RF.segmentData[7].temperature, raw_RF.springForce, raw_RF.strutForce, raw_RF.temperature, raw_RF.treadTemperature, raw_RF.wear[0], raw_RF.wear[1], raw_RF.wear[2], raw_RF.wear[3], raw_RF.wear[4], raw_RF.wear[5], raw_RF.wear[6], raw_RF.wear[7], raw_distanceToEnd, raw_driveLineLocation, raw_engineCoolantHeatState.temperatu, raw_engineTemperature, raw_footbrakePressure, raw_handbrakePressure, raw_raceTime, raw_radiatorCoolantHeatState.tempera, raw_steering, raw_vecAngularAccelerationCar.x, raw_vecAngularAccelerationCar.y, raw_vecAngularAccelerationCar.z, raw_vecAngularVelocityCar.x, raw_vecAngularVelocityCar.y, raw_vecAngularVelocityCar.z, raw_vecAvgAngularAccelerationCar.x, raw_vecAvgAngularAccelerationCar.y, raw_vecAvgAngularAccelerationCar.z, raw_vecAvgLinearAccelerationCar.x, raw_vecAvgLinearAccelerationCar.y, raw_vecAvgLinearAccelerationCar.z, raw_vecRelativeAngularAcceleration.x, raw_vecRelativeAngularAcceleration.y, raw_vecRelativeAngularAcceleration.z, raw_vecRelativeAngularVelocity.x, raw_vecRelativeAngularVelocity.y, raw_vecRelativeAngularVelocity.z, raw_vecRelativeLinearAcceleration.x, raw_vecRelativeLinearAcceleration.y, raw_vecRelativeLinearAcceleration.z, raw_vecRelativeLinearVelocity.x, raw_vecRelativeLinearVelocity.y, raw_vecRelativeLinearVelocity.z, roll, rpm, speed, speed_kph, speed_mph, steering, suspension_fl_travel, suspension_fr_travel, suspension_rl_travel, suspension_rr_travel, throttle, time, tire_pressure_fl, tire_pressure_fr, tire_pressure_rl, tire_pressure_rr, tire_temp_fl, tire_temp_fr, tire_temp_rl, tire_temp_rr, track_pct, velocity_x, velocity_y, velocity_z, vert_accel, yaw
Configuration
| Setting | Value |
|---|---|
| Slice Type | lap |
| Metadata Only | True |
When to Use
- User asks about lap times or 'what was my best lap'
- User wants consistency analysis across laps
- User asks 'how fast did I go' or lap time distribution
- User wants to see improvement over a session
Key Options
| Option | Description |
|---|---|
lap_selection | all |
n_best_laps | Number of best laps to analyze when lap_selection='best' (default: 5) |
filter_outliers | Remove outlier laps using IQR method (default: True) |
Sample Output
Subjects Analyzed: 1
All Laps (Default)
Options: lap_selection=all
{
"metrics": [
{
"subject_id": "d0c8e5bbf805540b",
"driver_name": "RSF driver",
"lap_count": 1,
"best_lap": 102.25694444444444,
"worst_lap": 102.25694444444444,
"average_lap": 102.25694444444444,
"median_lap": 102.25694444444444,
"std_dev": 0.0,
"consistency": 0.0,
"lap_times": [
102.25694444444444
],
"outliers_filtered": 0,
"best_lap_formatted": "1:42.257",
"worst_lap_formatted": "N/A",
"average_lap_formatted": "N/A",
"median_lap_formatted": "N/A",
"std_dev_formatted": "N/A",
"consistency_formatted": "N/A",
"notes": "Single lap selected"
}
],
"metadata": {
"analyzer": "lapstats",
"title": "Lap Statistics",
"subjects_analyzed": 1
}
}
Metrics Summary
| Metric | Value |
|---|---|
| Subject: d0c8e5bbf805540b | RSF driver |
Best Lap Only
Options: lap_selection=best
{
"metrics": [
{
"subject_id": "d0c8e5bbf805540b",
"driver_name": "RSF driver",
"lap_count": 1,
"best_lap": 102.25694444444444,
"worst_lap": 102.25694444444444,
"average_lap": 102.25694444444444,
"median_lap": 102.25694444444444,
"std_dev": 0.0,
"consistency": 0.0,
"lap_times": [
102.25694444444444
],
"outliers_filtered": 0,
"best_lap_formatted": "1:42.257",
"worst_lap_formatted": "N/A",
"average_lap_formatted": "N/A",
"median_lap_formatted": "N/A",
"std_dev_formatted": "N/A",
"consistency_formatted": "N/A",
"notes": "Single lap selected"
}
],
"metadata": {
"analyzer": "lapstats",
"title": "Lap Statistics",
"subjects_analyzed": 1
}
}
Metrics Summary
| Metric | Value |
|---|---|
| Subject: d0c8e5bbf805540b | RSF driver |
No Outlier Filtering
Options: filter_outliers=False
{
"metrics": [
{
"subject_id": "d0c8e5bbf805540b",
"driver_name": "RSF driver",
"lap_count": 1,
"best_lap": 102.25694444444444,
"worst_lap": 102.25694444444444,
"average_lap": 102.25694444444444,
"median_lap": 102.25694444444444,
"std_dev": 0.0,
"consistency": 0.0,
"lap_times": [
102.25694444444444
],
"outliers_filtered": 0,
"best_lap_formatted": "1:42.257",
"worst_lap_formatted": "N/A",
"average_lap_formatted": "N/A",
"median_lap_formatted": "N/A",
"std_dev_formatted": "N/A",
"consistency_formatted": "N/A",
"notes": "Single lap selected"
}
],
"metadata": {
"analyzer": "lapstats",
"title": "Lap Statistics",
"subjects_analyzed": 1
}
}
Metrics Summary
| Metric | Value |
|---|---|
| Subject: d0c8e5bbf805540b | RSF driver |
Example Calls
Show me detailed lap times for that Formula Vee session
analyze(analyzers='lapstats', event='01H8SP4HK4')
Displays all lap times with statistics including best, worst, average, and consistency
What were my 10 best laps
analyze(analyzers='lapstats', event='01H8SP4HK4', lap_selection='best', n_best_laps=10)
Shows only the top 10 fastest laps with detailed statistics
How consistent were my lap times today
analyze(analyzers='lapstats', after='2023-08-26', lap_selection='all')
Analyzes all laps to show consistency metrics (std dev, coefficient of variation)
Generated from b4racing.analysis.analyzers.lapstats.LapStatisticsAnalyzer