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 |
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.
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:
- Test family — a broad category (t-tests, F-tests, χ² tests, z-tests, exact tests).
- Statistical test — the specific design (e.g. “Means: Difference between two independent means”).
- 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.
- 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.
- α (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).
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:
- A pilot study or previous similar study of your own.
- A meta-analysis or systematic review in your area, which will usually be a more stable estimate than any single prior study.
- Cohen’s conventional benchmarks (small/medium/large) as a last resort, understanding that “medium” is a very rough placeholder and not a substitute for a literature-based estimate.
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.
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.
- A priori (solve for sample size): given your alpha, desired power, and expected effect size, this tells you how many participants you need. It’s what every worked example on this page uses, and it’s the version ethics boards, grant panels, and pre-registrations expect to see, because it’s the only one of the five that reflects genuine advance planning.
- Sensitivity (solve for effect size): given your alpha, desired power, and a sample size you’re already committed to — a capped clinical population, a fixed recruitment budget, a secondary dataset you’ve already got — this tells you the smallest effect you’d actually be powered to detect. See the worked example below.
- Post hoc (solve for power): given your alpha, sample size, and the effect size you actually observed, this computes the power your completed study apparently had. See the caution below before reaching for this one.
- Compromise: given your effect size, sample size, and a chosen ratio between the cost of a Type I versus a Type II error, this solves for alpha and power simultaneously, rather than fixing alpha at 0.05 and solving for the other. It’s a genuine option in fields where the two error types have very different real-world costs, but it’s uncommon in psychology and health research specifically, and isn’t covered further in this guide.
- Criterion: given your effect size, sample size, and desired power, this solves for the significance criterion (alpha) that would deliver that power. Mostly seen in specialised diagnostic-accuracy contexts, and also not covered further here.
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.
- 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.
- Tail(s): two, unless directional.
- α err prob: 0.05. Power: 0.80.
- Total sample size: 20 (or however many you’re actually able to recruit).
- 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.
Correlational designs
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:
- 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.)
- Type of power analysis: A priori.
- 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.
- Correlation ρ H1: enter 0.35 directly. There’s no “Determine” calculator needed here — the correlation is the effect size.
- α err prob: 0.05.
- Power (1 − β err prob): 0.80.
- 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).
- 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.
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:
- 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.
- Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
- 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. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
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:
- Test family: z-tests — Statistical test: Correlation: Two independent Pearson r’s.
- Tail(s): one or two, depending on whether you predicted which group would show the stronger correlation in advance.
- Effect size q: click
Determine. Enter the two expected correlations — Correlation ρ1 = 0.54 (final-year), Correlation ρ2 = 0.40 (first-year) — then clickCalculate 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’sDeterminecalculator handles it. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
- Click
Calculate.
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:
- 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).
- Tail(s): two, unless you have a specific directional hypothesis you’re prepared to defend.
- H1 Corr ρ_ac: the first of the two correlations you’re comparing, involving the shared variable A — here, anxiety–performance, ρ_ac = −0.40.
- 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.)
- Corr ρ_bc: the correlation between the two non-shared variables — revision hours and performance, ρ_bc = 0.35.
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Click
Calculate.
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:
- Test family: z-tests — Statistical test: Correlation: Tetrachoric model.
- Tail(s): two, unless directional.
- H1 corr ρ: your expected tetrachoric correlation — 0.50.
- H0 corr ρ: the value you’re testing against — 0.30 (use 0 if you’re simply asking whether the correlation differs from zero).
- Marginal prob x: the proportion of your sample expected to score 1 (“pass”) on the first variable — 0.70.
- Marginal prob y: the same for the second variable — 0.60.
- α err prob: 0.05. Power: 0.80.
- 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.
Comparing proportions
Family: Exact tests, in most cases.
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:
- Test family: Exact — Statistical test: Proportion: Difference from constant.
- Tail(s): two, unless you’re only interested in detecting an increase specifically, in which case one.
- 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). - α: 0.05. Power: since this concerns a potentially under-detected risk factor, you might reasonably push power to 0.90.
- Constant proportion: this should already be filled in as the H0 proportion (0.02) — check it matches P1 from the Determine step.
- Click
Calculate.
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:
- Test family: Exact — Statistical test: Proportions: Inequality, two independent groups (Fisher’s exact test).
- Tail(s): one or two depending on whether the direction is predicted.
- Proportion 1: 0.85. Proportion 2: 0.95. (No need for the Determine calculator here — enter both proportions directly into the main window.)
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Click
Calculate.
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:
- Test family: Exact — Statistical test: Proportions: Inequality, two dependent groups (McNemar’s test).
- Tail(s): one if you specifically expect more improvement than worsening (as here), two if either direction would be theoretically interesting.
- 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).
- Proportion of discordant pairs: 0.30 + 0.05 = 0.35.
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Click
Calculate.
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:
- Test family: Exact — Statistical test: Proportion: Sign test.
- 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.
- 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.
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Click
Calculate.
Comparing means (t-tests)
Family: t-tests.
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:
- Test family: t-tests — Statistical test: Means: Difference between two independent means (two groups).
- Tail(s): two, unless direction is genuinely certain in advance.
- 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. ClickCalculate and transfer to main window— this example works out to d ≈ 0.53.
- α: 0.05. Power: 0.80.
- 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).
- Click
Calculate. This example needs roughly 57 participants per group (114 total) for a balanced design.
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:
- Test family: t-tests — Statistical test: Means: Difference between two dependent means (matched pairs).
- 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).
- 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). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
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:
- Test family: t-tests — Statistical test: Means: Difference from constant (one sample case).
- Tail(s): two, unless you’re specifically only interested in detecting that the sample scores higher (or lower) than the population.
- 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). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
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:
- Test family: t-tests — Statistical test: Means: Wilcoxon-Mann-Whitney test (two groups).
- Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
- 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.
- Effect size: click
Determine. Choosen1 = n2if you’re planning equal group sizes (enter the mean and SD for each group — 450/90 and 500/90 here) orn1 ≠ n2if you already know the groups won’t be balanced (enter the two means and a single pooled SD). ClickCalculate and transfer to main window. - α 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.
- 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.
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:
- Test family: t-tests — Statistical test: Means: Wilcoxon signed-rank test (one sample case).
- Tail(s): two, unless directional.
- 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.
- 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), clickCalculate and transfer to main window. - α err prob: 0.05. Power: 0.80.
- 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.
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:
- Test family: t-tests — Statistical test: Means: Wilcoxon signed-rank test (matched pairs).
- Tail(s): two, unless directional.
- Parent distribution: as above — choose whichever shape best matches your difference scores.
- 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), clickCalculate and transfer to main window. - α err prob: 0.05. Power: 0.80.
- Click
Calculate.
Chi-square: goodness of fit
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:
- Test family: χ² tests — Statistical test: Goodness-of-fit tests: Contingency tables.
- 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 anauto-calculate last celloption 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.
- Under P(H0), enter the expected proportion for each category. Since you intended an equal split, click
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Df: this is filled in automatically as (number of categories − 1) — here, 3. Double check it matches what you’d expect.
- 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.
Comparing variances
Two tests for when your hypothesis is about spread rather than central tendency.
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:
- Test family: χ² tests — Statistical test: Variance: Difference from constant (one sample case).
- Tail(s): two, unless you specifically expect variance to increase or decrease only.
- Effect size: the ratio of your expected variance to the hypothesised constant, r = σ²/c — here, 36/25 = 1.44.
- α err prob: 0.05. Power: 0.80.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: Variance: Inequality of two variances.
- Tail(s): two, unless you specifically predicted the direction of the difference.
- Effect size: the variance ratio, r = σ²(larger) / σ²(smaller) — here, 64/25 = 2.56.
- Allocation ratio N2/N1: leave at 1 for equal group sizes, or set it to whatever ratio you expect.
- α err prob: 0.05. Power: 0.80.
- Click
Calculate.
Regression and prediction
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:
- Test family: t-tests — Statistical test: Linear regression: Size of slope, one group.
- Tail(s): two, unless directional.
- Slope H1: your expected slope — 2.5.
- Slope H0: the value you’re testing against — 0, unless you specifically want to test against some other benchmark slope.
- Std dev σ_x: the standard deviation of your predictor — 1.2.
- Std dev σ_y: the standard deviation of your outcome — 7.0.
- α err prob: 0.05. Power: 0.80.
- 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.
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:
- Test family: t-tests — Statistical test: Linear bivariate regression: Two groups, differences between slopes.
- Tail(s): two, unless you predicted in advance which group’s slope would be steeper.
- |D slope|: the absolute difference between the two slopes you expect — |2.5 − 1.0| = 1.5.
- Std dev residual σ: the shared residual (error) standard deviation around the regression line — 6.5.
- Std dev σ_X for each group: the predictor SD in each group — 1.2 (final-year) and 1.4 (first-year).
- Allocation ratio N2/N1: leave at 1 for equal group sizes, or set it to whatever ratio you expect.
- α err prob: 0.05. Power: 0.80.
- Click
Calculate.
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:
- Test family: F-tests (or Exact, both work) — Statistical test: Linear multiple regression: Random model.
- 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).
- 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), clickSpecify 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, clickCalculate R², and transfer it to the main window.
- H0 p²: leave at 0 (the null hypothesis is that the predictors explain no variance).
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of predictors: 4.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: Linear multiple regression: Fixed model, R² increase.
- 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, chooseFrom predictor correlations, enter the number of predictors (3), clickSpecify 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 clickCalculate effect sizeand transfer it to the main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of predictors: 3 (the total in the model, including the one you’re specifically testing).
- Number of tested predictors: 1 (you’re testing the unique contribution of P3 alone).
- Click
Calculate.
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:
- Test family: z-tests — Statistical test: Logistic regression.
- Tail(s): choose two unless you have a specific directional hypothesis you’re prepared to defend, in which case one.
- Click the
Optionstab 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). - Pr(Y=1|X=1) H1: the probability of the outcome one SD above the mean of your predictor — 0.25.
- Pr(Y=1|X=1) H0: the probability of the outcome at the mean of your predictor — 0.15.
- 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.
- 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).
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
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:
- Test family: z-tests — Statistical test: Poisson regression.
- 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).
- 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.
- 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.
- R² other X: as with logistic regression, the proportion of variance in your predictor explained by other covariates (0 if there are none).
- 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.
- α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Click
Calculate.
ANOVA designs
Family: F-tests.
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:
- Test family: F-tests — Statistical test: ANOVA: Fixed effects, omnibus, one-way.
- 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 theEqual nshortcut if you’re planning equal group sizes (e.g. enter 40 and click it). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of groups: should already show 3 from the effect-size step — check it matches.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: ANOVA: Fixed effects, special, main effects and interactions.
- 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). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
- Number of groups: the product of all factor levels — here, 2 genders × 3 methods = 6.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: ANOVA: Repeated measures, between factors.
- 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 useEqual n). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of groups: 2.
- Number of measurements: 3 (the three follow-up visits).
- 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.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: ANOVA: Repeated measures, within factors.
- Effect size f: click
Determine→ Direct, enter partial η² = 0.06 directly (small ≈ .02, medium ≈ .06, large ≈ .14). ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- 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.
- Number of measurements: 3.
- 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.
- 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)).
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: ANOVA: Repeated measures, within-between interaction.
- Effect size f: click
Determine→ Direct, enter partial η² = 0.04. ClickCalculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of groups: 2 (treatment, placebo).
- Number of measurements: 3.
- Correlation among repeated measures: 0.5 — again, moderate-to-high is typical for genuinely repeated measures.
- 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.
- Click
Calculate.
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.
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:
- Test family: F-tests — Statistical test: Hotelling’s T² — one group case.
- 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). - 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).
- Click
Calculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Response variables: 2 (the number of outcomes you’re testing jointly).
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: Hotelling’s T² — two groups case.
- Effect size: click
Determine. Enter the expected group means for each outcome, in each group, under the Means tab. - Under the Cov Sigma tab, enter the variance-covariance matrix: Y1 variance = 1.00, Y2 variance = 2.50, Y1–Y2 covariance = −0.75.
- Click
Calculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Allocation ratio N2/N1: the expected ratio of control-group to treatment-group sample size — enter 1 for equal-sized groups.
- Response variables: 2.
- Click
Calculate.
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:
- Test family: F-tests — Statistical test: MANOVA: Global effects.
- 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, clickSpecify 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).
- Click
Calculate and transfer to main window. - α err prob: 0.05 (or whatever your field/journal expects). Power: 0.80, or 0.90–0.95 for confirmatory/pre-registered work.
- Number of groups: 4 (the four therapy conditions).
- Response variables: 5 (the five outcome measures).
- Click
Calculate.
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:
- Andy Field’s Discovering Statistics Using IBM SPSS Statistics (SAGE, now in its 6th edition) is the standard undergraduate psychology statistics textbook in the UK for good reason — approachable, genuinely funny in places, and it covers the logic behind almost every test on this page. See the publisher’s page or Field’s own companion site.
- Danielle Navarro’s Learning Statistics with R is free, entirely online, and written specifically for psychology students. It’s less click-by-click than Field and more about building genuine statistical intuition — a good next step if you want to understand what G*Power is actually calculating, rather than just how to drive the interface. If R itself isn’t what you’re using, Navarro (with David Foxcroft) adapted the same book for point-and-click software, as Learning Statistics with jamovi and Learning Statistics with JASP — same structure and content, built around whichever free tool you actually have open.
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.
A few practical tips
-
Sensitivity analysis is your friend when your sample size is fixed rather than your effect size. See Types of power analysis above for a worked example.
-
Report your inputs, not just the output. A sample size number on its own isn’t reproducible or checkable — always report the test, tails, alpha, power, and the effect size (and how you arrived at it) alongside the resulting N. Reviewers and pre-registration platforms will expect this. G*Power keeps a record of every run for you: the Protocol of power analyses tab near the top of the main window logs the test, type of power analysis, and every input and output from each calculation you’ve done in that session, and you can save or print it directly — worth doing before you close the program, since it isn’t saved automatically. A typical write-up, adapted from the independent-samples t-test example above, might read:
An a priori power analysis was conducted using G*Power 3.1 (Faul et al., 2007) to determine the minimum sample size required to detect a between-groups difference of d = 0.53, with α = .05 and power = .80 (two-tailed independent-samples t-test). This indicated a required total sample size of N = 114 (57 per group). A total of [your actual N] participants were recruited, which [was/was not] sufficient to achieve the planned level of power.
Adjust the test name, effect size, and numbers to match whichever section of this guide you actually used, and cite G*Power itself as: Faul, F., Erdfelder, E., Lang, A.-G., & Buchner, A. (2007). G*Power 3: A flexible statistical power analysis program for the social, behavioral, and biomedical sciences. Behavior Research Methods, 39(2), 175–191.
-
Unequal group sizes cost you power. If you know in advance that your groups won’t be balanced (e.g. a rare clinical population compared to a larger control pool), set the allocation ratio rather than assuming a balanced design — an unbalanced design needs a larger total sample size to reach the same power as a balanced one.
-
When a design isn’t directly supported (survival analysis, stepped-wedge cluster trials, linear mixed-effects models with more than a couple of predictors), G*Power’s dedicated dialogs won’t help — but before reaching for R, it’s worth knowing that every test family (t-tests, F-tests, z-tests, χ² tests) also has a “Generic” test tucked into it, which lets you specify a noncentrality parameter and degrees of freedom directly, if you can work those out yourself (from a published model, a formula in a stats textbook, or your own simulation). It’s a genuine escape hatch, but a limited one: because the relationship between the noncentrality parameter and sample size isn’t built in, G*Power can’t solve for N automatically the way it does everywhere else in this guide — you’d instead compute power for a few candidate sample sizes by hand and narrow in on the one you need, rather than getting a single “a priori” answer straight away. For anything more involved than that, a simulation-based approach in R is still the more practical route, and outside the scope of this guide.
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.