A practical guide to power analysis with G*Power

If you’ve ever had to answer the question “how many participants do I need?” for an ethics application, a grant, or a pre-registration, you’ve needed a power analysis. This page is a practical, example-driven walkthrough of how to do that using G*Power, a free program built by researchers at Heinrich Heine University Düsseldorf. It’s not the only power analysis tool out there, but it’s free, it covers most of the designs psychologists and health researchers actually run, and once you know your way around its interface it’s genuinely quick to use.

This guide started life as a much longer resource I found useful early in my career, hosted for years at mormonsandscience.com and preserved on the Wayback Machine. I used that as a starting point and used Claude (Anthropic’s AI assistant) to help rewrite, reorganise, and expand it with new worked examples throughout. I hope it keeps the “soul” of the original and is still useful!

I’ve checked this over, but with a page this long covering this many tests, something may have slipped through. If you spot an error — a wrong formula, a step that doesn’t match your version of G*Power, anything — please email me and I’ll fix it. For anything this guide doesn’t cover, or to double-check a dialog field against your own version, the official G*Power manual (PDF) is the authoritative reference.

Contents

G*Power sorts its tests by statistical machinery (“test family”), which is efficient once you know it but not how most people first think about their design. This table gives you both routes in: find your test by what it’s usually called, or by which G*Power family it lives in, then click through.

Test Usually filed under G*Power family Quick example
Correlation: bivariate normal model Correlation Exact tests (or t-tests) study hours vs exam score
Point-biserial correlation Correlation Exact tests (or t-tests) test score by pass/fail group
Two independent correlations Correlation z-tests correlation strength, two cohorts
Two dependent correlations Correlation z-tests same-sample correlations sharing a variable
Tetrachoric correlation Correlation z-tests correlation between two “pass/fail”-style traits
One sample vs a known proportion Proportions Exact tests symptom rate vs population rate
Two independent proportions (Fisher’s exact) Proportions Exact tests pass rate, two teaching methods
Two dependent proportions (McNemar’s) Proportions Exact tests before/after symptom change
Sign test Proportions Exact tests more improved than worsened?
Independent-samples t-test Means / t-tests t-tests treatment vs control means
Paired-samples t-test Means / t-tests t-tests pre- vs post-intervention scores
One-sample t-test Means / t-tests t-tests sample IQ vs population norm
Mann-Whitney U Means / t-tests t-tests non-parametric group comparison
One-sample Wilcoxon signed-rank test Means / t-tests t-tests non-parametric one-sample comparison
Paired Wilcoxon signed-rank test Means / t-tests t-tests non-parametric before/after comparison
Chi-square goodness of fit Chi-square χ² tests observed vs expected category counts
One-sample variance test Variance χ² tests does a scale’s variability match a known value?
Two independent variances Variance F-tests does variability differ between two groups?
Linear regression: slope, one group Regression t-tests sleep hours predicting memory score, as b
Linear regression: slopes, two groups Regression t-tests does a predictor’s effect differ between two groups?
Multiple regression — overall model Regression F-tests (or Exact) do 4 predictors explain an outcome?
Multiple regression — one predictor’s contribution Regression F-tests does adding one more predictor help?
Logistic regression Regression z-tests does BMI predict a diabetes diagnosis?
Poisson regression Regression z-tests does dose change an event rate?
One-way ANOVA ANOVA F-tests scores across three seating positions
Factorial (two-way) ANOVA ANOVA F-tests condition × gender on test scores
Repeated measures — between-subjects effect ANOVA F-tests drug vs placebo across visits
Repeated measures — within-subjects effect ANOVA F-tests change across three time points
Repeated measures — interaction ANOVA F-tests does change over time differ by group?
Hotelling’s T² — one group Multivariate F-tests several paired differences at once
Hotelling’s T² — two groups Multivariate F-tests several outcomes, two groups at once
MANOVA — global effects Multivariate F-tests therapy type across five outcomes

↑ Back to top

Why bother with power analysis?

Statistical power is the probability that your study will correctly detect an effect, given that the effect genuinely exists. A study with 80% power has an 80% chance of finding a real effect of the size you’ve specified, and a 20% chance of missing it — a Type II error, or false negative. This is separate from Type I error (usually written α, “alpha”), the chance of finding an effect that isn’t really there — a false positive. Conventionally we accept a 5% Type I error rate (α = 0.05) and aim for at most a 20% Type II error rate (power ≥ 0.80); you’ll see both of these numbers everywhere in this guide.

Two failure modes matter here. An underpowered study is likely to miss real effects, and worse, if it does find something “significant” the effect size estimate tends to be inflated and unreliable. An overpowered study can flag trivially small effects as statistically significant, even when they have no practical or clinical relevance. Neither is a great use of anyone’s time or a participant’s goodwill, which is why most ethics boards, journals, and funders now expect a justified sample size before you collect a single data point.

Commercial packages (PASS, nQuery, SPSS SamplePower) do this well but cost real money. Free online calculators exist too, but most only handle a handful of simple designs. G*Power sits in a useful middle ground: free, actively maintained, and capable of handling everything from a simple correlation to repeated-measures ANOVA and logistic regression.

Downloading it: the current version is available directly from the developers’ page at Düsseldorf, for Windows and Mac.

A disclaimer worth repeating from the original guide this is based on: no guide can promise the numbers G*Power gives you are perfectly correct for your exact design. Where you can, cross-check unfamiliar calculations against a second source (an R package, a colleague, a published table) before you commit to a sample size in a pre-registration.

↑ Back to top

How G*Power is organised

Every calculation in G*Power follows the same basic shape, which is worth understanding before you touch any specific test:

  1. Test family — a broad category (t-tests, F-tests, χ² tests, z-tests, exact tests).
  2. Statistical test — the specific design (e.g. “Means: Difference between two independent means”).
  3. Type of power analysis — G*Power actually offers five modes; see Types of power analysis below for what each is for. Almost every worked example on this page uses A priori: compute required sample size, given alpha, power, and effect size — the version ethics boards, grant panels, and pre-registrations expect to see.
  4. Effect size — the expected size of whatever you’re trying to detect. Where possible, G*Power has a “Determine” button that opens a small calculator so you can enter means, standard deviations, correlations, or proportions directly and let it compute the standardised effect size for you, rather than you having to compute it by hand.
  5. α (alpha) and power — conventionally 0.05 and 0.80, though check what your field, supervisor, or journal expects. Pre-registered confirmatory studies often use higher power (0.90 or 0.95).

Once you’ve filled these in, click Calculate and G*Power returns the required total sample size (and, for unequal group designs, the split between groups).

↑ Back to top

Where do effect sizes come from?

This is usually the hardest part, and G*Power can’t answer it for you. Your options, roughly in order of preference:

Cohen’s conventions, since you’ll want them repeatedly:

Effect size index Used for Small Medium Large
d Mean differences (t-tests) 0.20 0.50 0.80
r Correlations 0.10 0.30 0.50
w Chi-square (goodness of fit) 0.10 0.30 0.50
f ANOVA (univariate) 0.10 0.25 0.40
f² Multiple regression, factorial ANOVA 0.02 0.15 0.35

g (proportions/binomial) has no fixed small/medium/large benchmarks — the effect size is just the raw difference between the two proportions.

A quick caveat on that table: Cohen himself proposed these as a last resort for when nothing better was available, not as fixed standards, and a growing body of work argues they’re a poor fit for psychology specifically. Published effect sizes in social and personality psychology tend to cluster well below Cohen’s “medium,” which means these benchmarks can undersell effects that are actually meaningful, or oversell precision that isn’t there. Funder and Ozer (2019, Advances in Methods and Practices in Psychological Science) argue for recalibrated benchmarks based on what psychology research actually produces, and stress that a “small” effect can still matter a great deal depending on context. Gignac and Szodorai (2016, Personality and Individual Differences) make a similar case specifically for correlational individual-differences research, suggesting smaller anchor points than Cohen’s for r. Treat the table above as a shared vocabulary, not a target — a literature-based estimate will always beat a convention.

↑ Back to top

Types of power analysis

Every dialog in G*Power has a “Type of power analysis” dropdown, and it’s worth knowing what all five options are for, even though this guide’s worked examples all use the same one.

Worked example: sensitivity analysis. Twenty patients with a rare condition have already agreed to take part in your study — that number isn’t going to change — and you want to know what effect size you’d realistically be able to detect with a paired pre/post design, before you commit to it.

  1. Set up the test exactly as you would for an a priori analysis — Test family t-tests, Statistical test Means: Difference between two dependent means (matched pairs) — but change Type of power analysis to Sensitivity: compute required effect size, given α, power, and N.
  2. Tail(s): two, unless directional.
  3. α err prob: 0.05. Power: 0.80.
  4. Total sample size: 20 (or however many you’re actually able to recruit).
  5. Click Calculate. G*Power returns the minimum detectable effect size dz — compare this against effect sizes reported in similar published studies to judge whether your fixed sample size leaves you able to detect anything realistic, or whether you’re effectively running an underpowered study regardless of how carefully you plan it.

Reporting this number is also a legitimate, honest way to justify a sample size you couldn’t have chosen freely — rather than quietly running an a priori analysis backwards until it produces the N you were always going to use.

A caution about post hoc (“observed”) power. It’s tempting to compute post hoc power after a study finishes, using the effect size you actually found — G*Power makes this only a dropdown-click away from every a priori analysis on this page. Resist it. Post hoc power computed from a study’s own observed effect size is mathematically just a rescaling of that study’s p-value: a “significant” result will always show high post hoc power, and a null result will always show low post hoc power, regardless of what’s actually true. This circularity is well documented, and some journals and reviewers explicitly ask authors not to report it. If you want to say something about the precision or reliability of a completed study, a confidence interval around the observed effect size is the more honest tool — post hoc power for that same study tells you nothing it doesn’t already tell you via the p-value.

↑ Back to top

Correlational designs

↑ Back to top

Correlation: bivariate normal model

What it tests: whether a correlation coefficient is significantly different from zero (or from some other specified value), for two continuous variables.

Worked example: you expect a correlation of r = 0.35 between hours of sleep the night before an exam and next-day memory performance, and want to know how many participants would let you detect that reliably.

Step by step:

  1. Test family: Exact — Statistical test: Correlation: Bivariate normal model. (The t-tests family has an equivalent test that gives the same answer; use whichever your software defaults to.)
  2. Type of power analysis: A priori.
  3. Tail(s): choose two unless you have a strong directional hypothesis and are willing to defend it (e.g. you’re confident sleep can only help, never hurt, memory) — then choose one.
  4. Correlation ρ H1: enter 0.35 directly. There’s no “Determine” calculator needed here — the correlation is the effect size.
  5. α err prob: 0.05.
  6. Power (1 − β err prob): 0.80.
  7. Correlation ρ H0: leave at 0, unless you’re testing your sample’s correlation against some other specific benchmark value (e.g. “is our correlation of 0.35 significantly higher than a previously published correlation of 0.20?” — in which case enter 0.20 here instead).
  8. Click Calculate. For this example, you’ll need in the region of 63 participants.

Reading the output: G*Power also reports the noncentrality parameter and critical r — you can ignore these unless you’re writing them into a stats-heavy methods section; the number you actually want is Total sample size.

↑ Back to top

Point-biserial correlation

What it tests: whether a correlation coefficient is significantly different from zero, for the specific case where one variable is continuous and the other is a two-level category — for example, correlating a continuous anxiety score with a binary group membership (clinical vs non-clinical).

Worked example: you expect a point-biserial correlation of r = 0.30 between a continuous test score and a binary pass/fail outcome.

Step by step:

  1. Test family: Exact (or t-tests, equivalent) — Statistical test: Correlation: Bivariate normal model. G*Power doesn’t have a separate “point-biserial” option; the underlying maths is identical to the ordinary bivariate correlation test, you’re just interpreting one variable as a 0/1 grouping.
  2. Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
  3. Correlation ρ H1: if you’ve been given (or have estimated) r directly, enter it as-is (0.30). If instead you have a squared value — a coefficient of determination, r² = 0.09 — click Determine, enter 0.09 under “Coefficient of determination ρ²,” and let G*Power take the square root for you.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Click Calculate.

This test is mathematically equivalent to an independent-samples t-test on the same data — if you already know your two group means and SDs, you may find the independent-samples t-test walkthrough below more intuitive to work through, and it will return the same sample size.

↑ Back to top

Two independent correlations

What it tests: whether a correlation observed in one independent group differs significantly from a correlation observed in a second, separate group.

Worked example: does the correlation between hours of revision and exam grade differ between first-year and final-year students? You expect r = 0.54 in the final-year group and r = 0.40 in the first-year group.

Step by step:

  1. Test family: z-tests — Statistical test: Correlation: Two independent Pearson r’s.
  2. Tail(s): one or two, depending on whether you predicted which group would show the stronger correlation in advance.
  3. Effect size q: click Determine. Enter the two expected correlations — Correlation ρ1 = 0.54 (final-year), Correlation ρ2 = 0.40 (first-year) — then click Calculate and transfer to main window. G*Power converts the two correlations into Cohen’s q, the effect size this test actually uses. It isn’t simply 0.54 − 0.40: correlations get “Fisher-z transformed” first (a standard rescaling that spreads out correlations near ±1, where raw differences are misleadingly compressed) and q is the difference between the two transformed values — you don’t need to do this by hand, G*Power’s Determine calculator handles it.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Allocation ratio N2/N1: if you expect an equal number of participants in each group, leave this at 1. If, say, you expect twice as many first-year as final-year students, set it to 2.
  6. Click Calculate.

↑ Back to top

Two dependent correlations

What it tests: whether two correlations that share one variable in common, both measured in the same sample, differ from each other — as opposed to the two independent correlations test above, which compares correlations measured in two separate groups.

Worked example: in one group of students, you measure exam anxiety (A), hours of revision (B), and exam performance (C). You expect anxiety to correlate more strongly with performance (ρ = −0.40) than with revision hours (ρ = −0.20), and you also have an estimate of how revision hours relate to performance (ρ = 0.35) — you need this third correlation because how strongly the two non-shared variables (B and C) relate to each other affects how easy it is to detect a difference between anxiety’s two correlations.

Step by step:

  1. Test family: z-tests — Statistical test: Correlation: Two dependent Pearson r’s (the “common index” variant — the one for two correlations that share a variable, like here).
  2. Tail(s): two, unless you have a specific directional hypothesis you’re prepared to defend.
  3. H1 Corr ρ_ac: the first of the two correlations you’re comparing, involving the shared variable A — here, anxiety–performance, ρ_ac = −0.40.
  4. H0 Corr ρ_ab: the second correlation, also involving A — anxiety–revision hours, ρ_ab = −0.20. (The “H0” in the label is a quirk of G*Power’s naming; you’re not testing this against zero, just supplying your second observed correlation.)
  5. Corr ρ_bc: the correlation between the two non-shared variables — revision hours and performance, ρ_bc = 0.35.
  6. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  7. Click Calculate.

↑ Back to top

Tetrachoric correlation

What it tests: whether the correlation between two dichotomised variables — each really an underlying continuous trait that’s been reduced to a yes/no split, like a pass/fail threshold applied to two continuous ability measures — differs from a hypothesised value. This is different from an ordinary point-biserial correlation: a tetrachoric correlation tries to recover the correlation between the two underlying continuous traits, not just the correlation between the raw 0/1 codings.

Worked example: you have two pass/fail-graded modules and want to test whether the tetrachoric correlation between “passing module A” and “passing module B” — an estimate of how related the underlying skills are — differs from ρ = 0.30, expecting instead something closer to ρ = 0.50. Around 70% of students pass module A, and 60% pass module B.

Step by step:

  1. Test family: z-tests — Statistical test: Correlation: Tetrachoric model.
  2. Tail(s): two, unless directional.
  3. H1 corr ρ: your expected tetrachoric correlation — 0.50.
  4. H0 corr ρ: the value you’re testing against — 0.30 (use 0 if you’re simply asking whether the correlation differs from zero).
  5. Marginal prob x: the proportion of your sample expected to score 1 (“pass”) on the first variable — 0.70.
  6. Marginal prob y: the same for the second variable — 0.60.
  7. α err prob: 0.05. Power: 0.80.
  8. Click Calculate.

A caveat worth flagging: because a tetrachoric correlation estimates a latent relationship rather than one directly observed in your raw 0/1 data, if you’re not confident the dichotomisation genuinely reflects an underlying continuous trait, a straightforward bivariate correlation or point-biserial correlation test on the original continuous data (where available) is usually the more natural choice.

↑ Back to top

Comparing proportions

Family: Exact tests, in most cases.

↑ Back to top

One sample vs a known proportion

What it tests: the binomial test — whether a proportion observed in your sample differs from a known or hypothesised population proportion. It’s especially appropriate (rather than an approximate z-test) when either n×p or n×(1−p) is small, which is common with rare outcomes.

Worked example: the population rate of a particular symptom in the general population is 2% (p = 0.02). You suspect the rate is elevated to 5% (p = 0.05) in people with a specific risk factor, and want to know how many people with that risk factor you’d need to sample to detect the difference.

Step by step:

  1. Test family: Exact — Statistical test: Proportion: Difference from constant.
  2. Tail(s): two, unless you’re only interested in detecting an increase specifically, in which case one.
  3. Effect size g: click Determine. Enter P1 (the H0 proportion, 0.02) and P2 (the H1/alternative proportion, 0.05), choose one of the “Calc P2 from…” methods offered (they’re equivalent — pick whichever inputs you have), synchronise the values, then calculate. G*Power returns g = 0.03 here (simply P2 − P1 in this simple case).
  4. α: 0.05. Power: since this concerns a potentially under-detected risk factor, you might reasonably push power to 0.90.
  5. Constant proportion: this should already be filled in as the H0 proportion (0.02) — check it matches P1 from the Determine step.
  6. Click Calculate.

↑ Back to top

Two independent proportions

What it tests: Fisher’s exact test — comparing two proportions measured in two separate, independent groups. Good for comparing pass rates, response rates, or diagnosis rates between groups, and appropriate for both prospective designs and retrospective designs where you’re extracting a fixed number of cases per group from records.

Worked example: based on department records, 85% of students pass a statistics module when it’s taught by staff from the psychology department, versus an expected 95% pass rate when it’s taught by staff from the mathematics department. How many students (split across the two teaching conditions) would you need to detect that difference?

Step by step:

  1. Test family: Exact — Statistical test: Proportions: Inequality, two independent groups (Fisher’s exact test).
  2. Tail(s): one or two depending on whether the direction is predicted.
  3. Proportion 1: 0.85. Proportion 2: 0.95. (No need for the Determine calculator here — enter both proportions directly into the main window.)
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Click Calculate.

↑ Back to top

Two dependent proportions

What it tests: McNemar’s test — comparing two proportions from the same people measured twice on a binary outcome (before/after, or two raters, or two conditions in a within-subjects design).

Worked example: you measure whether patients report a symptom (yes/no) before and after a course of treatment. You expect the following pattern of outcomes across patients:

After: symptom present After: symptom absent
Before: symptom present 0.55 (no change) 0.30 (improved)
Before: symptom absent 0.05 (worsened) 0.10 (no change)

The cells that matter for McNemar’s test are the discordant pairs — people whose status flipped between the two measurements: 0.30 improved and 0.05 worsened, for a total of 0.35 discordant.

Step by step:

  1. Test family: Exact — Statistical test: Proportions: Inequality, two dependent groups (McNemar’s test).
  2. Tail(s): one if you specifically expect more improvement than worsening (as here), two if either direction would be theoretically interesting.
  3. Odds ratio: the ratio of the two discordant proportions — here, 0.05 / 0.30 ≈ 0.167 (or, taking the reciprocal, 0.30 / 0.05 = 6.0 — either way round gives you the same required sample size).
  4. Proportion of discordant pairs: 0.30 + 0.05 = 0.35.
  5. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  6. Click Calculate.

↑ Back to top

Sign test

What it tests: a special case of the one-sample binomial test, restricted to asking whether a proportion differs from exactly 50% — useful for simple “did more people improve than get worse” questions where you’re not tracking the magnitude of change, just its direction.

Worked example: you introduce a new revision technique and want to know how many students you’d need to show that significantly more than half improved their grade (as opposed to declined or stayed the same). You expect 70% of students to show improvement.

Step by step:

  1. Test family: Exact — Statistical test: Proportion: Sign test.
  2. Tail(s): two if the true rate could plausibly be either above or below 50%; one if you’re only interested in detecting an improvement.
  3. Effect size g: calculated directly as (expected proportion − 0.50). Here, g = 0.70 − 0.50 = 0.20. You can type this straight in, no Determine calculator needed.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Click Calculate.

↑ Back to top

Comparing means (t-tests)

Family: t-tests.

↑ Back to top

Independent-samples t-test

What it tests: the workhorse comparison — whether the means of two independent, unrelated groups differ (e.g. a treatment group against a control group, or two naturally occurring groups).

Worked example: you expect a control group to average 100 on some outcome measure, and a treatment group to average 108, with a shared standard deviation of 15 in both groups.

Step by step:

  1. Test family: t-tests — Statistical test: Means: Difference between two independent means (two groups).
  2. Tail(s): two, unless direction is genuinely certain in advance.
  3. Effect size d: click Determine. Two sub-methods are offered:
    • n1 = n2 (balanced design, the common case): enter the mean for group 1 (100) and group 2 (108), then a single SD for group 1 and a single SD for group 2 (15 and 15 — the test assumes equal variances, so if you don’t have good reason to expect different SDs, use the same value for both).
    • n1 ≠ n2 (if you already know your groups won’t be balanced): enter the two means and a single pooled “SD within each group” instead. Click Calculate and transfer to main window — this example works out to d ≈ 0.53.
  4. α: 0.05. Power: 0.80.
  5. Allocation ratio N2/N1: leave at 1 for equal group sizes; otherwise set it to the ratio you actually expect (e.g. 2 if group 2 will be twice the size of group 1 — recruiting a rarer clinical group alongside a larger convenience-sampled control group is a common reason for this).
  6. Click Calculate. This example needs roughly 57 participants per group (114 total) for a balanced design.

↑ Back to top

Paired-samples t-test

What it tests: the same participants (or matched pairs) measured under two conditions, or at two time points.

Worked example: you measure mood before and after a brief mindfulness intervention. You expect a pre-intervention mean of 46 (SD 5.1) and a post-intervention mean of 50 (SD 5.8), with a correlation of roughly 0.5 between each person’s pre- and post-scores (people who start relatively low tend to stay relatively low, even if everyone improves somewhat).

Step by step:

  1. Test family: t-tests — Statistical test: Means: Difference between two dependent means (matched pairs).
  2. Tail(s): two, unless the direction of change is certain in advance (here, you might reasonably argue for one-tailed if you’re confident the intervention can only help, not harm, mood).
  3. Effect size dz: click Determine → From group parameters. Enter the pre-intervention mean and SD (46, 5.1), the post-intervention mean and SD (50, 5.8), and the expected correlation between the two sets of scores (0.5). Click Calculate and transfer to main window.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Click Calculate.

Note that the higher the correlation between your two measurements, the smaller the required sample size — a paired design “spends” some of its statistical efficiency on how consistent people are with themselves, which is exactly why repeated-measures designs are popular when you can use them.

↑ Back to top

One-sample t-test

What it tests: whether a single sample’s mean differs from a known or established population value.

Worked example: the published population mean IQ score is 100 (SD 15). You want to know whether a sample of postgraduate students has a significantly different average — you expect their mean to be around 110.

Step by step:

  1. Test family: t-tests — Statistical test: Means: Difference from constant (one sample case).
  2. Tail(s): two, unless you’re specifically only interested in detecting that the sample scores higher (or lower) than the population.
  3. Effect size d: click Determine. Enter the mean under H0 (100, the population value) and the mean under H1 (110, your expected sample mean), and the standard deviation (15). Click Calculate and transfer to main window.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Click Calculate.

A minor technical note carried over from the original guide this is based on: by convention, once your expected sample size climbs past about 30, a t-test and a z-test give near-identical answers, because the t-distribution converges on the normal distribution as degrees of freedom increase. If you know your population SD precisely (rather than estimating it) and expect a reasonably large sample, running this as a t-test is still a perfectly reasonable and slightly more conservative choice.

↑ Back to top

Mann-Whitney U

What it tests: the non-parametric alternative to the independent-samples t-test (also called the Wilcoxon rank-sum test), for when your outcome is continuous but you can’t reasonably assume normality — for instance, a skewed reaction-time measure, or a count-like outcome that doesn’t meet parametric assumptions. It is not the right choice for genuinely ordinal data (e.g. a 5-point Likert item) — G*Power’s implementation assumes an underlying continuous distribution.

Worked example: you want to compare reaction times (known to be positively skewed) between two independent groups, expecting a mean of 450ms (SD 90) in group 1 and 500ms (SD 90) in group 2.

Step by step:

  1. Test family: t-tests — Statistical test: Means: Wilcoxon-Mann-Whitney test (two groups).
  2. Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
  3. Parent distribution: choose the shape that best matches your outcome — G*Power offers several (Normal, Logistic, several skewed options); for a mildly skewed reaction-time measure, a lognormal or similar option is more honest than assuming Normal.
  4. Effect size: click Determine. Choose n1 = n2 if you’re planning equal group sizes (enter the mean and SD for each group — 450/90 and 500/90 here) or n1 ≠ n2 if you already know the groups won’t be balanced (enter the two means and a single pooled SD). Click Calculate and transfer to main window.
  5. α err prob: 0.05. Power: 0.80. Allocation ratio N2/N1: leave at 1 for equal group sizes, or set it to whatever ratio you actually expect.
  6. Click Calculate.

Expect the required sample size to come out a little higher than the equivalent parametric t-test — typically single-digit percentage points more, depending on the parent distribution you chose — which is the price of not needing the normality assumption.

↑ Back to top

One-sample Wilcoxon signed-rank test

What it tests: the non-parametric alternative to the one-sample t-test — whether a sample differs from a hypothesised value, without assuming your outcome is normally distributed.

Worked example: the same postgraduate scenario as the one-sample t-test above (population mean 100, SD 15, expected sample mean 110), but suppose your outcome is instead something skewed — a reaction-time-derived composite score, say — where you’d rather not assume normality.

Step by step:

  1. Test family: t-tests — Statistical test: Means: Wilcoxon signed-rank test (one sample case).
  2. Tail(s): two, unless directional.
  3. Parent distribution: choose the shape that best matches your outcome (Normal, Logistic, or one of the skewed options) — this determines the efficiency correction G*Power applies relative to the equivalent t-test.
  4. Effect size: click Determine, enter the mean under H0 and H1 and the SD (100, 110, 15, as in the one-sample t-test example), click Calculate and transfer to main window.
  5. α err prob: 0.05. Power: 0.80.
  6. Click Calculate.

Expect this to need a slightly larger sample than the equivalent one-sample t-test, for the same reason as Mann-Whitney above.

↑ Back to top

Paired Wilcoxon signed-rank test

What it tests: the non-parametric alternative to the paired-samples t-test — whether the median difference between two related measurements (before/after, or matched pairs) differs from zero, without assuming the differences are normally distributed.

Worked example: the same mindfulness mood scenario as the paired t-test above (pre-intervention mean 46, SD 5.1; post-intervention mean 50, SD 5.8; correlation 0.5 between the two), but for a skewed mood-related outcome where a non-parametric test is more defensible.

Step by step:

  1. Test family: t-tests — Statistical test: Means: Wilcoxon signed-rank test (matched pairs).
  2. Tail(s): two, unless directional.
  3. Parent distribution: as above — choose whichever shape best matches your difference scores.
  4. Effect size: click Determine → From group parameters, enter the pre- and post-intervention means and SDs and the correlation between them (46/5.1, 50/5.8, 0.5), click Calculate and transfer to main window.
  5. α err prob: 0.05. Power: 0.80.
  6. Click Calculate.

↑ Back to top

Chi-square: goodness of fit

↑ Back to top

Chi-square goodness of fit

What it tests: whether the pattern of observed frequencies across a set of categories differs from an expected (theoretical or null) distribution across those same categories.

Worked example: you run a study with four experimental conditions and intended to randomise participants equally across them (25% each). After data collection, you want to check whether your actual achieved split — say 30%, 20%, 35%, and 15% — represents a problematic deviation from the intended equal allocation, and how many participants you’d need for that check to have adequate power.

Step by step:

  1. Test family: χ² tests — Statistical test: Goodness-of-fit tests: Contingency tables.
  2. Effect size w: click Determine. Number of cells (categories): 4.
    • Under P(H0), enter the expected proportion for each category. Since you intended an equal split, click Equal p(H0) and G*Power fills in 0.25 for all four.
    • Under P(H1), enter the proportions you actually expect/observed: 0.30, 0.20, 0.35, 0.15. If you have raw frequencies rather than proportions, enter those instead and click Normalise p(H1) to convert them. There’s also an auto-calculate last cell option if you’d rather not compute the final proportion by hand (it just makes the column sum to 1.0).
    • Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Df: this is filled in automatically as (number of categories − 1) — here, 3. Double check it matches what you’d expect.
  5. Click Calculate.

A limitation worth flagging: G*Power’s χ² routines cover goodness-of-fit but not the classic two-variable “test of independence” contingency-table χ² (e.g. a 2×3 crosstab between gender and preferred condition) — for that, you’d typically use a dedicated crosstab power calculator, or estimate it via simulation.

↑ Back to top

Comparing variances

Two tests for when your hypothesis is about spread rather than central tendency.

↑ Back to top

One-sample variance test

What it tests: whether a single sample’s variance differs from a hypothesised population value — useful, for instance, in reliability or measurement work where a specific amount of variability is expected or required, rather than a specific mean.

Worked example: a published scale has a known population variance of 25 (SD = 5). You want to check whether a translated version of the scale, used with a different population, produces a significantly different amount of spread — you expect a variance closer to 36 (SD = 6).

Step by step:

  1. Test family: χ² tests — Statistical test: Variance: Difference from constant (one sample case).
  2. Tail(s): two, unless you specifically expect variance to increase or decrease only.
  3. Effect size: the ratio of your expected variance to the hypothesised constant, r = σ²/c — here, 36/25 = 1.44.
  4. α err prob: 0.05. Power: 0.80.
  5. Click Calculate.

↑ Back to top

Two independent variances

What it tests: whether the variances — rather than the means — of two independent groups differ, a Levene’s-test-style question. Useful when unequal variability between groups is itself the thing you’re studying (e.g. does a training programme make performance more consistent, not just better on average), or when you need to justify a homogeneity-of-variance assumption for another test.

Worked example: you expect a training programme to reduce not just average errors but the spread of errors across trainees. A control group’s error scores have a variance of 64 (SD 8); you expect the trained group’s variance to shrink to 25 (SD 5).

Step by step:

  1. Test family: F-tests — Statistical test: Variance: Inequality of two variances.
  2. Tail(s): two, unless you specifically predicted the direction of the difference.
  3. Effect size: the variance ratio, r = σ²(larger) / σ²(smaller) — here, 64/25 = 2.56.
  4. Allocation ratio N2/N1: leave at 1 for equal group sizes, or set it to whatever ratio you expect.
  5. α err prob: 0.05. Power: 0.80.
  6. Click Calculate.

↑ Back to top

Regression and prediction

↑ Back to top

Linear regression: slope, one group

What it tests: whether the slope of a simple (one-predictor) linear regression line differs from a hypothesised value — mathematically equivalent to the bivariate correlation test above, but framed in the original units of your predictor and outcome (a raw regression coefficient, b) rather than a standardised correlation, which is often what a stakeholder actually wants reported.

Worked example: the same sleep-and-memory scenario as the bivariate correlation test earlier, but this time you want to report and power the analysis in terms of the raw slope — each extra hour of sleep is expected to raise next-day memory score by b = 2.5 points, with a predictor (sleep hours) SD of 1.2 and an outcome (memory score) SD of 7.0.

Step by step:

  1. Test family: t-tests — Statistical test: Linear regression: Size of slope, one group.
  2. Tail(s): two, unless directional.
  3. Slope H1: your expected slope — 2.5.
  4. Slope H0: the value you’re testing against — 0, unless you specifically want to test against some other benchmark slope.
  5. Std dev σ_x: the standard deviation of your predictor — 1.2.
  6. Std dev σ_y: the standard deviation of your outcome — 7.0.
  7. α err prob: 0.05. Power: 0.80.
  8. Click Calculate.

Since this test and the bivariate correlation test above are mathematically the same test dressed in different units, they’ll return the same required sample size for equivalent inputs — use whichever framing matches how you (or your reviewers) want the effect reported.

↑ Back to top

Linear regression: slopes, two groups

What it tests: whether the slope of the same regression relationship differs between two independent groups — the regression equivalent of asking “does this relationship hold equally strongly in both groups,” and a common way of testing a moderation-by-group hypothesis.

Worked example: does the relationship between sleep and memory performance (from above) differ between first-year and final-year students? You expect a slope of b = 2.5 in the final-year group and a shallower b = 1.0 in the first-year group, a shared residual SD of 6.5 around the regression line in both groups, and predictor SDs of 1.2 (final-year) and 1.4 (first-year).

Step by step:

  1. Test family: t-tests — Statistical test: Linear bivariate regression: Two groups, differences between slopes.
  2. Tail(s): two, unless you predicted in advance which group’s slope would be steeper.
  3. |D slope|: the absolute difference between the two slopes you expect — |2.5 − 1.0| = 1.5.
  4. Std dev residual σ: the shared residual (error) standard deviation around the regression line — 6.5.
  5. Std dev σ_X for each group: the predictor SD in each group — 1.2 (final-year) and 1.4 (first-year).
  6. Allocation ratio N2/N1: leave at 1 for equal group sizes, or set it to whatever ratio you expect.
  7. α err prob: 0.05. Power: 0.80.
  8. Click Calculate.

↑ Back to top

Multiple regression — overall model

What it tests: whether a set of predictor variables, taken together, significantly predicts an outcome variable — the omnibus test of R² for the whole model.

Worked example: you’re building a model with four predictors (say, working memory capacity, prior GPA, test anxiety, and hours of sleep) predicting exam performance, and want to know how many participants you’d need to detect that the model as a whole explains a significant proportion of variance.

Step by step:

  1. Test family: F-tests (or Exact, both work) — Statistical test: Linear multiple regression: Random model.
  2. Tail(s): one or two (most regression omnibus tests are run one-tailed in practice, since R² can’t meaningfully be negative, but check what your software/supervisor expects).
  3. Effect size H1 p² (R² under the alternative hypothesis): click Determine. You have two options:
    • Direct entry: if you already have an expected R² from a pilot or the literature, just type it in.
    • From predictor correlations (more rigorous, and worth doing if you can): choose this option, enter the number of predictors (4), click Specify matrices, then under the “Corr between predictors and outcome” tab enter each predictor’s expected correlation with the outcome (e.g. working memory r = .30, prior GPA r = .45, anxiety r = −.25, sleep r = .20), and under the “Corr between predictors” tab enter the expected correlations between the predictors themselves (predictors that overlap a lot with each other add less unique explanatory power — this matrix is where that gets accounted for). Accept the values, click Calculate R², and transfer it to the main window.
  4. H0 p²: leave at 0 (the null hypothesis is that the predictors explain no variance).
  5. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  6. Number of predictors: 4.
  7. Click Calculate.

↑ Back to top

Multiple regression — one predictor’s contribution

What it tests: rather than the whole model, whether one specific predictor adds meaningfully to a model that already contains the others — the test behind each individual regression coefficient’s significance, and the one you’ll usually care about more than the omnibus test once you have a specific hypothesis about a particular variable.

Worked example: you have three predictors (P1, P2, P3) of an outcome Y, and specifically want to know whether P3 contributes above and beyond P1 and P2. You expect the correlations between each predictor and the outcome to be r(P1,Y) = .23, r(P2,Y) = .16, and r(P3,Y) = .24, and the correlations between the predictors themselves to be r(P1,P2) = .20, r(P1,P3) = .45, r(P2,P3) = .31.

Step by step:

  1. Test family: F-tests — Statistical test: Linear multiple regression: Fixed model, R² increase.
  2. Effect size f²: click Determine. You can enter R² directly if you already have it (G*Power converts using f² = R² / (1 − R²)), or, more rigorously, choose From predictor correlations, enter the number of predictors (3), click Specify matrices, and fill in two matrices: under “Corr between predictors and outcome,” enter each predictor’s correlation with Y (.23, .16, .24); under “Corr between predictors,” enter the correlations between the predictors themselves (P1–P2 = .20, P1–P3 = .45, P2–P3 = .31). Accept the values, then click Calculate effect size and transfer it to the main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Number of predictors: 3 (the total in the model, including the one you’re specifically testing).
  5. Number of tested predictors: 1 (you’re testing the unique contribution of P3 alone).
  6. Click Calculate.

↑ Back to top

Logistic regression

What it tests: whether a predictor variable significantly predicts a binary (yes/no) outcome, with or without other covariates in the model. G*Power handles this slightly differently depending on whether your predictor of interest is continuous or dichotomous (two-category) — the mechanics below cover both. Note this is specifically for a genuinely binary outcome (present/absent, diagnosed/not); if your outcome is instead a count or rate — say, deaths per year rather than dead/alive — that’s a job for Poisson regression below, not this test.

Worked example (continuous predictor): you’re testing whether body mass index (BMI) predicts receiving a type 2 diabetes diagnosis (yes/no) within a follow-up period. The population mean BMI is 30 (SD 3). You expect the probability of diagnosis to be 0.15 for someone at the mean BMI, rising to 0.25 for someone one SD above the mean (BMI = 33).

Step by step:

  1. Test family: z-tests — Statistical test: Logistic regression.
  2. Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
  3. Click the Options tab at the bottom of the window — you can enter your effect size as either an odds ratio, or as two probabilities (the latter is usually the more intuitive route, so that’s what’s shown here).
  4. Pr(Y=1|X=1) H1: the probability of the outcome one SD above the mean of your predictor — 0.25.
  5. Pr(Y=1|X=1) H0: the probability of the outcome at the mean of your predictor — 0.15.
  6. R² other X: the proportion of variance in your main predictor (BMI) explained by any other covariates in the model. If BMI is your only predictor, enter 0. If, say, two moderately-associated covariates are also in the model (each correlating with BMI at around r = 0.50), enter 0.50² = 0.25. The stronger your covariates overlap with your predictor of interest, the more this inflates your required sample size.
  7. X distribution: Normal (appropriate for a continuous predictor like BMI). X param μ = 0, X param σ = 1 (these describe the standardised predictor and rarely need changing).
  8. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  9. Click Calculate.

Worked example (dichotomous predictor): the same logic applies if your predictor is itself binary — for instance, testing whether smoking status (yes/no) predicts the same diabetes diagnosis outcome, with an expected probability of 0.18 among smokers and 0.06 among non-smokers. The only changes: set X distribution to Binomial, and set X param π to the expected proportion of your sample who are smokers (e.g. 0.50 for a roughly balanced sample).

Either way, G*Power also lets you enter the effect size directly as an odds ratio via the Determine button on the Options tab, computed from the same two probabilities using OR = [P1×(1−P2)] / [P2×(1−P1)] — useful if a paper you’re basing your estimate on reports an odds ratio rather than raw probabilities.

↑ Back to top

Poisson regression

What it tests: whether a predictor influences the rate of an event over some period of exposure (time, patient-days, trials), rather than a binary yes/no outcome. Appropriate when your outcome is a count that can happen repeatedly and roughly independently (e.g. number of migraine episodes, number of workplace incidents) — not for outcomes where one event precludes or heavily influences the next.

Worked example: you’re testing whether a 1mg increase in a drug dose changes the rate of a treatment-related side effect. Based on existing data, you expect a baseline rate of 13 events per 30 patient-days in the absence of treatment, and expect each 1mg dose increase to raise the event rate by 25% (i.e. a rate ratio of 1.25).

Step by step:

  1. Test family: z-tests — Statistical test: Poisson regression.
  2. Exp(B1): the expected rate ratio per one-unit increase in your predictor — 1.25 here (a 25% increase; a protective effect would instead be entered as something below 1, e.g. 0.80 for a 20% decrease).
  3. Base rate Exp(B0): worked out in three steps — (1) choose a unit of exposure (here, days); (2) choose a length for that unit (30 days); (3) work out how many events you’d expect per that unit in the absence of treatment (13). The base rate is then 13/30 ≈ 0.433.
  4. Mean exposure: how long, in your chosen unit, each participant will actually be followed up. This interacts with your total required sample size — for a fixed total number of “participant-days” of data, following fewer people for longer, or more people for less time, are roughly interchangeable, so if recruitment is your bottleneck rather than study duration, extending the follow-up period per participant can meaningfully reduce the number of participants you need.
  5. R² other X: as with logistic regression, the proportion of variance in your predictor explained by other covariates (0 if there are none).
  6. X distribution: Normal for a continuous predictor (dose, as here) or Binomial for a dichotomous one (e.g. treatment yes/no), in which case you’d also set X param π to the expected proportion receiving treatment.
  7. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  8. Click Calculate.

↑ Back to top

ANOVA designs

Family: F-tests.

↑ Back to top

One-way ANOVA

What it tests: whether the means of three or more independent groups differ — the omnibus test that tells you something differs somewhere, before you move on to any planned contrasts or post-hoc tests to work out where.

Worked example: you’re comparing exam scores across three teaching methods (lecture-based, flipped-classroom, and self-paced online), each taught to a separate group of students. You expect a shared within-group SD of 8, with group means of 65 (lecture), 70 (flipped), and 68 (online).

Step by step:

  1. Test family: F-tests — Statistical test: ANOVA: Fixed effects, omnibus, one-way.
  2. Effect size f: click Determine → Effect size from means. Enter the number of groups (3), a single shared “SD within each group” (8 — one-way ANOVA assumes homogeneity of variance, so there’s only one SD to enter), and the three group means (65, 70, 68). Enter your expected sample size per group, or use the Equal n shortcut if you’re planning equal group sizes (e.g. enter 40 and click it). Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Number of groups: should already show 3 from the effect-size step — check it matches.
  5. Click Calculate.

↑ Back to top

Factorial (two-way) ANOVA

What it tests: the main effects and interaction in a design crossing two (or more) categorical predictors — e.g. teaching method × prior attainment band on exam scores.

Worked example: a 2 (gender: male, female) × 3 (teaching method: lecture, flipped, online) design on exam scores. You want power to detect the interaction between gender and teaching method, and expect it to represent a small-to-moderate proportion of variance (partial η² ≈ 0.04).

Step by step:

  1. Test family: F-tests — Statistical test: ANOVA: Fixed effects, special, main effects and interactions.
  2. Effect size f: click Determine → Direct. Enter your expected partial η² (0.04 here) — the proportion of variance in the outcome explained by the effect you’re powering, over and above the other effects in the model. Rough conventions: small ≈ .01, medium ≈ .06, large ≈ .14 (note these differ from Cohen’s f benchmarks in the earlier table — don’t mix the two up). Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Numerator df — this is the part people most often get wrong, because it depends on exactly which effect you’re powering:
    • Main effect of teaching method (3 levels): df = 3 − 1 = 2.
    • Main effect of gender (2 levels): df = 2 − 1 = 1.
    • The gender × teaching method interaction (our example): df = (3 − 1) × (2 − 1) = 2.
  5. Number of groups: the product of all factor levels — here, 2 genders × 3 methods = 6.
  6. Click Calculate.

↑ Back to top

Repeated measures — between-subjects effect

What it tests: in a design with repeated measurements over time (or condition), the effect of a between-groups factor — i.e. does the overall level differ between groups, averaged across the repeated measurements.

Worked example: 40 patients in a trial have a symptom score recorded at three follow-up visits (1, 2, and 3 months). Twenty receive an active treatment, twenty a placebo. You want power for the treatment-vs-placebo difference, averaged across the three visits, expecting group means of 35 (treatment) and 31 (placebo), a shared within-group SD of 8, and a moderate correlation of 0.5 between each patient’s scores across visits.

Step by step:

  1. Test family: F-tests — Statistical test: ANOVA: Repeated measures, between factors.
  2. Effect size f: click Determine → Effect size from means. Number of groups: 2 (treatment, placebo). SD within each group: 8. Means: enter each group’s mean averaged across all repeated measurements (35, 31). Size: 20 per group (or use Equal n). Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Number of groups: 2.
  5. Number of measurements: 3 (the three follow-up visits).
  6. Correlation among repeated measures: 0.5 — this should generally be moderate-to-high, since a given patient’s scores across visits tend to be more similar to each other than to another patient’s scores.
  7. Click Calculate.

↑ Back to top

Repeated measures — within-subjects effect

What it tests: the effect of the repeated factor itself — e.g. does the outcome change significantly across the three visits, regardless of treatment group.

Worked example: 40 patients in a drug trial (20 treatment, 20 placebo) have a symptom score recorded at three follow-up visits. This time you want power to detect change over time itself (the main effect of visit, regardless of group), expecting this effect to represent a moderate proportion of variance (partial η² ≈ 0.06).

Step by step:

  1. Test family: F-tests — Statistical test: ANOVA: Repeated measures, within factors.
  2. Effect size f: click Determine → Direct, enter partial η² = 0.06 directly (small ≈ .02, medium ≈ .06, large ≈ .14). Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Number of groups: 2 if there’s still a between-subjects factor in the design (as here); enter 1 if there is no between-groups factor at all.
  5. Number of measurements: 3.
  6. Correlation among repeated measures: 0.5 — this should generally be moderate-to-high, since a given patient’s scores across visits tend to be more similar to each other than to another patient’s scores.
  7. Nonsphericity correction ε: leave at 1.0 if you’re comfortable assuming sphericity holds (that the variances of the differences between every pair of time points are roughly equal); if you have reason to expect it’s violated, use a lower value as a more conservative estimate (the theoretical floor is 1 divided by (number of measurements − 1)).
  8. Click Calculate.

↑ Back to top

Repeated measures — interaction

What it tests: whether the pattern of change across the repeated measurements differs between your between-subjects groups — the classic “does the shape of the change over time differ by group” question, and often the effect people actually care about most in this kind of design.

Worked example: does the trajectory of symptom scores across the three visits differ between the treatment and placebo groups (rather than both groups simply changing at the same rate)? You expect this interaction to represent a small-to-moderate effect (partial η² ≈ 0.04).

Step by step:

  1. Test family: F-tests — Statistical test: ANOVA: Repeated measures, within-between interaction.
  2. Effect size f: click Determine → Direct, enter partial η² = 0.04. Click Calculate and transfer to main window.
  3. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  4. Number of groups: 2 (treatment, placebo).
  5. Number of measurements: 3.
  6. Correlation among repeated measures: 0.5 — again, moderate-to-high is typical for genuinely repeated measures.
  7. Nonsphericity correction ε: 1.0 if you’re assuming sphericity holds; lower (down to 1 divided by (number of measurements − 1)) if you expect it’s violated and want a more conservative estimate.
  8. Click Calculate.

↑ Back to top

Multivariate designs

Family: F-tests.

These are the fiddliest tests in G*Power’s interface, because they ask you for a full covariance (or correlation) matrix between your outcome variables rather than a single number — worth double-checking your inputs against a second source before finalising a sample size based on one of these.

↑ Back to top

Hotelling’s T² — one group

What it tests: the multivariate analogue of a one-sample t-test — whether a vector of several related outcome means differs from a hypothesised set of values, testing all the outcomes jointly rather than running a separate t-test on each one (which would inflate your Type I error rate).

Worked example: in a small pre-post study, you measure two correlated outcomes (say, an anxiety score and a related avoidance-behaviour score) before and after an intervention, and want to test both pre-post difference scores jointly rather than with two separate paired t-tests. Based on a handful of pilot cases, the average pre-post differences look like this:

Pilot case Anxiety difference Avoidance difference
1 1 0
2 0 2
3 −1 1
4 1 1
Average 0.25 1.0

Step by step:

  1. Test family: F-tests — Statistical test: Hotelling’s T² — one group case.
  2. Effect size: click Determine. Under the Means (or groups/means matrix) tab, enter the average difference score for each outcome (0.25 for anxiety, 1.0 for avoidance).
  3. Switch to the Cov Sigma (covariance) tab, make sure “Covariances” is selected in the drop-down, and enter the variances and covariance of the two difference scores computed from your pilot data (this is just the ordinary variance-covariance matrix of your two “difference” columns).
  4. Click Calculate and transfer to main window.
  5. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  6. Response variables: 2 (the number of outcomes you’re testing jointly).
  7. Click Calculate.

↑ Back to top

Hotelling’s T² — two groups

What it tests: the same idea, extended to comparing two independent groups across several correlated outcomes simultaneously.

Worked example: comparing a treatment and control group on two correlated outcomes (Y1 and Y2) at once, where the two outcomes have variances of 1.00 and 2.50 respectively and a covariance of −0.75 between them (i.e. participants who score relatively higher on Y1 tend to score relatively lower on Y2).

Step by step:

  1. Test family: F-tests — Statistical test: Hotelling’s T² — two groups case.
  2. Effect size: click Determine. Enter the expected group means for each outcome, in each group, under the Means tab.
  3. Under the Cov Sigma tab, enter the variance-covariance matrix: Y1 variance = 1.00, Y2 variance = 2.50, Y1–Y2 covariance = −0.75.
  4. Click Calculate and transfer to main window.
  5. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  6. Allocation ratio N2/N1: the expected ratio of control-group to treatment-group sample size — enter 1 for equal-sized groups.
  7. Response variables: 2.
  8. Click Calculate.

↑ Back to top

MANOVA — global effects

What it tests: whether a single categorical grouping factor (with two or more levels) affects several outcome variables considered jointly — for example, testing whether therapy type affects a whole battery of outcome measures at once, rather than running a separate ANOVA per outcome and inflating your overall Type I error rate.

Worked example: comparing four therapy conditions (A, B, C, D) across five correlated outcome measures at once.

Step by step:

  1. Test family: F-tests — Statistical test: MANOVA: Global effects.
  2. Effect size f²: click Determine. Two routes are offered:
    • Direct entry of R² (if you have an overall multivariate R² estimate already, e.g. from a pilot): G*Power converts this to f² using f² = R² / (1 − R²).
    • From predictor correlations (more rigorous): enter the number of predictors, click Specify matrices, then fill in two matrices — the expected correlation between your grouping variable(s) and each outcome, and the expected correlations between the outcomes themselves — and let G*Power derive the effect size from those (the same approach used for multiple regression, if you want a fuller walkthrough of filling in this kind of matrix).
  3. Click Calculate and transfer to main window.
  4. α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
  5. Number of groups: 4 (the four therapy conditions).
  6. Response variables: 5 (the five outcome measures).
  7. Click Calculate.

↑ Back to top

Further reading

This page is deliberately narrow — it gets you from “I need a sample size” to a number, and not much further into the reasoning underneath. A couple of resources are worth having alongside it:

None of these cover G*Power itself in any depth — this guide, and the official manual linked at the top of this page, are there for that — but both will make the effect sizes and test logic this page assumes feel a lot less arbitrary.

↑ Back to top

A few practical tips


This guide draws on the structure of a longer, now-archived resource originally published at mormonsandscience.com, preserved via the Wayback Machine. I used that as a starting point and worked with Claude (Anthropic’s AI assistant) to rewrite, reorganise, and expand it with new worked examples. I’ve checked it over, but if you spot an error anywhere on this page, please email me and I’ll get it fixed.