Results are the feedback loop that makes Coachbase's generation engine continuously more accurate. Every set logged feeds into the next session's load calibration — making the system smarter with every workout.
Results are stored at the individual set level, not just session level. This granularity lets the engine make precise load calibrations rather than approximating from session averages.
| Field | Type | Purpose |
|---|---|---|
| repsCompleted | number | Actual reps performed — compared against target to assess completion rate |
| load | number | Weight used for this set |
| loadUnit | 'kg' | 'lbs' | '%bw' | Unit for the load value |
| perceivedDifficulty | number (1–10) | RPE rating — the primary driver of load progression logic |
| completedAt | timestamp | When the set was logged — used for time-based recovery analysis |
| exerciseId | string | Reference to the exercise in the library |
| sessionId | string | Parent training session |
| athleteId | string | Parent athlete — enables cross-session aggregation |
When generating the next session, the engine reads the most recent result for each exercise and applies the following progression rules:
| Difficulty Rating | Engine Action | Interpretation |
|---|---|---|
| 1–4 | Increase load by 5–10% | Session was too easy — athlete can handle more |
| 5–6 | Increase load by 2.5–5% | Good session, gradual progressive overload |
| 7 | Maintain load, slight rep increase | Appropriate challenge — consolidate before loading more |
| 8–9 | Maintain load, reduce reps slightly | Session was very hard — stabilize before progressing |
| 10 | Reduce load by 5–10% | Session exceeded capacity — deload before progressing |
If no previous results exist for an exercise, the engine uses the athlete's training level and the program's load capacity setting to estimate a starting load. After the first session is logged, real data takes over.
The engine also considers how many reps were actually completed versus the target. If an athlete consistently hits the top of the rep range, load is bumped up. If they're failing to hit the minimum, the difficulty rating is factored in but the engine may also reduce load regardless of the RPE input.
From any session in the athlete's program, click through to the results view to see the complete log of every set performed:
Results are also visible in the athlete profile under each program's session list. Hover over a session's completion badge to see a quick summary.
Results are stored indefinitely per athlete. Deleting a session does not delete its logged results — they are archived alongside the session. This ensures long-term performance data is never lost accidentally.
When a program is archived after completion, all associated results remain linked to the athlete's history for future reference and generation context.
Coachbase distinguishes between two difficulty indicators:
Both are factored into the next generation run. If they conflict (e.g., athlete says RPE 5 but only completed 6 of 12 reps), the performance difficulty takes precedence.