Repeated-measures analysis in Excel with BESH Stat NG

Repeated-measures data are common in clinical trials, biomedical studies, and teaching examples. A subject is measured more than once, usually across visits or timepoints, and the analysis has to account for the correlation between observations from the same subject.

At first glance, repeated-measures analysis can look simple:

  • measure subjects at several visits
  • compare the means
  • test whether they changed

But in real data, the situation is rarely that simple.

Some subjects miss visits.
Some groups improve faster than others.
Some researchers want a simple classroom method.
Others want a model that reflects how real longitudinal data behave.

This tutorial uses one workbook to show the flow of thought behind repeated-measures analysis in Excel with BESH Stat NG.

The workbook compares:

  • repeated-measures ANOVA
  • Friedman test
  • Skillings–Mack
  • MMRM as the main recommended method for continuous longitudinal outcomes
  • GEE as a companion method for repeated binary outcomes

The tutorial is written especially for:

  • junior researchers
  • students
  • basic researchers
  • applied biomedical analysts
  • anyone who wants to understand not only how to run the methods, but why one method is often better than another

Download the example workbook

The workbook contains these sheets:

  • README — workbook overview and teaching points
  • Data_Long — visit-level long-format FEV1 data
  • Data_Wide — one row per subject with visit columns
  • Classical_Tests — complete-case repeated-measures ANOVA and Friedman layout
  • MMRM_ANOVA_Equiv — MMRM examples that mimic one-way and two-way repeated-measures ANOVA
  • MMRM_Reference — reference output copied from the GUI/results workbook
  • MMRM_UDF_Workflow — live MMRM worksheet workflow using between-within inference
  • MMRM_UDF_Workflow_KR — live MMRM worksheet workflow using Kenward–Roger inference
  • GEE_Data — derived repeated-binary responder dataset
  • GEE_UDF_Workflow — live binomial-logit GEE worksheet workflow
  • Sources — dataset and documentation links
  • SourcesGEE — GEE-specific source notes.

The example data

The underlying dataset is the openpharma FEV1 repeated-measures example, reorganized in the workbook into both:

  • a long format sheet for MMRM and GEE
  • a wide format sheet for classical repeated-measures teaching workflows

This makes it a very good tutorial example because it contains the feature that causes trouble for classical complete-block methods:

missing visits across time.

In the wide sheet there are 200 subjects, but only 39 subjects have a complete VIS1..VIS4 profile. That is the key reason this tutorial promotes MMRM as the flagship continuous-endpoint method.

What question are we trying to answer?

The main example uses a continuous repeated outcome: FEV1, measured repeatedly across visits.

That leads to a common scientific question:

Do subjects change over time, and do treatment groups differ in that change?

This is the kind of question many students first meet in a repeated-measures ANOVA chapter. But in real biomedical data, the deeper question is usually:

What is the best way to answer that question when the outcome is continuous, measurements within a subject are correlated, and some visits are missing?

That is where the methods start to separate.

The first thing to check: is the dataset complete?

Before thinking about p-values or model formulas, a good analyst first asks:

Do I have all repeated measurements for all subjects?

In this workbook, the answer is no.

The wide sheet contains 200 subjects, but only 39 subjects have a complete VIS1..VIS4 profile.

MetricValue
Total subjects in wide sheet200
Complete cases available for classical complete-block analysis39
Retention fraction19.5%
Subjects dropped because of missing visit(s)161

That single table already changes how we should think.

If you use a classical complete-case repeated-measures ANOVA or Friedman test, you are not analysing “the dataset.”
You are analysing the small complete subset of the dataset.

That is one of the central reasons why MMRM should be taught early and used more often, even outside clinical trials.

A practical way to think through repeated-measures analysis

For students and junior researchers, the best way to choose a method is to ask a few simple questions in order.

1. Is the outcome continuous, binary, count, or ordinal?

  • continuous outcome → repeated-measures ANOVA or MMRM are candidates
  • rank-based nonparametric comparison → Friedman or Skillings–Mack
  • binary or count outcome → GEE is often the more natural choice

2. Are the repeated measurements complete?

  • yes → classical repeated-measures ANOVA or Friedman may be fine for teaching or simple designs
  • no → classical complete-block methods become less attractive very quickly

3. Do I want only a simple omnibus test, or do I want interpretable model-based estimates?

  • if you only want “is there any difference?” then a simple omnibus method may be enough
  • if you want adjusted means, treatment differences, change from baseline, or visit-specific comparisons, then a model-based approach is much better

4. Do I care about realistic within-subject correlation?

In repeated data, measurements from the same subject are correlated. If the method handles that correlation poorly or too rigidly, the analysis becomes less realistic.

5. Is this the kind of problem where missing visits are common?

If yes, MMRM deserves very serious consideration whenever the repeated outcome is continuous and approximately Gaussian.

Classical methods are still useful — but mostly as teaching baselines

The workbook includes Classical_Tests for a reason. Repeated-measures ANOVA and Friedman are still useful, especially in teaching, because they help students understand the basic logic of repeated measurements. But they should usually be presented as starting points, not as universal default methods.

Repeated-measures ANOVA

Repeated-measures ANOVA is useful when:

  • the repeated outcome is continuous
  • the design is simple
  • the data are complete or nearly complete
  • the goal is to learn the classical complete-case parametric framework

In the workbook, repeated-measures ANOVA on the complete cases gives:

MethodStatisticValueP-value
Repeated-measures ANOVAF for visit effect48.763< 0.001
Greenhouse–Geisser correctedεGG0.6583.39E-14
Huynh–Feldt correctedεHF0.6947.66E-15

So yes, there is strong evidence of a visit effect. But remember what that result is based on: 39 complete subjects out of 200. That is the key limitation.

Friedman test

Friedman is the complete-block nonparametric counterpart. In the workbook:

MethodStatisticValueP-value
Friedman testChi-square (T1)63.8318.93E-14
Friedman / Iman–DavenportF (T2)45.620< 0.001

Again, the result is clearly significant. But again, it applies to the complete-case subset, not the full observed longitudinal dataset.

Skillings–Mack

Skillings–Mack is the nonparametric incomplete-block alternative. This is a very important teaching point. If your students learn Friedman, they should also learn the question:

What do I do when my repeated-measures matrix has missing cells?

That is exactly the gap that Skillings–Mack fills. Still, Skillings–Mack is an omnibus rank-based method, not a full covariate-adjusted longitudinal model.

Why MMRM should be the method of choice here

This is the central teaching message of the tutorial:

For continuous longitudinal outcomes, MMRM is often the best default method to understand first.

That is true not only in clinical trials, but also in many kinds of basic research.

Why?

1. MMRM keeps the analysis in long format

The workbook’s Data_Long sheet is the natural structure for longitudinal analysis.

Each row is one subject-visit record. This is a better representation of the actual repeated dataset than forcing everything into a complete-case wide matrix.

2. MMRM uses all observed repeated outcomes

The main MMRM fit uses:

  • 537 observed FEV1 values
  • from 197 subjects

That is a much better use of the information than deleting down to 39 complete cases.

3. MMRM models within-subject correlation directly

Repeated outcomes from the same person are correlated. MMRM does not pretend they are independent. Instead, it models the covariance structure of repeated measurements explicitly.

4. MMRM gives answers researchers actually want

Most real analyses are not only asking:

Is there any difference somewhere?

They are asking things like:

  • What is the adjusted mean in each group at each visit?
  • What is the treatment difference at visit 4?
  • How much did each group change from baseline?
  • Is the treatment difference stable across visits?
  • Is the interaction important?

MMRM gives those answers naturally.

5. MMRM is not only for clinical trials

This is worth saying clearly.

MMRM is often associated with regulatory or pharmaceutical work, but the method itself is not limited to clinical trials.

It is often a better choice than repeated-measures ANOVA in:

  • preclinical longitudinal experiments
  • basic neuroscience or physiology studies
  • repeated biomarker measurement studies
  • behavioral studies with missed follow-up sessions
  • repeated lab measurements with incomplete timepoints
  • longitudinal observational biomedical datasets

Whenever the outcome is continuous and repeated, and missingness or covariance flexibility matter, the logic that makes MMRM useful in trials also makes it useful in basic research.

What does the MMRM in this workbook show?

The workbook includes two main MMRM sheets:

  • MMRM_UDF_Workflow — between-within inference
  • MMRM_UDF_Workflow_KR — Kenward–Roger inference

The fixed-effect structure corresponds to:

factor('RACEN') + factor('SEXN') + factor('ARMCDN') + factor('VISITN') + 'ARMCDN':'VISITN'
This means the model is asking about:
  • race
  • sex
  • treatment
  • visit
  • treatment-by-visit interaction

while modelling repeated within-subject correlation using an unstructured covariance matrix.

MMRM fit statistics

StatisticBetween-withinKenward–Roger
Fit methodREMLREML
N observations537537
Subjects197197
Log-likelihood-1693.225-1693.225
AIC3406.4503406.450
BIC3449.3103449.310

The model fit is the same; what changes between sheets is the inference method.

Kenward–Roger Type III tests

TermNum DFDen DFFP-value
RACEN2165.62035.9971.04E-13
SEXN1166.1790.3660.5461
ARMCDN1145.54812.2820.000608
VISITN3159.16073.510< 0.001
ARMCDN:VISITN3152.5970.2590.8549

How should a junior researcher read this table?

A simple interpretation flow is:

  1. Is time important?
    Yes. VISITN is strongly significant.
  2. Is there an overall treatment difference?
    Yes. ARMCDN is significant.
  3. Does the treatment effect seem to change differently over time?
    Not in this example. The interaction ARMCDN:VISITN is not significant.
  4. Do the covariates matter?
    RACEN matters here, SEXN does not.

That is already much more informative than a single omnibus repeated-measures ANOVA p-value.

Visit-specific treatment comparisons

VisitPlacebo estimateTreatment estimateTreatment − PlaceboP-value
Visit 132.57036.9794.4096.57E-05
Visit 237.58841.7174.1293.21E-06
Visit 343.10246.7833.6812.42E-07
Visit 447.86152.8685.0060.00301

This is where MMRM becomes really useful in practice.

Instead of only saying “there is a repeated-measures effect,” you can say:

  • the treatment group is higher than placebo at every visit
  • the treatment difference is about 4 to 5 units across visits
  • the difference is statistically significant at each visit
  • the interaction is not significant, so the treatment effect looks fairly stable over time in this example

That is the kind of result table most biomedical researchers actually want.

MMRM as the modern version of repeated-measures ANOVA thinking

The workbook also includes a dedicated teaching sheet:

MMRM_ANOVA_Equiv

This sheet is very useful for students because it shows how MMRM can mimic familiar ANOVA-style fixed-effect structures.

Example 1 — one-way repeated-measures ANOVA equivalent

Formula:

factor('VISITN')
Interpretation:
  • only the repeated within-subject factor (visit) is modelled
  • this is the MMRM analogue of a one-way repeated-measures ANOVA

Example 2 — two-way repeated-measures ANOVA equivalent, no interaction

Formula:

factor('ARMCDN') + factor('VISITN')
Interpretation:
  • treatment and visit are both included
  • their effects are additive
  • this mirrors a two-way repeated-measures ANOVA without interaction

Example 3 — two-way repeated-measures ANOVA equivalent, with interaction

Formula:

factor('ARMCDN') + factor('VISITN') + 'ARMCDN':'VISITN'
Interpretation:
  • treatment and visit are both included
  • treatment-by-visit interaction is explicitly tested
  • this mirrors the full repeated-measures ANOVA logic, but within the more flexible MMRM framework

Key omnibus results from the workbook

ExampleEffectFP-value
One-way equivalentVISITN134.862< 0.001
Two-way equivalent, no interactionARMCDN39.8352.21E-09
Two-way equivalent, no interactionVISITN137.967< 0.001
Two-way equivalent, with interactionARMCDN15.9880.000101
Two-way equivalent, with interactionVISITN71.054< 0.001
Two-way equivalent, with interactionARMCDN:VISITN0.2630.8519

This sheet is pedagogically powerful because it lets students see:

  • repeated-measures ANOVA logic is still there
  • but MMRM is the more flexible framework
  • and it works on long, partially incomplete data

MMRM GUI workflow in Excel

The workbook also demonstrates how to fit the same repeated-measures model through the BESH Stat NG GUI. This is useful for users who want an interactive workflow first and then move to the worksheet UDF version later.

In this tutorial, the GUI workflow fits an MMRM for longitudinal FEV1 using:

  • Outcome: FEV1
  • Subject ID: SUBJID
  • Visit / Time: VISITN
  • Fixed-effect source variables: ARMCDN, RACEN, SEXN, VISITN

The model uses:

  • fit method: REML
  • residual covariance structure: Unstructured
  • inference method: Kenward–Roger

This is a strong default teaching example because it combines:

  • a continuous longitudinal endpoint
  • repeated within-subject visits
  • treatment and visit effects
  • treatment-by-visit interaction
  • modern small-sample inference for fixed effects

Step 1. Open the MMRM tool

Go to:

BESH Stat NG → Analyse → Regression → Mixed Models for Repeated Measures (MMRM)

Excel ribbon screenshot showing BESH Stat NG Regression menu with Mixed Models for Repeated Measures (MMRM).
BESH Stat NG ribbon path in Excel for Mixed Models for Repeated Measures (MMRM).

Step 2. Select the analysis variables

On the Select Variables tab:

  • set Dependent Variable (Outcome) to FEV1
  • set Subject ID to SUBJID
  • set Visit / Time to VISITN
  • add these Fixed-Effect Source Variables:
    • ARMCDN
    • RACEN
    • SEXN
    • VISITN
BESH Stat NG MMRM input dialog in Excel showing FEV1 as outcome, SUBJID as subject ID, VISITN as visit variable, and ARMCDN, RACEN, SEXN, VISITN as fixed-effect source variables.
MMRM input dialog in BESH Stat NG with FEV1 as the outcome, SUBJID as the subject identifier, VISITN as the repeated visit variable, and treatment, race, sex, and visit included as fixed-effect source variables.

Step 3. Build the fixed-effect model

On the Build Model tab, specify the repeated-measures fixed effects used in the tutorial. The worksheet UDF version uses the equivalent expanded fixed-effect structure:

factor('RACEN') + factor('SEXN') + factor('ARMCDN') + factor('VISITN') + 'ARMCDN':'VISITN'
This corresponds to a longitudinal model with:
  • treatment main effect
  • visit main effect
  • treatment-by-visit interaction
  • demographic covariates (RACEN, SEXN)
BESH Stat NG MMRM Build Model tab in Excel showing categorical fixed effects ARMCDN, RACEN, SEXN, VISITN, and the ARMCDN by VISITN interaction.
MMRM Build Model tab in BESH Stat NG showing categorical fixed effects for treatment, race, sex, and visit, plus the treatment-by-visit interaction.

Step 4. Set the model options

On the Options tab, use:

  • Convergence Criterion: 1E-06
  • Max. Iterations: 500
  • Fit Method: REML
  • Residual Covariance Structure: Unstructured
  • Inference Method: Kenward-Roger
  • Show class-level information: checked
  • Show LS-means / estimated marginal means: checked
  • LS-means calculation: Observed design grid

The workbook also enables:

  • Show change from baseline
  • Show group difference in change
BESH Stat NG MMRM options dialog in Excel showing REML fit method, unstructured residual covariance, Kenward-Roger inference, and LS-means output settings.
MMRM options in BESH Stat NG using REML estimation, an unstructured residual covariance matrix, and Kenward–Roger inference with LS-means and change-from-baseline outputs enabled.

Step 5. Fit the model

Click Fit.

The GUI output returns:

  • fixed-effect coefficient estimates
  • Kenward–Roger term-level Type III tests
  • fit statistics
  • estimated marginal means by visit
  • estimated marginal means by visit and treatment
  • pairwise treatment differences by visit
  • change-from-baseline contrasts
  • difference-in-change contrasts
  • fitted covariance and correlation matrices

Key GUI results

Fit statistics

StatisticValue
Fit methodREML
Number of observations537
Number of subjects197
Log-likelihood-1693.225
AIC3406.450
BIC3449.310

These values confirm that the model is being fit on the observed long-format data rather than a reduced complete-case subset.

Kenward–Roger Type III tests

TermNum DFDen DFFP-value
ARMCDN1145.54912.2820.000608
RACEN2165.61135.9971.04E-13
SEXN1166.1700.3660.5461
VISITN3159.15773.509< 0.001
ARMCDN:VISITN3152.5920.2590.8549

These results are easy to interpret:

  • VISITN is strongly significant, indicating clear change over time
  • ARMCDN is significant, indicating an overall treatment-group difference
  • RACEN is significant in this fit
  • SEXN is not significant
  • the ARMCDN × VISITN interaction is not significant, suggesting no strong evidence that the treatment effect changes differently across visits in this example

Estimated marginal means by visit and treatment

VisitPlacebo estimateTreatment estimateTreatment − PlaceboP-value
Visit 132.57036.9794.4096.57E-05
Visit 237.58841.7174.1293.21E-06
Visit 343.10246.7833.6812.42E-07
Visit 447.86152.8685.0060.00301

This table is especially helpful in a clinical-trial setting because it moves from omnibus tests to visit-specific interpretation. In this example, the treatment group is higher than placebo at every visit, and those differences are statistically significant at all four visits.

Change from baseline by visit

ContrastEstimateSEP-value
Visit 2 − baseline visit 14.9400.5667.11E-15
Visit 3 − baseline visit 110.0150.593< 0.001
Visit 4 − baseline visit 115.6230.917< 0.001

This is a useful teaching result because it shows how MMRM can present clinically interpretable change-from-baseline contrasts directly from the fitted model.

Difference in change from baseline by treatment group

ContrastEstimateSEP-value
Visit 2 vs baseline 1: Δ(Treatment) − Δ(Placebo)-0.2801.1320.8051
Visit 3 vs baseline 1: Δ(Treatment) − Δ(Placebo)-0.7281.1870.5407
Visit 4 vs baseline 1: Δ(Treatment) − Δ(Placebo)0.5971.8330.7450

These difference-in-change contrasts agree with the non-significant ARMCDN × VISITN interaction and reinforce the interpretation that the treatment effect appears broadly stable across visits in this example. See workbook with MMRM results created from the GUI fit.

GUI workflow or UDF workflow?

A very practical question for students is:

Should I use the GUI or the worksheet formulas?

The honest answer is:

both are useful, but for different reasons.

When the GUI is helpful

Use the GUI when you want:

  • a fast start
  • an interactive way to build the model
  • to explore options without writing formulas first
  • to generate a full workbook output quickly
  • to teach the workflow visually in class

GUI drawbacks

The GUI is less ideal when you want:

  • a worksheet that documents the full logic in cells
  • a reusable template for future datasets
  • a formula-driven audit trail
  • scenario-based workbook logic built around the fitted model

When the UDF workflow is helpful

Use the UDF workflow when you want:

  • reproducible worksheet-based analysis
  • a template that can be reused later
  • visible control cells
  • a fit handle that feeds multiple downstream tables
  • a workbook that is easy to validate, share, and teach from
  • specific contrast definition with the BESH.REGR.MMRM_LSMESTIMATE

UDF drawbacks

The UDF workflow is less beginner-friendly at first because:

  • the syntax must be set up correctly
  • the workbook structure needs more planning
  • dynamic spills and array behaviour matter more

The best teaching approach

For junior researchers, the best approach is often:

  1. start with the GUI
  2. understand the model and the output
  3. then move to the UDF worksheet workflow
  4. use the worksheet version as the reproducible final template

That is exactly why this workbook is so useful.

Why MMRM should be used more in basic research

This point deserves its own section. Many basic researchers still default to repeated-measures ANOVA because:

  • it is familiar
  • it is widely taught
  • it appears in many introductory textbooks
  • it feels simple

But simplicity is not always a good reason to use a method. When the outcome is continuous and repeated, MMRM is often better because it:

  • uses incomplete longitudinal data more naturally
  • allows more realistic covariance structures
  • supports covariate adjustment more naturally
  • gives clinically or scientifically interpretable visit-specific estimates
  • handles longitudinal questions in the format researchers actually ask them

So even outside formal clinical trials, MMRM is often the better scientific choice when:

  • observations are repeated over time
  • the response is approximately Gaussian
  • missing sessions or visits occur
  • you care about the pattern of change over time
  • you want adjusted means and contrasts, not only omnibus p-values

In that sense, MMRM should not be seen as a “special pharma method.” It should be seen as a general modern method for continuous longitudinal analysis.

Companion GEE example for repeated binary outcomes

The workbook also includes a GEE companion example.

This is important because it teaches the next methodological step:

  • use MMRM for repeated continuous endpoints
  • use GEE when the repeated endpoint is binary or count

To create a repeated binary endpoint from the same trial context, the workbook defines:

RESP_GE5 = 1 if visit FEV1 is at least 5 units above baseline, otherwise 0

The GEE sheet then fits a binomial-logit marginal model with an exchangeable working correlation and robust standard errors.

Key GEE results from the workbook

StatisticValue
FamilyBinomial
LinkLogit
Working correlationExchangeable
# observations537
# clusters197
QIC409.329
QICu408.621
Working correlation estimate0.0367

Selected GEE coefficients from the workbook

ParameterCoefSEZP-value
FEV1_BL-0.24930.0248-10.0331.09E-23
RACEN[3]1.85680.36935.0284.96E-07
VISITN[3]2.19070.45544.8111.50E-06
VISITN[4]3.36230.54736.1448.05E-10

GEE classification summary at threshold 0.50

MetricValue (%)
Sensitivity80.37
Specificity88.05
Precision82.24
Accuracy84.92
Balanced accuracy84.21
F181.29

The teaching message here is straightforward:

  • MMRM remains the primary method for the continuous FEV1 outcome
  • GEE becomes the natural companion when the repeated outcome is binary

Which method should I use?

Here is the practical teaching summary this page should emphasize.

Use repeated-measures ANOVA when

  • the repeated outcome is continuous
  • the repeated matrix is complete or nearly complete
  • the design is simple
  • the goal is teaching the classical complete-case parametric framework

Use Friedman when

  • the repeated outcome can be ranked
  • you want a nonparametric complete-block omnibus test
  • every subject has all repeated measurements

Use Skillings–Mack when

  • you want a nonparametric repeated-measures omnibus test
  • the wide repeated-measures matrix contains missing cells
  • you want the incomplete-block extension of Friedman

Use MMRM when

  • the repeated outcome is continuous
  • missing visits are present
  • visit-by-treatment modeling matters
  • the setting is a longitudinal clinical or trial workflow
  • you want a method that uses the observed long-format data directly

Use GEE when

  • the repeated outcome is binary or count
  • the target is a marginal population-average effect
  • within-subject correlation matters, but the endpoint is not continuous in the MMRM sense

Compatibility note for older Excel versions

This workbook works best in modern versions of Excel that support dynamic arrays and spill ranges.

Older Excel versions do not support spill behavior. In those versions, users may need to:

  • preselect the full output range
  • enter the UDF formula across that range
  • confirm it as an array formula rather than a normal single-cell formula

Depending on the Excel version, that may require the traditional Ctrl+Shift+Enter workflow.

So the same BESH Stat NG logic can still be used in older Excel, but the workbook may require more manual array-formula entry.

Validation and transparency

This workbook is designed to be transparent and reusable.

It keeps:

  • the raw long-format data
  • the wide-format teaching layout
  • the complete-case classical sheet
  • the MMRM worksheet workflow
  • the KR comparison workflow
  • the ANOVA-equivalent MMRM examples
  • the companion GEE worksheet workflow
  • the source URLs

That makes it useful both as a tutorial workbook and as a validation-friendly teaching file.

For a broader overview of how BESH Stat NG results are checked, including reference datasets, automated tests, and comparison workflows, see the Validation page.

Summary

This workbook teaches a very important lesson: Repeated-measures analysis is not just about choosing a test. It is about choosing a method that matches the scientific question and the structure of the data.

In this example:

  • repeated-measures ANOVA and Friedman are useful teaching baselines
  • Skillings–Mack is the natural incomplete-block nonparametric extension
  • MMRM is the main recommended method for the continuous longitudinal endpoint
  • GEE is the companion approach for repeated binary outcomes

For junior researchers, the most important takeaway is: If your repeated outcome is continuous and your longitudinal data are incomplete or realistically correlated, MMRM is usually a better starting point than repeated-measures ANOVA.

Frequently asked questions

Why not just use repeated-measures ANOVA?

Because repeated-measures ANOVA often requires complete repeated measurements and can discard many subjects when visits are missing.

Why is MMRM considered standard?

Because it models continuous repeated outcomes in long format, accounts for within-subject correlation, and retains partially observed subjects under the usual likelihood-based missing-data assumptions.

Is MMRM only for clinical trials?

No. It is widely used in trials, but the same advantages apply to many kinds of basic biomedical and longitudinal research.

When should I use GEE instead?

Use GEE when the repeated outcome is binary or count and you want a marginal population-average model.

Should beginners start with the GUI or with UDFs?

Usually start with the GUI to understand the model and output, then move to UDFs for reproducible worksheet-based workflows.

Learn more in the MMRM documentation

You mentioned that the expanded MMRM documentation is not online yet, but will eventually be published under the main help site. I would absolutely use those links in this tutorial, because they help promote the depth of BESH Stat NG.

A good “Learn more” block for the page is:

That will make the tutorial page much stronger as an entry point into the full MMRM capability set.

See also