Pedplot

Methodology

Pedplot draws a simple, teachable model: first-order decay, stacked doses, ester weight, and a straight rise to the peak. This page shows the formula, where each number comes from, and what the model leaves out.

By Austin Witherow and Mason Calvert · Last updated · Sources

What the chart shows

The chart shows the estimated amount of a drug still in the body, in milligrams (IU for compounds dosed in IU). For an ester, that is the amount of the parent hormone, after the ester weight is taken out.

It is not a blood level, and it will not match a lab result in ng/dL. Turning an amount into a blood concentration needs each person's volume of distribution, binding proteins such as SHBG, and clearance. All three vary a lot from person to person, and the model has none of them.

The model

Each dose rises in a straight line to its time to peak (Tmax), then halves once every half-life (t½):

activeDose = doseMg × activeFraction

remaining(t) =
  0                          if t < t0
  activeDose × (t − t0)/Tmax if t0 ≤ t < t0 + Tmax
  activeDose × 0.5^((t − t0 − Tmax) / t½)  otherwise

Every later dose is the same curve shifted in time, and the chart adds them together. That sum is why long esters climb for weeks before they level off.

Worked example

One 200 mg dose of Test E on day 0. The ester share is 72%, so the active dose is 144 mg. Time to peak is 2 days and the half-life is 4.5 days. These are the values the plotter draws:

DayEstimated mg in body
172 mg
2144 mg
590.7 mg
1042 mg

Stats under the chart

Where the numbers come from

Every compound lists its sources, and each source is one of 4 kinds. The last column counts how many of the 37 listed compounds take their half-life from that kind.

KindWhat it isHalf-lives
LabelThe official prescribing information for an approved product (an FDA label or a European SmPC)10
PaperA published pharmacokinetic study, read in full or from its abstract8
ComputedArithmetic from molecular weights listed on PubChem0
Community estimateA figure used by older plotters and forums, with no study behind it18

1 plotted half-life is not stated by any single source, because the sources disagree: Test C. The compound page explains why.

Each compound also gets a data-quality grade:

Each compound page lists its sources in full, with the exact figure and where it appears. The catalog table below links to them.

How ester weight works

An ester is the hormone with a fatty acid chain attached, which slows its release from the injection. The chain has weight but no hormone, so part of every milligram is the ester. PubChem lists testosterone at 288.4 g/mol and testosterone enanthate at 400.6 g/mol. So 100 mg of testosterone enanthate is about 72 mg of testosterone (288.4 ÷ 400.6).

The plot multiplies each dose by that share, which the catalog table calls the share that is parent. Orals, GLP-1s, and peptides are not esters, so the table shows a dash for them.

Known limits

Catalog

Sustanon is split into its 4 esters, 3 of which are not listed on their own. Rows marked * use an estimate with weaker published data.

CompoundGroupt½TmaxShare that is parentUnitData qualitySources
Test E (Testosterone enanthate)Testosterone4.5d2d72%mgMedium4 (Paper, Computed (PubChem), FDA label)
Test C (Testosterone cypionate)Testosterone5d2d70%mgLow3 (FDA label, Paper, Computed (PubChem))
Test P (Testosterone propionate) *Testosterone19h1d84%mgLow3 (Paper, Computed (PubChem), Community estimate)
Test U (Testosterone undecanoate)Testosterone34d7d63%mgMedium4 (Paper, FDA label, SmPC, Computed (PubChem))
Sustanon (Sustanon 250)Testosterone7.5d3d70%mgMedium2 (SmPC, Community estimate)
Test gel (Testosterone gel) *Testosterone1d7h—mgLow3 (FDA label, SmPC, Community estimate)
Deca (Nandrolone decanoate)Injectable7.5d2d64%mgMedium4 (SmPC, Paper, Computed (PubChem))
NPP (Nandrolone phenylpropionate) *Injectable1.5d1d67%mgLow3 (Paper, Computed (PubChem), Community estimate)
EQ (Boldenone undecylenate) *Injectable14d4d63%mgLow2 (Computed (PubChem), Community estimate)
Mast E (Drostanolone enanthate) *Injectable4.5d2d73%mgLow2 (Computed (PubChem), Community estimate)
Mast P (Drostanolone propionate) *Injectable19h1d84%mgLow2 (Computed (PubChem), Community estimate)
Tren A (Trenbolone acetate) *Injectable1d12h87%mgLow2 (Computed (PubChem), Community estimate)
Tren E (Trenbolone enanthate) *Injectable4.5d2d71%mgLow2 (Computed (PubChem), Community estimate)
DHB (Dihydroboldenone cypionate) *Injectable5d2d70%mgLow2 (Computed (PubChem), Community estimate)
Primo (Methenolone enanthate) *Injectable4.5d2d73%mgLow2 (Computed (PubChem), Community estimate)
Winny (Stanozolol suspension) *Injectable1d6h—mgLow1 (Community estimate)
Superdrol (Methasterone injectable) *Injectable1d6h—mgLow1 (Community estimate)
Anavar (Oxandrolone)Oral10h58m—mgHigh2 (FDA label, Paper)
Dianabol (Methandienone) *Oral5h58m—mgLow1 (Community estimate)
Anadrol (Oxymetholone) *Oral14h4h—mgLow2 (Paper, Community estimate)
Superdrol (Methasterone) *Oral10h58m—mgLow1 (Community estimate)
Proviron (Mesterolone)Oral12h2h—mgHigh1 (SmPC)
Halotestin (Fluoxymesterone)Oral9h58m—mgHigh2 (FDA label, Paper)
Turinabol (Chlorodehydromethyltestosterone)Oral16h3h—mgMedium1 (Paper)
Winny (Stanozolol oral) *Oral10h58m—mgLow1 (Community estimate)
Ozempic (Semaglutide)GLP-17d2d—mgHigh2 (FDA label)
Mounjaro (Tirzepatide)GLP-15d2d—mgHigh2 (FDA label)
Reta (Retatrutide)GLP-16d2d—mgMedium2 (Paper, Community estimate)
Saxenda (Liraglutide)GLP-113h12h—mgHigh2 (FDA label)
Trulicity (Dulaglutide)GLP-15d2d—mgHigh1 (FDA label)
Rybelsus (Oral semaglutide)GLP-17d58m—mgHigh2 (FDA label)
Mazdu (Mazdutide) *GLP-118d3d—mgLow3 (Paper)
HGH (Somatropin)Peptide4h4h—mgHigh2 (FDA label)
HCG (Chorionic gonadotropin)Peptide1.5d6h—iuMedium1 (SmPC)
Sermorelin *Peptide14m29m—mgLow3 (Paper, Community estimate)
CJC-1295 (Mod GRF 1-29 (CJC-1295 no DAC)) *Peptide7h2h—mgLow3 (Paper, Community estimate)
MK-677 (Ibutamoren) *Peptide6h5h—mgLow3 (Paper, Community estimate)

Corrections and changes

We check the cited label or paper, update the number and the date on the page, and note the change on the methodology page. Send a correction with its source to austin@buildleansaas.com.

Data changes

DateCompoundChangeSource
Test UHalf-life: 21d → 34dBehre et al. 1999
MK-677Half-life: 1d → 6hSinha et al. 2020
SermorelinHalf-life: 1h → 14mSinha et al. 2020
DecaTime to peak: 4d → 2dBagchus et al. 2005
AnadrolTime to peak: 58m → 4hCardoso et al. 2002
TurinabolTime to peak: 58m → 3hSchumann 1991
RybelsusTime to peak: 1d → 58mRybelsus / Ozempic tablets FDA label
HCGTime to peak: 12h → 6hPregnyl 5000 IU SmPC
Test PShare that is parent: 80% → 84%Computed (PubChem)
Mast PShare that is parent: 80% → 84%Computed (PubChem)
Mast EShare that is parent: 70% → 73%Computed (PubChem)
PrimoShare that is parent: 70% → 73%Computed (PubChem)
EQShare that is parent: 61% → 63%Computed (PubChem)
Test CShare that is parent: 69% → 70%Computed (PubChem)
Tren EShare that is parent: 70% → 71%Computed (PubChem)