Methodology

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.

Optional: You can also customize micro-area splits within each macro (e.g., 70% Chipping / 20% Wedge Play / 10% Bunker within Short Game). If you don't, we use research-backed defaults.

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:

1

Genetic Algorithm

Evolve optimal time allocation

2

Block Builder

Create concrete theme blocks with drills

3

Filler GA

Fill remaining time deficits

4

Optimization

Substitute & top-up for precision

5

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 min

Tee Shots, Approach, Swing

Short Game Area

30–60 min

Wedge Play, Chipping, Bunker, Finesse

Putting Green

30–60 min

Long Range, Short Range, Green Reading, Green

On Course

120–240 min

Course Play

Build Order

  1. Course sessions first — placed on the longest available days (120-min minimum).
  2. Technique blocks — inserted at the start of each theme session when budget allows.
  3. Performance drills — fill the remaining session time, prioritized by micro-area deficit.
  4. 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

This ensures every technique session is at least 15–45 minutes of focused work, rather than fragmented 5-minute snippets that don't move the needle.

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) − timePenalty

Each 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×

In plain English: If you say Putting is your top priority at 40%, and the algorithm produces a plan with 35% Putting, that 5% error costs 5² × 500 = 12,500 points. The same 5% error on your lowest priority only costs 5² × 20 = 500 points. The algorithm naturally obsesses over getting your top priority right.

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.00

Rather 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.

Technique drills don't have scores — they're pure practice. They're tracked for volume (minutes logged) but excluded from all scoring averages and performance calculations.

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.3

Each 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.