Back to List
Module 50 Views

Statistical Analysis Report — GLPI103-301

July 12, 2026

📚 Part of the GLPI-103 Regulatory Dossier — Reader's Guide. This article shows the live document; edits to the source appear here automatically.

🧪
Mock / simulation document

This is a mock / simulation document, made for a portfolio and for learning. The drug (GLPI-103), the sponsor, the people, and the data are all fictional. It is not a real regulatory submission and has no clinical, legal, or regulatory standing. What is real is the shape of the thing — the document structure, the standards it follows, and the analysis methods; the content inside is illustrative.

📄
About this document — a plain-language guide

What it is. The Statistical Analysis Report — the narrative synthesis of every statistical analysis actually run, with the methods and results laid out end to end.

Why it exists. Between the plan (SAP) and the clinical report (CSR) sits the full statistical account: what was computed, with what assumptions and diagnostics, and what it showed. It is where the estimand, sensitivity, and survival analyses are documented in detail.

How it is produced here. The numbers come straight from the study's simulated Phase 3 dataset — they are calculated from the data, not typed in by hand. That is why you see the same figures repeated across the protocol, the analysis plan, the report, and the summaries: they all read from the same source.

Format & governing standard. ICH E9 / E9(R1) (estimands), CDISC ADaM


Statistical Analysis Report — GLPI103-301

🧭
The 'show your working' document

The SAR sits between the plan (SAP) and the report (CSR): it is the full statistical account of every analysis actually run, with the methods, assumptions, and diagnostics laid out. If you want to see how a headline number was produced, this is where it lives.

FieldValue
Document IDSAR-301
Version1.0
StatusFinal (portfolio)
StudyGLPI103-301 — Phase 3, T2DM, GLPI-103 (IV / Oral) vs oral semaglutide
Companion toSAP-301 (pre-specification), CSR-301 (clinical report), DEF-301 (ADRG/SDRG)
StandardsICH E9 / E9(R1) (estimands), CDISC ADaM
ConfidentialityConfidential — portfolio use

This report documents the executed statistical analyses for Study GLPI103-301, expanding on the headline numbers in CSR-301 with the full estimand-aligned, sensitivity, and supportive analyses. Every result is generated reproducibly by the analysis programs in src/biostat/ and persisted under outputs/stats/; the report cites the producing program and output file for each.

Change History

VersionDateAuthorSummary
1.02026-06-30BiostatisticsInitial — consolidates estimand, missing-data, multiplicity, responder, subgroup, and time-to-event analyses

1. Analysis Populations & Data

  • FAS (Full Analysis Set) = all 900 randomized (IV 300 / Oral 301 / Sema 299); primary efficacy population.
  • PPS (Per-Protocol Set) = 847 (53 major protocol deviations excluded); supportive.
  • Safety Set = all dosed (900).
  • Realistic trial complexity is present in the analysis data: 9.3% discontinuation with documented reasons, 26 subjects on rescue medication (an intercurrent event), monotone missing data under MAR/MNAR mechanisms, recurrent hypoglycaemia, 10 serious adverse events, and 2 deaths. This complexity is what makes the estimand, missing-data, and time-to-event analyses below substantive rather than illustrative.

2. Estimand Framework (ICH E9(R1))

The primary estimand for the HbA1c endpoint is defined by: population (FAS), variable (HbA1c CFB at Week 52), treatment condition (randomized arm), population-level summary (difference in LS means), and intercurrent-event (ICE) strategies. Two ICE strategies are analysed for rescue medication:

  • Treatment-policy — all observed data are used regardless of rescue (the value "as observed").
  • Hypothetical — the HbA1c value that would have been observed without rescue; post-rescue values are set to missing and recovered under MAR.

Program: src/biostat/mmrm_estimands.Routputs/stats/estimand_results.csv. Model: MMRM via the mmrm package, CHG ~ TRT01A*VISIT + BASE + STRAT_HBA1C + STRAT_BMI with an unstructured covariance and Kenward-Roger degrees of freedom.

EstimandGLPI-103 IV − SemaGLPI-103 Oral − Sema
Treatment-policy−0.67 (95% CI −0.81, −0.53)−0.38 (−0.52, −0.24)
Hypothetical (no rescue)−0.69−0.40

Interpretation. The treatment difference is slightly larger under the hypothetical estimand. This is the expected direction: rescue medication (used more by under-controlled, predominantly comparator-arm subjects) improves the comparator's observed glucose under treatment-policy, attenuating the difference; removing post-rescue data recovers the unattenuated pharmacological effect. The two estimands agree closely, so the superiority conclusion does not depend on the ICE strategy chosen.

3. Primary Endpoint — ANCOVA (confirmatory)

Program: src/biostat/run_analysis.Routputs/stats/ancova_results.csv. Model: CHG ~ TRT01A + BASE + STRAT_HBA1C + STRAT_BMI (Week 52, FAS completers).

ArmLS-mean CFB (%)95% CI
GLPI-103 IV−2.57−2.67, −2.47
GLPI-103 Oral−2.23−2.33, −2.13
Semaglutide Oral−1.89−1.99, −1.79

Superiority vs semaglutide: IV −0.68% (95% CI −0.81, −0.55; p<0.001), Oral −0.34% (−0.49, −0.23; p<0.001).

4. Missing-Data Sensitivity Analyses

🧪
Stress-testing the main result

These analyses deliberately assume less favourable things about the patients who left the trial early, to check the conclusion isn't propped up by a convenient assumption. The 'tipping point' is the honest headline: how far you'd have to bend reality before the result changes.

The 9.3% discontinuation makes missing-data robustness material. The MMRM (§2) is valid under MAR; departures are stress-tested with reference-based multiple imputation and a tipping-point analysis.

Program: src/biostat/missing_data_sensitivity.R (rbmi, approximate-Bayesian MI, 25 imputations, Rubin's rules) → outputs/stats/missing_data_results.csv.

Method (IV − Sema)Estimate95% CI
MAR multiple imputation−0.67−0.79, −0.54
Jump-to-reference (conservative)−0.65−0.78, −0.53
Copy-reference−0.67−0.79, −0.54

Even jump-to-reference — which assumes a subject who discontinues GLPI-103 immediately reverts to the comparator's trajectory — barely attenuates the effect.

Tipping-point (MNAR). A delta penalty δ was added to all imputed active-arm values and the analysis re-run:

δ (% HbA1c added to imputed IV values)IV − Semap-value
0.0−0.663×10⁻²³
0.8−0.566×10⁻¹⁶
1.6−0.452×10⁻⁹
2.0−0.406×10⁻⁷

The conclusion does not tip even at δ = +2.0% — a departure from MAR far larger than is clinically plausible. The primary result is robust.

5. Multiplicity — Fixed-Sequence Gatekeeping

Program: src/biostat/secondary_subgroup.pyoutputs/stats/multiplicity_results.csv. The pre-specified 8-step hierarchy (SAP-301 §7.3), each step tested at α=0.05 only if all prior steps rejected:

StepComparison · EndpointpDecision
1IV · HbA1c (primary)3×10⁻²²REJECT
2Oral · HbA1c9×10⁻⁸REJECT
3IV · body weight<10⁻⁹⁰REJECT
4IV · HbA1c<7% responder0.004REJECT
5IV · ≥10% weight-loss responder<10⁻¹⁰REJECT
6Oral · body weight10⁻³²REJECT
7Oral · HbA1c<7% responder0.014REJECT
8Oral · ≥10% weight-loss responder10⁻¹³REJECT

All eight hypotheses are rejected, so family-wise type-I error is strongly controlled at 0.05 across the entire key efficacy family.

6. Responder Analyses

Program: src/biostat/secondary_subgroup.pyoutputs/stats/responder_results.csv. Responders use non-responder imputation (NRI) — a missing Week-52 value counts as a non-responder (the conservative FAS-denominator standard; the observed-completer rates appear descriptively in CSR-301 §11.5). Odds ratios from logistic regression and stratified Cochran-Mantel-Haenszel (strata = HbA1c × BMI).

EndpointArmResponder % (NRI)OR (logistic)CMH p
HbA1c <7.0%IV84.02.03 (1.25, 3.31)0.004
HbA1c <7.0%Oral82.31.83 (1.13, 2.97)0.014
≥10% weight lossIV87.29.47 (5.86, 15.3)<0.001
≥10% weight lossOral76.84.64 (3.06, 7.02)<0.001

(Control: HbA1c<7.0% 72.9%; ≥10% weight loss 42.1%.) Both GLPI-103 arms had significantly higher responder odds on both endpoints; the weight-loss responder advantage is especially large.

7. Subgroup Analyses (primary effect, IV vs Sema)

Program: src/biostat/secondary_subgroup.pyoutputs/stats/subgroup_results.csv (rendered as Figure 3, forest plot). Primary model fitted within each subgroup; treatment-by-subgroup interaction tested as supportive.

SubgroupLevelHbA1c diff (IV − Sema)Interaction p
Overall−0.68
Baseline HbA1c<8.5 / ≥8.5−0.69 / −0.670.57
BMI<30 / ≥30−0.67 / −0.690.99
Age<65 / ≥65−0.68 / −0.660.87
SexF / M−0.53 / −0.800.051

The treatment effect is consistent across all subgroups; no interaction is significant (sex is borderline and interpreted descriptively).

8. Time-to-Event Analyses

Program: src/biostat/survival_recurrent.Routputs/stats/survival_results.csv, survival_km_medians.csv. Kaplan-Meier + stratified Cox proportional-hazards (strata = HbA1c × BMI).

EndpointArmHazard ratio vs Semap
Time to first HbA1c <7.0%IV1.93 (1.57, 2.38)4×10⁻¹⁰
Oral1.40 (1.14, 1.72)0.001
Time to rescue medicationIV0.167 (0.05, 0.57)0.004
Oral0.356 (0.14, 0.90)0.030

GLPI-103 subjects reached the glycaemic target substantially faster (HR ~1.9 for IV) and were far less likely to require rescue (HR 0.17 for IV) than comparator subjects — both consistent with the superior glycaemic effect.

Competing-risk confirmation (robustness_results.csv): because the 2 deaths compete with reaching target, a cumulative-incidence/Fine-Gray analysis (rather than censoring deaths) was run; the subdistribution hazard ratio for time-to-target (IV 1.75, 95% CI 1.43–2.15; Oral 1.34) confirms the cause-specific Cox result with appropriate handling of the competing event.

Additional robustness (robustness_results.csv): the primary ANCOVA effect is insensitive to influential observations (31/573 flagged by Cook's distance >4/n; effect −0.680 → −0.900 on exclusion), and a site/centre random-effect sensitivity left the estimate unchanged (between-site variance ≈0).

9. Recurrent-Event Analysis — Hypoglycaemia

Program: src/biostat/survival_recurrent.Routputs/stats/recurrent_results.csv. Overdispersion-robust quasi-Poisson rate model with a log-exposure offset (subject-years).

ArmRate (events/subj-yr)Rate ratio vs Semap
IV0.0980.970.99
Oral0.1381.370.74
Semaglutide0.101

Hypoglycaemia is infrequent and the rate is not significantly different between arms; events are sparse (73 events / 37 subjects), so confidence intervals are wide and the analysis is interpreted as supportive.

10. Hepatic Safety — eDISH & Hy's Law

🧫
eDISH & Hy's Law, explained

Liver safety is watched with an 'eDISH' plot — each patient's peak liver-enzyme rise against their peak bilirubin. The dangerous corner (both high together) is 'Hy's Law', which flags the rare cases that predict serious liver injury, separating them from harmless enzyme bumps.

Program: src/biostat/hepatic_safety.pyoutputs/stats/hepatic_edish.csv, Figure 4. Per-subject peak ALT and peak total bilirubin (in ×ULN) are plotted on the standard eDISH log-log grid; the Hy's-law quadrant is ALT >3×ULN and total bilirubin >2×ULN.

Across 900 subjects, 1 had peak ALT >3×ULN and 0 met Hy's-law criteria. No drug-induced serious hepatotoxicity signal was identified — consistent with the GLP-1 class.

11. Bayesian Re-analysis of the Primary Endpoint

🔁
A second opinion by another method

The primary result is re-derived using Bayesian statistics — a different mathematical philosophy that expresses the answer as a probability the drug is better. When two independent methods agree, the conclusion is more trustworthy than either alone.

Program: src/biostat/bayesian_exposure.pyoutputs/stats/bayesian_results.csv. A conjugate-normal Bayesian ANCOVA combines the primary estimate with a weakly-informative N(0, 1.0) prior on the HbA1c difference.

ContrastPosterior mean95% CrIP(effect<0)P(effect<−0.5%)
IV − Sema−0.66−0.79, −0.54>0.9990.995
Oral − Sema−0.38−0.50, −0.26>0.9990.029

The posterior probability of superiority is essentially 1 for both arms; the IV arm additionally has a 99.5% posterior probability of exceeding a 0.5% margin.

12. Exposure–Response (Emax)

Program: src/biostat/bayesian_exposure.pyoutputs/stats/exposure_response.csv. The Phase 2 dose-finding result (GLPI103-201) is characterised with an Emax model, supporting the Phase 3 dose selection.

Fitted: E0 = −0.2%, Emax = 2.4%, ED50 = 4.0 mg — i.e., roughly half-maximal HbA1c effect at ~4 mg, with the Phase 3 maintenance doses on the upper plateau.

13. Analysis Datasets & Traceability

Analyses draw on the ADaM datasets ADSL, ADLB, ADAE, ADVS, ADTTE (define.xml; ADRG DEF-301). Each result is mapped to its dataset, method, program, and output in the Analysis Results Metadata (ARM-301). The primary treatment effect is double-programmed: an independent Python ANCOVA reproduces the R emmeans contrasts within ±0.01 (qc_double_program.csv).

14. Overall Statistical Conclusions

  1. Superiority of both GLPI-103 formulations over oral semaglutide on HbA1c at Week 52 is established and confirmed under the confirmatory ANCOVA, the estimand-aligned MMRM (both ICE strategies), the fixed-sequence multiplicity procedure (all 8 steps reject), and a Bayesian re-analysis (posterior P(superiority) >0.999).
  2. The conclusion is robust to missing data — reference-based imputation (incl. conservative jump-to-reference) and a tipping-point analysis (no tip to δ = 2.0%).
  3. Secondary and supportive analyses are concordant: large weight-loss and responder advantages, consistent subgroup effects, faster time-to-target, lower rescue hazard, no excess hypoglycaemia, and no hepatotoxicity signal (eDISH).
  4. Reproducibility & QC. Every result is regenerated by python build.py --stage biostat, reconciled to source, and the primary effect is independently double-programmed.

15. Limitations

The dataset is simulated, and effect sizes sit at the favourable end of the plausible range. The recurrent-event hypoglycaemia analysis is limited by sparse events (wide CIs). These do not affect the internal validity or reproducibility of the analyses reported.

Comments (0)

No comments yet. Be the first to say something!