This commit is contained in:
2025-12-01 22:01:58 +01:00
parent 086fdc1ea1
commit f717abf0a0
14 changed files with 3305 additions and 1780 deletions

270
docs/concept/STATS.md Normal file
View File

@@ -0,0 +1,270 @@
# GridPilot — In-Depth Stats & Scoring
*A modern statistics and scoring engine that gives meaning, context, and clarity to every race, every season, and every driver.*
---
# 1. Purpose of GridPilot Stats
iRacings official results are powerful, but extremely limited:
- no career progression
- no cross-season view
- no team context
- no advanced analytics
- no identity
GridPilot turns league racing into a structured competitive ecosystem by adding **deep, consistent, cross-league analytics** that drivers, teams, and admins can all rely on.
---
# 2. Core Data We Track
GridPilot automatically imports race metadata from iRacing and expands it into a full statistical model.
### **Per Race**
- finishing position
- starting position
- positions gained/lost
- incidents
- best lap
- average lap pace (optional if telemetry available)
- laps completed
- penalties applied
- classification after penalties
### **Per Driver (Season)**
- points
- average finish
- consistency rating
- race attendance
- clean race percentage
- total incidents
- incidents per lap
- podiums
- wins
- DNF count
- performance trend
### **Per Team (Season)**
- total team points
- points contribution per driver
- average team finish
- number of drivers scoring
- team attendance
- team success over time
### **All-Time Stats**
- total races
- total wins
- total podiums
- historical point totals
- incident history
- class-specific stats (e.g., GT4, F4, F3)
- multi-league performance overview
These stats give GridPilot the ability to create meaningful identity and competitive depth.
---
# 3. Scoring Engine (Flexible + Transparent)
Each league defines its scoring rules, but GridPilot standardizes them into clear, consistent structures.
### **Supported Scoring Models**
- Formula-style points (F1, F2, F3, F4, GP2, etc.)
- Endurance-style points
- Fixed points per position
- Bonus points:
- fastest lap
- pole position
- clean race
- most positions gained
### **Drop Weeks**
- configurable number of drops
- visual indicator for dropped results
- fully automated recalculation
### **Team Scoring**
A true Constructors-style model:
- multiple drivers score per race
- flexible configuration (best 2 scores, all scores, custom rules)
- team standings calculated instantly
- team stats update automatically
---
# 4. Driver Performance Metrics (Advanced)
GridPilot doesnt just store results — it analyzes them.
### **Key Driver Metrics**
- **Consistency Score**
Statistical deviation of finishing positions over time.
Lower = more consistent.
- **Pace Index** (optional if telemetry available)
Comparison of average lap times vs. field median.
- **Clean Driving Score**
Incidents per race + severity weighting.
- **Racecraft Score**
Positions gained/lost vs. incident involvement.
- **Progression Score**
Improvement across a season, shown as a trendline.
- **Clutch Factor**
Performance in high-pressure scenarios (late-season races, close battles).
### **Visibility**
All metrics appear on:
- driver profile
- season detail page
- league overview
- team contribution breakdown
Drivers finally see **how** they drive — not just where they finish.
---
# 5. Team Metrics (Depth That Makes Teams Matter)
Teams get **quantitative identity**.
### **Team Performance Metrics**
- team points
- team pace
- average finishing position
- contribution per driver
- lineup efficiency (who delivers consistent points)
- recruitment performance (improvement after roster changes)
- team form (last 5 races)
### **Team Contribution Breakdown**
Each driver has:
- points contributed
- percentage of team output
- consistency
- clean driving impact
- reliability (attendance)
This creates real internal and external rivalries.
---
# 6. Season Intelligence
GridPilot gives leagues a complete analytical picture:
### **Season Insights**
- top improvers
- most consistent drivers
- hard chargers
- clean drivers
- most valuable drivers (team scoring)
- pace distribution
- incident hotspots
- attendance map
### **League Health Metrics**
- retention
- average field size
- finishing rate
- incident averages
- multi-class balancing
Admins get clarity without spreadsheets.
---
# 7. Classification Adjustments (Penalties Included)
Results are never final until all penalties are processed.
GridPilot automatically handles:
- time penalties (+5s / +10s / +30s / custom)
- points deductions
- disqualifications (race-level)
- attendance penalties (if used)
- warning tracking
After admin decisions:
- standings recalculate
- driver stats update
- team stats update
- classification changes are logged
- penalty history is visible
No manual recalculation.
No mistakes.
No drama.
---
# 8. Global Scoring Vision (Future-Friendly)
GridPilot tracks:
- per-league points
- per-season points
- all-time points
- team points
- class-based points
This allows future scaling into:
- global leaderboards
- cross-league rankings
- multi-class ladders
- team world rankings
We dont implement everything on day one —
but the **data model is built for it**.
---
# 9. Why GridPilot Stats Matter
For Drivers:
- proof of skill
- motivation
- long-term identity
- visible improvement
- fairness & transparency
For Teams:
- real constructors competition
- driver scouting
- lineup planning
- prestige and pride
For Admins:
- no spreadsheets
- no miscalculations
- clarity for the community
- instant transparency
- professionalism
For Leagues:
- structure
- identity
- competitiveness
- return of drivers season after season
---
# Summary
GridPilots scoring and analytics system turns scattered league racing into a **structured competitive ecosystem**:
- complete results
- meaningful metrics
- constructors-style team scoring
- clean & consistent standings
- penalty-aware classification
- multi-season depth
- driver identity
- team identity
- league clarity
This is the **foundation** that makes GridPilot more than a tool —
it becomes the home of competition in iRacing league racing.