Zyra › Methodology

Methodology

Every number on this site is produced by the same open, tested math package that the Zyra apps use — documented here formula by formula, with worked examples computed live from that code at build time, so any figure can be checked by hand. Training and nutrition education only; never medical advice.

Energy & macro math

The macro, calorie, deficit and protein calculators run the MacroDiet onboarding algorithm (version 2), verbatim. It works in four steps: resting energy, a daily total, a goal-adjusted target with guard-rails, then macros in a fixed order — protein first, fat second, carbohydrate as the remainder.

Step 1 — BMR (Mifflin-St Jeor)

Step 2 — TDEE

Sessions / weekBaseDaily activity (NEAT)Adjustment
01.2sedentary-0.05
1–31.375moderate0
4–61.55very active+0.1
7+1.725

Step 3 — the goal target and its guard-rails

Rate% body weight / weekFloor modeMenWomen
conservative0.3%standard1,5001,200
moderate0.5%lower1,2001,000
aggressive0.75%

When the cap or the floor changes the number, the calculator says so (the algorithm emits DELTA_CAPPED and CALORIE_FLOOR_APPLIED). The gain branch has the same rate math and the same cap, and no floor.

Step 4 — macros, in order

Protein tierg / kgDiet styleFat, % of remaining
low1.2balanced35%
moderate1.6low-fat20%
high2.0low-carb50%
extra high2.4ketoremainder

Worked example — 85 kg · 180 cm · 30 y · male · 4–6 sessions · NEAT moderate

BMR = 10 × 85 + 6.25 × 180 − 5 × 30 + 51,830 kcal
multiplier = 1.55 + 01.55
TDEE = round(1,830 × 1.55)2,837 kcal
Goal lose, moderate rate: weekly kg = 85 × 0.0050.43 kg
daily delta = 0.43 × 7,700 ÷ 7467.5 kcal
target = round(2,837 − 467.5) — above the 1,500 floor2,370 kcal
protein = round(85 × 1.8) (moderate tier + 0.2 for losing)153 g
remaining = 2,370 − 153 × 41,758 kcal
fat = round(1,758 × 0.35 ÷ 9); floor was 53 g68 g
carbs = round((2,370 − 153 × 4 − 68 × 9) ÷ 4)287 g

In plain terms: the calculator does not know how many calories you use — it estimates a typical person of your size and schedule, then applies fixed rules to that estimate. The MacroDiet app replaces the estimate with a number derived from your own logs over time; the calculators on this site never do.

Training math

Estimated one-rep max

Worked example — 100 kg for 5 reps

e1RM = 100 × 36 ÷ (37 − 5)112.5 kg
for comparison, 100 kg × 13 reps (Epley) = 100 × (1 + 13 ÷ 30)143.3 kg
1RM at 100% of 112.5112.5 kg
3RM at 94.4% of 112.5106.3 kg
5RM at 88.9% of 112.5100 kg
8RM at 80.6% of 112.590.6 kg
10RM at 75% of 112.584.4 kg
12RM at 69.4% of 112.578.1 kg

The switch at 12 reps is the Zyra Workouts rule: Brzycki is undefined at 37 reps and steepens well before it, so higher-rep sets use Epley. Both are estimates, and the estimate gets less reliable the further a set is from a single rep. Warm-up sets are excluded from the app's e1RM. Try it on the 1RM calculator.

RIR and RPE

So RPE 8 → RIR 2, and RIR 5 → RPE 6 (the clamp). The scale is deliberately coarse: it is a logging convention, not a measurement.

Plate math

Default inventory: 20 kg bar with 20 / 15 / 10 / 5 / 2.5 / 1.25 kg plates. 110 kg → (2×20 + 1×5) × 2 + 20 kg bar = 110 kg. 101 kg with the same plates → closest loadable 100 kg, remainder 0.5 kg per side, so the plate calculator says it cannot be loaded exactly.

Progression — the ceiling rule

Worked example — target 6–10 @RIR 2 on a barbell (step 2.5 kg)

ceiling = round((6 + 10) ÷ 2) + 210 reps
last time 100 kg × 11 → above the ceiling102.5 kg × 6 (progress)
last time 100 kg × 8 → inside the range100 kg × 8 (hold)
last time 100 kg × 5 → under the floor97.5 kg × 6 (backoff)

Rep targets, sets and cycles

GoalCompoundIsolationSets (compound / isolation)
strength3–5 @RIR 26–8 @RIR 24 / 3
hypertrophy6–10 @RIR 210–15 @RIR 13 / 3
general8–12 @RIR 28–12 @RIR 23 / 3

Beginners get one set fewer, advanced lifters one more on compounds, never below 2. A generated program has 6 cycles; the RIR target ramps from base + 1 in the first cycle down to base − 1 (never below 0) in the last, and an optional deload cycle takes one set off and adds 2 RIR. Exercises per session = clamp(round(minutes ÷ 12), 3, 8) — 60 minutes → 5, 30 → 3, 90 → 8.

Weekly volume, landmarks and the balance score

Muscle groupLandmark sets / weekExample weekCoverage
Chest1212100%
Shoulders14643%
Triceps10660%
Back1421100%
Biceps10660%
Forearms610.5100%
Quads141286%
Hamstrings1010.5100%
Glutes1010.5100%
Calves1000%
Core10660%

Example week: three sessions of bench press 4, bent-over row 4, back squat 4 and Romanian deadlift 3 working sets. Back reads 21: the rows (12) plus the barbell Romanian deadlift (9), which the catalog files under back as its primary muscle; hamstrings read 10.5 from secondary credit alone (squat 12 × 0.5 + RDL 9 × 0.5). Balance score for that week: 58 — the muscles it never touches pull the score down. The landmarks are the app's defaults for its coverage bars, not a prescription. See the weekly sets calculator.

Trend weight

The first reading seeds the trend. Any single weigh-in moves the trend by under a tenth of its distance, and its influence halves every 7 days — which is why one unusual morning barely registers.

Sources

Two kinds of source stand behind the site. Product facts and formulas come from the apps' own code, copied into an open math package with the source file and commit recorded at the top of each module. Claims about how the body or nutrition works come from published references that a writer has opened — those are listed, deduplicated, in the research library.

WhatWhere it comes fromScope
Exercise catalogZyra Workouts src/data/exercises.json @ fe2e0b3, byte-identical copy61 exercises (15 barbell, 18 dumbbell, 9 cable, 10 bodyweight, 9 machine); 49 with 1RM and load-chart pages; 61 in the package
Rep targets, set counts, program generatorZyra Workouts features/program/{targets,generate}.ts @ fe2e0b3Exercise pages, program pages, the generator
Progression rule and load stepsZyra Workouts features/progression/engine.ts @ fe2e0b3"How progression steps" on every exercise page
Weekly-set landmarks, coverage, balanceZyra Workouts features/dashboard/compute.ts @ fe2e0b311 muscle groups; weekly sets calculator
e1RM, RIR ↔ RPE, plate math, trend-weight EMAZyra Workouts src/lib/{e1rm,rir,plates,ema}.ts @ fe2e0b31RM, plate and RIR calculators; load charts
Energy and macro algorithmMacroDiet zyra-algo v2 @ 28614a5 — the same code the MacroDiet backend runsMacro, calorie, deficit and protein calculators
Published reference values and trialsVerified research library, built from article references38 deduplicated sources

Warm-up ramps are the one place the app's design leaves percentages unspecified. The warm-up set builder therefore exposes the percentages as inputs rather than inventing defaults, and only fixes the mechanics — the exercise-type mapping and rounding each step to a loadable weight.

What the numbers are not

Corrections policy

Every article carries an Updated date, and every formula on this page is executed from the same code that produces the calculators, so a change in the math changes the documentation with it. When a better source changes a stated value, the page updates and the change is recorded in the article — never silently. A citation that turns out not to say what we cited is removed and the sentence rebuilt from first principles, with the evidence label downgraded to match.

Found an error — a number that does not reproduce, a reference that does not resolve, a claim that goes further than its source? Write to privacy@zyra.fit. Corrections are credited with the reporter's consent.

Who builds this

The Zyra team — the people building Zyra Workouts, an offline-first iOS workout logger that is in development and not yet on the App Store, and MacroDiet, a macro and calorie tracking web app that is live and evolving. The math package behind this site is extracted from those two codebases, so the pages and the apps cannot disagree about a formula. Articles are written against the primary sources and reviewed for training-guidance framing by the team; no piece carries a medical reviewer's byline, and none claims to.

Zyra is a training and nutrition tracking tool. Nothing on this page is medical advice, a diagnosis, or an individual prescription. The numbers are estimates from published formulas and the apps' own rules — consult a qualified professional for decisions about your health, and a coach for your training.