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.
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 |
| 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 |
| Chi-square goodness of fit | Chi-square | χ² tests | observed vs expected category counts |
| 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 mortality? |
| 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).
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 — almost always you’ll want A priori: compute required sample size, given alpha, power, and effect size. (The other options work backwards — e.g. computing achieved power for a sample size you already have, which is useful after the fact but shouldn’t be used to justify a sample size you were always going to collect anyway.)
- 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 | Small | Medium | Large | Used for |
|---|---|---|---|---|
| d | 0.20 | 0.50 | 0.80 | Mean differences (t-tests) |
| r | 0.10 | 0.30 | 0.50 | Correlations |
| w | 0.10 | 0.30 | 0.50 | Chi-square (goodness of fit) |
| f | 0.10 | 0.25 | 0.40 | ANOVA (univariate) |
| f² | 0.02 | 0.15 | 0.35 | Multiple regression, factorial ANOVA |
| g | — | — | — | Proportions (binomial) — effect size is just the difference between the two proportions, no fixed benchmarks |
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.
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’s the difference between the Fisher-z transformed correlations, not the raw difference between the r values). - α 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.
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.
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.
Regression and prediction
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.
Worked example (continuous predictor): you’re testing whether body mass index (BMI) predicts a binary health outcome. The population mean BMI is 30 (SD 3). You expect the probability of the outcome 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 health 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.
A few practical tips
- Sensitivity analysis is your friend when you don’t trust your effect size estimate. Instead of “a priori” (solve for N), you can run “sensitivity” (solve for the minimum detectable effect size, given a fixed N — useful when your sample size is capped by practical constraints and you want to know what effect size you’d actually be powered to detect).
- 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.
- 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 isn’t the right tool — you’ll generally want a simulation-based approach in R instead. That’s outside the scope of this guide, but worth knowing before you spend an hour trying to force an awkward design into G*Power’s interface.
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.