The Science Behind Your Plan.
DYALR uses a genetic algorithm — the same family of optimization techniques used in aerospace engineering and logistics — to find the best possible training schedule given your constraints. Here's exactly how it works.
Your Preferences
What you tell us
Every week begins with a simple intake. Your answers become the constraints that the algorithm must satisfy:
Weekly Hours
Total time you can dedicate to practice this week.
Daily Split
Equal across days or custom hours per day (Mon–Sun).
Macro Split
Percentage allocation: Technique, Long Game, Short Game, Putting.
Equipment
Launch Monitor and/or Trackman access filters incompatible drills.
The Pipeline
From preferences to plan in 5 steps
Your preferences flow through a five-stage optimization pipeline. Each stage refines the output of the previous one:
Genetic Algorithm
Evolve optimal time allocation
Block Builder
Create concrete theme blocks with drills
Filler GA
Fill remaining time deficits
Optimization
Substitute & top-up for precision
Finalization
Sort, subtotals, and recap
The Genetic Algorithm
Step 1 — Evolving the best allocation
A genetic algorithm mimics natural selection. We create a "population" of 1,000 candidate plans, each representing a slightly different way to split your time. Over 300 generations, the best plans survive and reproduce while the worst die off.
Population
1,000
candidate solutions
Generations
300
evolution cycles
Elitism
2
best preserved each gen
How Evolution Works
Mutation
Randomly shift percentage points between macro areas. A 5% mutation rate keeps exploration balanced — escalating to 20% or 50% if the algorithm stalls.
Crossover
Two parent plans combine: each macro area is randomly inherited from one parent. The child plan is re-normalized to sum to 100%.
Selection
Tournament selection: pick 3 random individuals, keep the fittest. This creates selection pressure toward better solutions without losing diversity.
The Block Builder
Step 2 — Converting allocations into real sessions
The GA outputs an optimal time split. The Block Builder converts this into concrete, actionable theme blocks — grouping drills by training location:
Driving Range
30–90 minTee Shots, Approach, Swing
Short Game Area
30–60 minWedge Play, Chipping, Bunker, Finesse
Putting Green
30–60 minLong Range, Short Range, Green Reading, Green
On Course
120–240 minCourse Play
Build Order
- Course sessions first — placed on the longest available days (120-min minimum).
- Technique blocks — inserted at the start of each theme session when budget allows.
- Performance drills — fill the remaining session time, prioritized by micro-area deficit.
- Anti-repetition — standard drills appear max once per week; favorites up to 3 times.
Technique Concentration Mode
Smart focus when time is scarce
When your weekly technique allocation is under 60 minutes, spreading it across Swing, Finesse, and Green Reading produces sessions too short to be effective. Instead, the algorithm concentrates all technique time into one area per week, rotating automatically:
Week 1
Swing
Full-swing mechanics
Week 2
Finesse
Short game touch
Week 3
Green
Putting stroke
The Filler GA
Step 3 — Closing time deficits
After the Block Builder, some macro areas may be under-allocated. A second, specialized genetic algorithm fills these gaps:
Population
250
filler candidates
Generations
150
optimization cycles
Mutation
15%
exploration rate
Safety Rails
- Hierarchy guard — never adds time to a low-priority micro if a higher-priority one is still under target.
- Blacklist guard — micro areas below 15% priority can't receive surplus time.
- Megablock guard — no single day receives more than 80 minutes of filler drills.
- Grouping bonus — filler drills placed next to same-theme drills score higher.
Optimization & Finalization
Steps 4–5 — Precision polishing
Two final passes ensure the plan is as close to your targets as possible:
Pre-Correction
Identifies micro areas with surplus time (>5% above target) and substitutes drills with shorter alternatives. If no substitute exists, the drill is removed. Recovered time is redistributed.
Final Touch-Up
Scans technique blocks with remaining deficit (≥5 min). If spare capacity exists in the theme block and the technique rules allow, the session is extended.
Finalization
Sorts drills by day, inserts daily subtotals, and generates the recap breakdown comparing target vs. actual allocation for every macro and micro area.
The Fitness Function
How plan quality is measured
Every candidate plan is scored by a fitness function. Higher is better. The function starts at 1,000,000 points and applies penalties:
Fitness = 1,000,000 − Σ(error² × multiplier) − timePenaltyEach macro area's percentage error is squared and multiplied by a priority weight. The highest-priority macro gets the heaviest multiplier, so the algorithm works hardest on what matters most to you.
Priority Multipliers
#1 Priority
500×
#2 Priority
350×
#3 Priority
150×
#4 Priority
20×
The Scoring System
How raw scores become actionable intelligence
Every drill in the DYALR library has three mathematical criteria defining what constitutes Good, Average, and Needs Work performance. When you log a score, we run it through these criteria to produce a standardized Performance Index.
3.00
Good
2.00
Average
1.00
Needs Work
continuousScore = interpolate(rawScore, criteria) → 0.00 to 3.00Rather than just bucketing into 1/2/3, we interpolate your raw score within the criteria ranges to produce a continuous 0–3 scale. A score that barely misses 'Good' gets 2.8, not 2.0. This preserves nuance across all analytics.
Core Analytics
7 free-tier cards that map your game
The Core tier follows a strategic reading order: understand your identity, audit your efficiency, then isolate atomic issues.
Phase 1: Identity & Trajectory
Skill Radar
mean(continuousScore) per micro area
Radar chart plotting your average performance across all micro skill areas. Toggle between Selected Period, Last Week, and All Time to track how your player shape evolves.
Performance Trends
Weekly average score per macro/micro area
Line chart showing your score trajectory over time. Click any macro area to drill into individual micro areas. Rising lines = improvement. Flattening lines = plateau.
Strengths & Focus
Ranked micro areas by avg performance index
Automatically identifies your Top 3 Strengths (maintain these) and Bottom 3 Focus Areas (train these more). Updated with every filter change.
Phase 2: The Efficiency Engine
Efficiency Matrix
TER = avgScore / totalMinutes × normalization
Bubble chart plotting your Performance Index (Y) against time invested (X) for each micro area. Bubble size = drill volume. Quadrants: High Return (top-left), Maintenance (top-right), Low Efficiency (bottom-right), Neglected (bottom-left).
Training Diet
sum(duration) grouped by macro/micro
Stacked bar chart showing where your training time actually goes. Compare your actual time split against what you requested to spot allocation drift.
Phase 3: Atomic Analysis
Drill Deep Dive
Per-drill raw score + performance index history
Select any specific drill to see your complete result history. Dual-axis chart shows both raw score (left) and normalized Performance Index (right) over time.
Hall of Fame
Top drills by mean(continuousScore), min 3 sessions
Your personal best drills ranked by average continuous score. Only drills with 3+ logged sessions qualify — this prevents one lucky attempt from dominating.
Pro Intelligence
6 premium cards for elite-level insight
The Pro tier uses advanced statistical methods — EWMA smoothing, Pearson correlations, percentile analysis — to reveal patterns invisible to basic metrics.
Pro Phase 1: Reliability Engine
Consistency Radar
P10 (floor), Mean, P90 (ceiling) per micro area
Three concentric radar layers showing your worst day (10th percentile), your average, and your best day (90th percentile). A narrow gap = consistent. A wide gap = volatile.
Momentum Dashboard
EWMA(α=0.3) + linear regression slope
Exponentially-weighted moving average smooths your weekly scores, giving recent weeks 3× the influence of older ones. The slope detects trends: positive = improving, near-zero for 3+ weeks = plateau, negative = declining.
EWMA_t = α × Score_t + (1 − α) × EWMA_{t-1}, α = 0.3Each new week's score contributes 30% to the moving average, while the accumulated history contributes 70%. This balances responsiveness to recent changes with stability.
Pro Phase 2: Cross-Area Intelligence
Skill Correlations
Pearson r between paired weekly scores
Heatmap showing which skill areas rise and fall together. High positive correlation (r > 0.6) between two areas means improving one likely improves the other. Negative correlation means a trade-off exists.
Smart Recommendations
priority = (gap from best) × (1 / volume)
Identifies your Balance Index (1.0 = perfectly balanced skills, 0.0 = all eggs in one basket) and Weak Link (lowest-scoring area). Prioritizes focus areas by combining performance gap with training volume — areas you're bad at AND under-training rise to the top.
Balance Index = 1 − CV(area means), CV = σ / μThe Coefficient of Variation measures how spread out your skill area averages are. Subtracting from 1 inverts it so higher = better balance. A perfectly even player scores 1.0.
Session Intelligence
Sweet Spot duration + Fatigue effect + Best day
Analyzes your practice session patterns: finds your optimal session length (Sweet Spot), measures score decay from first to last drill (Fatigue Effect), and identifies your highest-performing day of week.
Pro Phase 3: ROI Deep Dive
Efficiency Deep Dive
TER per micro area with time-series trend
The core Efficiency Matrix gives you a snapshot. This card gives you the movie — how each micro area's Training Efficiency Ratio has evolved over time. Spot areas where more practice is yielding diminishing returns.