Psychometrics and Measurement · Factor Analysis
Average Variance Extracted (AVE)
AVE measures how much of its items' variance a construct explains.
Average variance extracted takes the loadings from a factor model and measures how much of its items' variance, on average, each construct accounts for.
On average, how much of their items' variance do perceived stress and social support account for? Three hundred students rated five perceived-stress items and five social-support items from 1 to 5, and a two-factor model estimated how strongly each item reflects its construct.
- Estimates
- Average share of item variance explained by a construct
- Observations
- Independent
- Parametric
- Yes
- Headline Statistic
- AVE
- Key Estimate
- Average Variance Extracted
- Groups
- 1
The Basics
When to Use It
Use it when each construct in your study is measured by several items, a confirmatory factor analysis has linked every item to its construct, and you want to know how much of the average item each construct actually explains. It's usually reported for every construct in a measurement model, next to composite reliability, as evidence of convergent validity, and it feeds the Fornell–Larcker check for discriminant validity. That's convergent validity in a narrow sense, common in the structural equation modeling literature: the items converge on their own construct. It's not Campbell and Fiske's (1959) sense, agreement between independent measures of the same construct, which AVE can't show because it involves no second measure. For example:
- On average, how much of their items' variance do perceived stress and social support account for?
- Do the items of a new mindfulness subscale, on average, reflect mindfulness more than noise?
- In a survey of nurses, do burnout and work engagement items capture their own constructs better than they overlap with each other?
Vocabulary You Need
Definition Average Variance Extracted (AVE)
The average, across a construct's items, of each item's squared standardized loading: how much of a typical item's variance the construct accounts for, with the rest being measurement error and whatever is specific to that item. It comes from a factor model, usually a confirmatory factor analysis in which each item reflects one construct. An AVE of .50 means the construct explains as much of the average item as everything else does. Because it is an average of single items, it doesn't grow with the number of items, unlike composite reliability; a construct can have reliable items as a set and still a low AVE. With standardized loadings it equals the average of the items' reliabilities, which is why Rönkkö and Cho (2022) suggest calling it average indicator reliability. Fornell and Larcker (1981) proposed it, together with a check for discriminant validity that compares each construct's AVE with the variance it shares with other constructs. Glossary →
Definition Factor Loading (\lambda)
How strongly one observed variable, such as a questionnaire item, reflects a factor: an unobserved trait that a set of variables is assumed to share. A standardized loading puts everything in standard deviations; when each item reflects only one factor, it is the item's correlation with that factor, and its square is the share of the item's variance the factor accounts for. An unstandardized loading is in the item's own units: how much the item's score rises, on average, for each one-unit rise in the factor: one standard deviation when the factor's variance is fixed at 1, or one point of the marker item when that item's loading is fixed at 1. Loadings come from a factor analysis, so they depend on the model, the estimation method and which items are analyzed together. Glossary →
Definition Composite Reliability (CR)
The reliability of a construct's items taken together, from a factor model's standardized loadings: the squared sum of the loadings, (Σλ)², as a share of that plus the items' summed unique variances, Σ(1 − λ²). It is McDonald's omega's formula applied to standardized loadings, so it describes a composite of the standardized items; omega computed from loadings in the items' own units describes their raw total, and the two differ only slightly when the items have similar spreads. Unlike AVE, it tends to rise as items of similar quality are added. Also called construct reliability. Glossary →
Definition Convergent Validity
Evidence that a measure's scores agree with other measures of the same construct, usually shown by a substantial correlation with an established measure of it. Campbell and Fiske (1959) framed it as agreement between independent ways of measuring the same trait. It is one strand of construct validity, and it only persuades alongside discriminant evidence: a measure that correlates strongly with everything may be picking up something broad, such as a way of answering questionnaires. There is no agreed cutoff for a strong enough correlation; it depends on how close the comparison measure is to the construct and on how reliable both measures are. Glossary →
Assumptions
1. Correctly Specified Model Your model includes the paths and correlations that really matter.
- What It Means
- The model's pattern is right in the ways that count: every path, loading or covariance that matters is included, and every one the model fixes at zero really is near zero. In a factor model, the items load on the factors you assigned them to and any residuals that share something (similar wording, a shared method) are allowed to correlate; in a path model, the arrows left out of the diagram really are absent. Every estimate, and every fit index, is conditional on that pattern. An omitted path, cross-loading or residual correlation doesn't just cost fit; the model makes up for it by bending the parameters it does have.
- Applies To
- Items
- How to Check
- Specify the model from theory (and, for a factor model, item content) before seeing the data. Then look beyond the overall fit: the residual correlations for pairs the model misses, the modification indices for where it misses most, and paths, loadings or factor correlations that look implausible. Compare the model with plausible alternatives specified in advance. Fit statistics can show a model is wrong; they can't show it's right.
- How Much It Matters
- A lot. AVE is only as good as the model's loadings. Items that also reflect another construct, or pairs of items that share wording, distort the loadings, and a model that fits badly gives loadings that shouldn't be interpreted at all.
If It's Violated
- Alternative Test Exploratory Factor Analysis (EFA). If the items don't sort into the constructs you expected, find out how they do sort before computing AVE.
- Correction Drop or rewrite an item that clearly belongs to two constructs, and check the revised model in a new sample, since changes suggested by the same data capitalize on chance.
2. One Underlying Trait Your items all measure one and the same trait.
- What It Means
- A single common factor is enough to reproduce how the items go together (with several constructs, each construct's items measure one trait). Coefficients built on a one-factor model, such as omega and alpha, and item-level models such as IRT, describe how well the items measure one trait only if there really is one. A scale made of distinct parts, such as worry and bodily symptoms, breaks it; score and analyze each part separately, or use a model with several factors.
- Applies To
- Items
- How to Check
- Start from the scale's content and theory. Then fit a one-factor model (or, with several constructs, one factor per construct) and look at its fit (the chi-square test, RMSEA, SRMR) and at the residual correlations it leaves between pairs of items. For right/wrong or yes/no items, fit that model to tetrachoric correlations (in lavaan, declare the items
ordered, which uses WLSMV) or as a one-factor IRT model with its own fit statistics (M2, RMSEA, SRMSR); fit indices from ordinary Pearson correlations are misleading for 0/1 items. An exploratory factor analysis or parallel analysis can suggest how many factors there are. A high omega or alpha is not evidence of unidimensionality: several correlated factors can produce one. - How Much It Matters
- A lot. If one construct's items really measure two things, a single factor explains less of each item, so AVE comes out low for a reason that has nothing to do with item quality.
If It's Violated
- Alternative Test Confirmatory Factor Analysis (CFA). Model the two parts as separate constructs in the confirmatory factor analysis and compute AVE for each.
- Design Change Replace items that drift into a neighboring construct.
3. No Shared Noise between Items Your items don't share anything beyond the trait, such as near-identical wording.
- What It Means
- The part of each item that the trait doesn't explain is unrelated from item to item. Items that repeat the same wording, share a response format the others don't, or are all reverse-keyed can share a little variance of their own. The factor model then counts that shared noise as trait, so the loadings, and the coefficients built from them (omega, alpha, AVE, composite reliability), come out too high. If you model the shared noise as a residual correlation, count it as error: omega and composite reliability then need twice that covariance added to the noise in their denominator.
- Applies To
- Items
- How to Check
- Look at the item wording for near-duplicates and for clusters of reverse-keyed or differently formatted items. After fitting the factor model, check the residual correlations between items: pairs the factor leaves strongly correlated point to shared noise.
- How Much It Matters
- Some. Near-duplicate items share noise that the factor soaks up, which inflates their loadings, AVE and CR a little, or a lot if many items repeat each other.
If It's Violated
- Correction Confirmatory Factor Analysis (CFA). Add a residual correlation for the offending pair, if you can justify it in advance, so the shared noise stops counting as construct.
- Design Change Replace near-duplicates with items that approach the construct from a different angle.
4. Independent Observations The people (or other units) in your study don't influence each other.
- What It Means
- Each person's data comes from a separate, unconnected source, so knowing one person's scores tells you nothing about anyone else's. In designs that measure people more than once, their own scores are meant to be related; it's different people who must be independent. Methods built for clustered data, such as multilevel models and GEE, also allow members of the same group to be related, as long as the analysis names the grouping; then it's the groups that must be independent.
- Applies To
- Observations
- How to Check
- By design, not by a test. Did each person contribute their own data, with no clusters such as roommates, couples, therapy groups or classrooms whose members influence each other? If there are clusters, does the analysis model every one of them?
- How Much It Matters
- Some. Clustered respondents (students from a few classrooms, patients from a few clinics) leave AVE roughly right but make its confidence interval too narrow.
If It's Violated
- Alternative Test Multilevel SEM. A multilevel factor model separates the within-cluster and between-cluster structure.
- Proceed with Caveat Say how respondents were grouped and treat the interval as too narrow.
Limitations
This Is Not Your Test If…
- You don't yet know which items go with which construct Exploratory Factor Analysis (EFA) →
- You want to know whether your factor model fits at all Confirmatory Factor Analysis (CFA) →
- You want the reliability of a total score McDonald's Omega →
- You want to show two constructs are really distinct Discriminant Validity →
- Your items are right-or-wrong questions on one ability Item Response Theory (IRT) →
What It Doesn't Tell You
- Whether the items measure the right thing. An AVE of .60 says the support items share a lot with one construct, not that the construct is social support rather than, say, general positivity. That takes theory and correlations with other measures.
- Whether the stress scale is useless. An AVE of .42 means each stress item is more noise and item-specific content than stress; the five together are still reliable (CR = .78). It points to items worth improving, not to a scale to throw out. You'll also see it claimed that AVE under .50 is acceptable whenever CR is above .60; that only restates that the items work as a set, and says nothing about how good the average item is.
- Whether the constructs are distinct enough. Passing the Fornell–Larcker check is weak evidence on its own: it tolerates high correlations when AVEs are high (Cheung et al., 2024). In simulations it has missed real overlap, especially with loadings from partial least squares (Henseler et al., 2015), and flagged overlap where, by a correlation-based definition, there wasn't a problem (Rönkkö & Cho, 2022), though Cheung et al. (2024) argue those simulations ignored the constructs' AVEs. Look at the factor correlation itself and its interval too.
- Who else. The loadings, and so both AVEs, belong to these 300 students. In a group that varies less in stress, or with translated items, the same scale can extract less.
- That .50 is a real boundary. Nothing changes at .50. A stress AVE of .49 wouldn't be meaningfully different from .51; that's why the interval matters more than which side of the line the estimate lands on.
Common Mistakes
-
Don'tAverage the loadings and then square the average.
InsteadSquare each standardized loading first, then average the squares. The two give different answers.
-
Don'tCompute AVE from principal components or partial least squares (PLS) loadings.
InsteadUse the standardized loadings of a confirmatory factor model. Component loadings run high and inflate AVE.
-
Don'tCall a scale invalid because AVE fell just under .50, or valid because it cleared it.
InsteadReport AVE with its interval, alongside the loadings, composite reliability and what the items say.
-
Don'tCompare AVE with the squared correlation of the scale scores in the Fornell–Larcker check.
InsteadCompare it with the squared factor correlation from the same model, for both constructs. Scale scores carry measurement error, so their correlation understates how closely the constructs are related.
-
Don'tReport AVE of .50 or more as if every item passed.
InsteadCheck each item's standardized loading too. AVE is an average, so it can clear .50 while some items don't. A common companion rule, which Cheung et al. (2024) endorse, asks every loading to be at least .50, and ideally .70 or more.
-
Don'tRead a low AVE as low reliability, or a high CR as proof the items are good.
InsteadReport both. CR describes the item set; AVE describes the average item.
-
Don'tCompare AVE with a correlation instead of a squared correlation.
InsteadCompare AVE with the squared factor correlation, or √AVE with the correlation itself.
Result Decoder
Interpretation Guidelines
Benchmarks Average Variance Extracted
-
AVE < .50
Below the Guideline
The construct accounts for less than half of the average item's variance: its items are, on average, more error and item-specific content than construct. Look at which items load weakly (standardized loadings under .50, or under .70) before deciding what it means.
-
AVE ≥ .50
Meets the Guideline
The construct accounts for at least half of the average item's variance, the usual evidence of convergent validity (Fornell & Larcker, 1981). It doesn't show the items measure the right construct.
The .50 line comes from Fornell and Larcker (1981) and is a rule of thumb, not a test: a sample AVE of .48 or .52 can't tell you which side of .50 the population value is on. Read it with its confidence interval (Cheung et al., 2024, suggest concluding that AVE is too low only when the upper end of a 90% bootstrap interval is below .50), next to composite reliability and each item's loading. Because AVE is an average, it can clear .50 while some items don't; a common companion rule, which Cheung et al. (2024) endorse, asks every standardized loading to be at least .50, and ideally .70 or more, since an item at about .71 is half construct. AVE below .50 with composite reliability above .70 is common, especially for scales with many modest items.
How It's Reported
Equation Form
Stress: AVE = .42, 95% CI [.36, .47], CR = .78; support: AVE = .60, 95% CI [.55, .64], CR = .88; factor correlation φ = −.38
Table 1. Standardized Loadings, Average Variance Extracted and Composite Reliability
| \lambda | \lambda^2 | 1 - \lambda^2 | AVE | 95% CI | CR | |
|---|---|---|---|---|---|---|
| S1. I got upset when something unexpected happened | .63 | .39 | .61 | |||
| S2. I felt I had no control over the things that mattered | .58 | .34 | .66 | |||
| S3. I felt nervous or on edge | .63 | .40 | .60 | |||
| S4. I felt problems were piling up faster than I could deal with them | .69 | .48 | .52 | |||
| S5. I felt I couldn't keep up with everything I had to do | .69 | .48 | .52 | |||
| Perceived stress | .42 | [.36, .47] | .78 | |||
| P1. There is someone I can talk to about my problems | .72 | .51 | .49 | |||
| P2. I can get practical help when I need it | .69 | .47 | .53 | |||
| P3. I have people I can share my worries with | .79 | .63 | .37 | |||
| P4. My friends are there for me when things go wrong | .80 | .65 | .35 | |||
| P5. My family gives me the emotional support I need | .85 | .72 | .28 | |||
| Social support | .60 | [.55, .64] | .88 |
Note. N = 300. λ = standardized loading; λ² = the share of the item's variance its construct accounts for; 1 − λ² = the share it doesn't (unique variance); AVE = average variance extracted, the mean of λ²; CR = composite reliability. Two-factor confirmatory factor analysis, maximum likelihood. The 95% CIs are Wald intervals from the delta method, which assumes roughly normal item scores; with skewed items or only a few response categories, use robust (MLR) standard errors or a bootstrap interval. Here the items are close to symmetric, and robust standard errors give the same intervals to two decimals. Those options change the interval, not the estimate. Treating the 1–5 answers as ordered categories instead (polychoric correlations with the WLSMV estimator; ordered = TRUE in lavaan) puts the loadings on the scale of the continuous responses behind the categories, where they come out higher: here the AVEs would be .46 for stress and .65 for support. That's usually preferred with fewer than five categories and a reasonable choice with five. Either way, say which you used, since the choice can move AVE across .50.
Table 2. Fornell–Larcker Check
| 1 | 2 | |
|---|---|---|
| 1. Perceived stress | .65 | |
| 2. Social support | −.38 | .77 |
Note. Diagonal: √AVE for each construct. Below the diagonal: the correlation between the two factors, from the same model. Each construct passes if its √AVE is larger than the size of its correlation with every other construct (equivalently, AVE larger than the squared correlation).
Full Text (APA Style)
A two-factor confirmatory factor analysis fit the ten items well by conventional criteria (Hu & Bentler, 1999), χ²(34) = 25.02, p = .869, CFI = 1.00, RMSEA = .00, 90% CI [.00, .02], SRMR = .03, with standardized loadings from .58 to .69 for perceived stress and from .69 to .85 for social support (Table 1). Social support met the .50 guideline for average variance extracted, AVE = .60, 95% CI [.55, .64], with composite reliability of .88. Perceived stress fell short, AVE = .42, 95% CI [.36, .47]: on average its factor accounted for less than half of each item's variance, although the five items were reliable as a set, CR = .78. The two factors correlated −.38, and each construct's √AVE (.65 and .77) exceeded the absolute value of that correlation, .38 (Table 2).
- Say which model the loadings came from (a confirmatory factor analysis, estimated by maximum likelihood) and how well it fit.
- Report AVE and composite reliability for every construct, with the loadings behind them, not just the ones that clear a guideline.
- Give an interval for AVE, so readers can see whether a value near .50 is clearly above or below it.
- For the Fornell–Larcker check, compare with the factor correlation from the same model, and say so.
Reading Each Piece
The equation form above, piece by piece, in this order: how big, then how certain.
| Stress AVE = .42 | On average, the stress factor accounts for 42% of an item's variance, and 58% is noise or specific to the item. That's below the .50 guideline: each stress item is more something else than it is stress. Benchmarks ↑ |
| Stress 95% CI [.36, .47] | Stress's AVE in the population is plausibly anywhere from .36 to .47. Even the top of that range is under .50, so the shortfall isn't just sampling noise. |
| Support AVE = .60, 95% CI [.55, .64] | On average, the support factor accounts for 60% of an item's variance: its items are mostly support. In the population it's plausibly anywhere from .55 to .64, and the whole range clears .50. Not every item clears .50 on its own: P2 is .47. |
| Stress CR = .78 | As a set, the five stress items are reliably measuring something: .78 clears the usual .70, though it's short of the .80 many recommend. That sits comfortably beside an AVE of .42, because CR rewards having several items and AVE doesn't. |
| Support CR = .88 | The five support items are highly reliable as a set, as expected when every item is mostly support. |
| φ = −.38 | Students who feel more supported tend to feel less stressed. The two constructs share 15% of their variance, far less than either shares with its own items. |
Calculations
The Running Example
The stress-and-support study: 300 students, five stress items and five support items rated 1 to 5, one factor for each construct.
There's no hypothesis to test. The targets are each construct's AVE in the population of students like these: the share of the average item's variance that the construct accounts for. The sample's values estimate them, the confidence intervals say how precisely, and .50 is the guideline they're read against.
What Your Data Should Look Like
One row per person and one numeric column per item, with reverse-worded items already reverse-scored. You also need to say which items belong to which construct: that's the model, not a column. AVE is then computed from the fitted model's standardized loadings, one value per construct. The example treats the 1–5 answers as numbers; treating them as ordered categories gives higher loadings and AVEs (see the note under Table 1), so say which you did.
| student | stress_upset | stress_control | stress_nervous | stress_piling | stress_cope | support_talk | support_help | support_share | support_friends | support_family |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 4 | 5 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 4 |
| 2 | 3 | 2 | 2 | 4 | 2 | 4 | 4 | 5 | 4 | 5 |
| 3 | 2 | 3 | 1 | 2 | 2 | 4 | 2 | 3 | 3 | 4 |
| 4 | 4 | 3 | 4 | 3 | 4 | 2 | 1 | 2 | 3 | 1 |
| 5 | 5 | 2 | 3 | 4 | 5 | 4 | 2 | 3 | 3 | 3 |
| 6 | 1 | 2 | 3 | 3 | 2 | 2 | 2 | 2 | 3 | 1 |
| … 294 more rows | ||||||||||
| Item | M | SD | Item–Total r |
|---|---|---|---|
| Stress | |||
| Stress Upset | 3.01 | 1.02 | .54 |
| Stress Control | 3.06 | 1.02 | .50 |
| Stress Nervous | 2.96 | 1.01 | .55 |
| Stress Piling | 3.05 | 0.99 | .59 |
| Stress Cope | 3.02 | 1.00 | .59 |
| Total | 15.10 | 3.67 | |
| Support | |||
| Support Talk | 2.92 | 1.04 | .67 |
| Support Help | 2.91 | 0.98 | .64 |
| Support Share | 2.93 | 1.02 | .73 |
| Support Friends | 2.96 | 1.03 | .74 |
| Support Family | 3.04 | 1.05 | .78 |
| Total | 14.76 | 4.20 | |
N = 300. Each construct has its own total, adding its own items; each item's r is with the total of the other items in its construct (the corrected item–total correlation).
Simulated data.
Napkin Math
The whole test, one idea at a time. Under each heading, a line says why the step matters, and the green note reads the equation in plain English with the stress-and-support study's numbers. Collapse all to read just the headings: they tell the whole story on their own.
-
1. Estimate How Strongly Each Item Reflects Its Construct
AVE starts from a model that assumes two unobserved constructs (latent variables), stress and support, drive the answers to their own five items, some more strongly than others. A confirmatory factor analysis estimates that strength, the loading, for every item. Table 1 lists all ten in standardized form: rescaled so that items and constructs all have a standard deviation of 1, which puts the loadings on a correlation-like scale. Each usually falls between 0 and 1; a negative one means the item runs the other way and needs reverse-scoring.
\lambda_{S5}= .69
\lambda_{S5} is the standardized loading of stress item 5, “I felt I couldn't keep up with everything I had to do,” .69, the strongest of the stress items. The stress loadings run from .58 to .69; the support loadings from .69 to .85.
-
2. Check That Two Constructs Can Account for All Ten Items
The loadings only mean something if the model behind them fits. If some items belonged to both constructs, or to a third, the model would leave pairs of items more related than it predicts, and the fit statistics would usually flag it, if the misfit is large enough. CFI compares the model with one in which the items are unrelated (higher is better); RMSEA and SRMR measure how far off it is (lower is better).
\chi^2 = N \times F_{\text{ML}} =300 \times 0.08340\chi^2 = 25.02
df = 34
p = .869
CFI = 1.00
RMSEA = .00
\text{90\% CI}_{\text{RMSEA}} = [.00, .02]
SRMR = .03
F_{\text{ML}} measures the gap between the items' observed variances and covariances and the ones the two-factor model predicts. 300 × 0.0834 = 25.02 on 34 df. If the two-factor model were exactly right in the population, a χ² at least this large would turn up about 87% of the time (p = .869), so the data show no sign against the model, though that doesn't show it's right. CFI = 1.00, RMSEA = .00 (90% CI [.00, .02]) and SRMR = .03 are all well inside the usual rules of thumb: CFI near .95 or more, RMSEA near .06 or less, SRMR .08 or less (Hu & Bentler, 1999). These are guides, not tests.
-
3. Square Each Loading to Get the Share of the Item Its Construct Explains
Variance is how much students' answers to an item spread out. A standardized loading is the item's correlation with its construct, so if you knew every student's true stress level, a loading of .69 means you could predict about .69² = 48% of the spread in S5's answers from it. That square is the share of the item's variance the construct accounts for. The rest, 1 − λ², is down to other things, such as how each student reads the wording, or plain noise.
\lambda_{S5}^2 =0.692^2\lambda_{S5}^2 = .48
\lambda_{P5}^2 = .72
\lambda_{S5} is item S5's .692 loading. .692 × .692 = .48: even the strongest stress item is a little less than half stress. The strongest support item, P5, is .848² = .72 support. An item is half construct at a loading of about .71, since .71² ≈ .50; none of the stress items gets there.
-
4. Average the Squared Loadings for Each Construct
AVE is the average of those shares across a construct's items: how much of a typical item the construct explains. At .50 or above, the construct accounts for at least as much of its items as everything else does.
AVE = \dfrac{\sum \lambda_i^2}{k} =\dfrac{.39 + .34 + .40 + .48 + .48}{5}= .42
AVE_{\text{support}} = .60
\lambda_i^2 are the five stress items' squared loadings in Table 1, and k is 5. They add to 2.09, and 2.09 ÷ 5 = .42. The support items' squares add to 2.98, so support's AVE is 2.98 ÷ 5 = .60.
-
5. Give a Range of Plausible Values for Each AVE
Another 300 students would give somewhat different loadings, and so a somewhat different AVE. The model's standard errors say how much, and the interval turns that into a range.
AVE \pm 1.96 \times SE_{AVE} =0.417 \pm 1.96 \times 0.0281= [.36, .47]
SE_{AVE} = .028
\text{95\% CI}_{\text{support}} = [.55, .64]
SE_{AVE} = .0281 comes from the fitted model's standard errors (the delta method). 1.96 × .0281 = .055, so the range for stress is .417 ± .055, from .36 to .47. For support it's .55 to .64.
-
6. Check How Reliable Each Set of Items Is
Composite reliability asks a different question: how well the items work as a set. The loadings add up across items while the noise doesn't pile up the same way, so a set of middling items can be quite reliable together even when no single item is mostly construct.
CR = \dfrac{\left(\sum \lambda_i\right)^2}{\left(\sum \lambda_i\right)^2 + \sum \left(1 - \lambda_i^2\right)} =\dfrac{3.22^2}{3.22^2 + 2.91}= .78
\sum \lambda_i = 3.22
\sum (1 - \lambda_i^2) = 2.91
CR_{\text{support}} = .88
\sum \lambda_i adds the five stress loadings to 3.22, and \sum (1 - \lambda_i^2) adds their unique shares to 2.91. 3.22² ≈ 10.37, and 10.37 ÷ (10.37 + 2.91) = .78. The same sums for support give .88.
-
7. Check That Each Construct Explains More of Its Own Items than It Shares with the Other
Fornell and Larcker's check for distinct constructs: a construct should account for more of its own items' variance (its AVE) than it shares with any other construct (their squared correlation). Taking square roots puts both on the correlation scale: compare √AVE with the size of the factor correlation.
\sqrt{\text{AVE}_1} > |\phi_{12}| \;\text{ and }\; \sqrt{\text{AVE}_2} > |\phi_{12}| =\sqrt{.417} = .65 > |{-.38}|\sqrt{AVE_{\text{stress}}} = .65
\sqrt{AVE_{\text{support}}} = .77
\phi = −.38
\phi^2 = .15
\phi is the correlation between the stress and support factors, −.38, which squared is .15 of shared variance. √.42 = .65 for stress and √.60 = .77 for support; both are well above .38, so both pass.
Run It in Software
The code below reads the running example's data from data.csv; save it in the same folder you run the code from.
SPSS (version 30, as documented by IBM)
SPSS Statistics has no confirmatory factor analysis; that's in its add-on, IBM SPSS Amos, where you draw the two factors, link each item to its own, let the factors correlate, and ask for standardized estimates. Without Amos, a maximum likelihood factor analysis of each construct's items on their own gives nearly the same loadings (a one-factor model per construct), and AVE is then a hand calculation:
- Analyze → Dimension Reduction → Factor. Move the five stress items into Variables.
- Extraction: Method Maximum likelihood, Extract Fixed number of factors = 1. Click Continue, then OK.
- Repeat for the five support items.
- Square each loading in the Factor Matrix and average them for AVE; use the CR formula above for composite reliability.
Or paste this syntax:
FACTOR /VARIABLES stress_upset stress_control stress_nervous stress_piling stress_cope /PRINT INITIAL EXTRACTION /CRITERIA FACTORS(1) ITERATE(100) /EXTRACTION ML /ROTATION NOROTATE. FACTOR /VARIABLES support_talk support_help support_share support_friends support_family /PRINT INITIAL EXTRACTION /CRITERIA FACTORS(1) ITERATE(100) /EXTRACTION ML /ROTATION NOROTATE.
Reading the Output
Read the Factor Matrix for each construct: those are the standardized loadings. The Extraction column of the Communalities table is each loading squared, so AVE is simply the average of that column.
Factor Matrix (one factor, maximum likelihood)
| Stress item | Factor 1 | Support item | Factor 1 | |
|---|---|---|---|---|
| stress_upset | .631 | support_talk | .715 | |
| stress_control | .569 | support_help | .685 | |
| stress_nervous | .633 | support_share | .793 | |
| stress_piling | .702 | support_friends | .807 | |
| stress_cope | .685 | support_family | .846 |
From these, stress has AVE = .417 and CR = .781, and support has AVE = .595 and CR = .880, matching the two-factor model to two decimals. The individual loadings differ in the second or third decimal from Table 1 because each construct was fitted on its own. Separate analyses can't estimate the correlation between the factors, so for the Fornell–Larcker check use Amos or R.
Output laid out from this page's computed results, not captured from a live run; labels and layout may differ slightly in your version.
R
library(lavaan)
library(semTools)
wellbeing <- read.csv("data.csv")
model <- '
stress =~ stress_upset + stress_control + stress_nervous + stress_piling + stress_cope
support =~ support_talk + support_help + support_share + support_friends + support_family
'
fit <- cfa(model, data = wellbeing, std.lv = TRUE)
fitMeasures(fit, c("chisq", "df", "pvalue", "cfi", "rmsea", "srmr"))
# Standardized loadings (one column per factor), then AVE, CR and √AVE
lam <- lavInspect(fit, "std")$lambda
ave <- colSums(lam^2) / colSums(lam != 0)
cr <- colSums(lam)^2 / (colSums(lam)^2 + colSums((1 - lam^2) * (lam != 0)))
round(rbind(AVE = ave, CR = cr, sqrtAVE = sqrt(ave)), 3)
round(lavInspect(fit, "cor.lv"), 3) # factor correlation
# semTools versions
AVE(fit)
compRelSEM(fit, obs.var = FALSE)
chisq df pvalue cfi rmsea srmr
25.019 34.000 0.869 1.000 0.000 0.029
stress support
AVE 0.417 0.595
CR 0.781 0.880
sqrtAVE 0.646 0.771
stress supprt
stress 1.000
support -0.384 1.000
stress support
0.416 0.598
$stress ... ("omega"): 0.78
$support ... ("omega"): 0.881
Read the fit first, then AVE and CR for each construct, then compare √AVE with the factor correlation. semTools' AVE() gives slightly different values (.416 and .598) because it divides the items' summed explained variance by their summed observed variances in raw units, which weights each item by its variance; with standardized loadings, as here and in Fornell and Larcker's formula, every item counts equally. compRelSEM() is omega from raw-unit loadings (.780 and .881), a hair different from CR from standardized loadings (.781 and .880). For an interval around AVE, define it in the model with := from labeled loadings and residual variances; lavaan then gives the delta-method interval on this page, [.362, .472] for stress.
Output from a real run: R 4.6.1 (lavaan 0.7-2, semTools 0.5-9), run 2026-10-03; semTools' printed explanations trimmed.
Python
import numpy as np
import pandas as pd
import semopy
wellbeing = pd.read_csv("data.csv")
desc = """
stress =~ stress_upset + stress_control + stress_nervous + stress_piling + stress_cope
support =~ support_talk + support_help + support_share + support_friends + support_family
"""
model = semopy.Model(desc)
model.fit(wellbeing, obj="MLW")
est = model.inspect(std_est=True)
for factor in ["stress", "support"]:
lam = est.query("op == '~' and rval == @factor")["Est. Std"].to_numpy()
ave = np.mean(lam**2)
cr = lam.sum()**2 / (lam.sum()**2 + (1 - lam**2).sum())
print(factor, round(ave, 3), round(cr, 3), round(np.sqrt(ave), 3))
# semopy may store the covariance as stress ~~ support or support ~~ stress
factors = ["stress", "support"]
phi = est.query("op == '~~' and lval != rval and lval in @factors and rval in @factors")["Est. Std"].iloc[0]
print("factor correlation", round(phi, 4))
stress 0.417 0.781 0.646
support 0.595 0.88 0.771
factor correlation -0.3834
semopy fixes each factor's first loading at 1 rather than the factor's variance, but the standardized estimates are the same as lavaan's. Its factor correlation, −.3834, differs from lavaan's −.3835 only in the fourth decimal (a different optimizer), and rounds to the same −.38.
Output from a real run: Python 3.9.6 (semopy 2.3.11, pandas 2.3.3), run 2026-10-03.
Impact
Effect Size
AVE is itself the size measure here: the share of a typical item's variance that its construct accounts for. It has no units, so constructs measured on different response scales can be compared directly.
A typical stress item is about 42% stress and 58% everything else; a typical support item is about 60% support.
The contrast with composite reliability is the practical point. CR asks whether the items work as a set, and adding items of similar quality raises it; AVE asks how good the average item is, and adding more items of the same quality leaves it where it is. So the stress scale is usable for scoring students' stress as a total (CR = .78, above the usual .70 though short of the .80 many recommend), but its items are individually weak. If you were revising it, the lowest loaders, S2 (.58, so .34 stress) and S1 (.63), are where to start.
Benchmarks Average Variance Extracted at a Glance
Uncertainty
AVE comes with no p-value. It's read against a guideline, .50, rather than tested against zero, so the useful question is how precise the estimate is. That's what the confidence interval answers: if the whole interval sits below .50, the shortfall is more than sampling noise.
Stress's interval runs from .36 to .47, all below .50; support's runs from .55 to .64, all above it. Neither conclusion is likely to be an accident of this particular sample of 300, as long as the model is right.
Cheung et al. (2024) recommend this check with a 90% bootstrap interval, since the question is one-sided (is AVE below .50?); here the 90% Wald intervals, [.37, .46] and [.56, .64], lead to the same conclusions. The one test that does come first is whether the two-factor model fits, χ²(34) = 25.02, p = .869: if the model were exactly right in the population, a χ² at least this large would turn up about 87% of the time, so there's no sign of misfit, though that doesn't show the model is right. With a large sample that test flags even trivial misfit, so read it alongside CFI, RMSEA, SRMR and the residual correlations, not on its own.
Precision and Sample Size
Power is the chance that a study detects an effect that's really there. AVE isn't tested against zero, so power in that sense doesn't apply. What you plan instead is precision: enough people that the interval around each AVE is narrow enough to say which side of .50 it falls on. The interval narrows with more people and with more items per construct.
With our 300 students, stress's interval is about ±.055 wide. The standard error shrinks with the square root of the sample size, so with 100 students it would be roughly √3 ≈ 1.7 times as wide, about ±.095: from about .32 to .51, no longer clearly below .50.
Plan for precision: decide how close to .50 you need to be able to tell apart, and choose a sample big enough that the interval is narrower than that. Factor models also need enough people to estimate their loadings stably, one more reason to aim for a few hundred rather than a few dozen. There's no calculator for this test.
Other Info
Follow-Up and Post Hoc Tests
None. This page estimates rather than tests, so there are no follow-up comparisons to run.
References
- Fornell, C., & Larcker, D. F. (1981). Evaluating structural equation models with unobservable variables and measurement error. Journal of Marketing Research, 18(1), 39–50. https://doi.org/10.1177/002224378101800104
- Campbell, D. T., & Fiske, D. W. (1959). Convergent and discriminant validation by the multitrait-multimethod matrix. Psychological Bulletin, 56(2), 81–105. https://doi.org/10.1037/h0046016
- Hu, L., & Bentler, P. M. (1999). Cutoff criteria for fit indexes in covariance structure analysis: Conventional criteria versus new alternatives. Structural Equation Modeling, 6(1), 1–55. https://doi.org/10.1080/10705519909540118
-
Cheung, G. W., Cooper-Thomas, H. D., Lau, R. S., & Wang, L. C. (2024). Reporting reliability, convergent and discriminant validity with structural equation modeling: A review and best-practice recommendations. Asia Pacific Journal of Management, 41(2), 745–783.
https://doi.org/10.1007/s10490-023-09871-y
“The AVE should not be lower than 0.5 to demonstrate an acceptable level of convergent validity, meaning that the latent construct explains no less than 50% of the indicator variance” (p. 751)
“the AVE-SV approach tolerates strong correlations when the AVE value is high” (p. 755)
“using AVE to assess convergent validity relies on a rule of thumb rather than statistical testing procedures” (p. 751)
“construct reliability (CR; Fornell & Larcker, 1981; Jöreskog, 1971), also known as McDonald’s omega (McDonald, 1999), composite reliability (Raykov, 1997), or congeneric reliability (Graham, 2006)” (p. 748)
-
Rönkkö, M., & Cho, E. (2022). An updated guideline for assessing discriminant validity. Organizational Research Methods, 25(1), 6–47.
https://doi.org/10.1177/1094428120968614
“With standardized estimates, AVE reduces to an average of item reliabilities.” (AVE/SV or Fornell-Larcker Criterion)
“AVE/SV has a high false positive rate, indicating a discriminant validity problem under conditions where most researchers would not consider one to exist” (AVE/SV or Fornell-Larcker Criterion)
“Thus, the term “average indicator reliability” might be more informative than “average variance extracted.”” (AVE/SV or Fornell-Larcker Criterion)
-
Henseler, J., Ringle, C. M., & Sarstedt, M. (2015). A new criterion for assessing discriminant validity in variance-based structural equation modeling. Journal of the Academy of Marketing Science, 43(1), 115–135.
https://doi.org/10.1007/s11747-014-0403-8
“The AVE thus equals the average squared standardized loading, and it is equivalent to the mean value of the indicator reliabilities.” (p. 118)
“we show that these approaches do not reliably detect the lack of discriminant validity in common research situations” (Abstract)
-
MacCallum, R. C., Roznowski, M., & Necowitz, L. B. (1992). Model modifications in covariance structure analysis: The problem of capitalization on chance. Psychological Bulletin, 111(3), 490–504.
https://doi.org/10.1037/0033-2909.111.3.490
“The use of alternative a priori models is recommended as a preferred strategy.” (Abstract)
-
Dunn, T. J., Baguley, T., & Brunsden, V. (2014). From alpha to omega: A practical solution to the pervasive problem of internal consistency estimation. British Journal of Psychology, 105(3), 399–412.
https://doi.org/10.1111/bjop.12046
“Unidimensionality is a requisite for all the models considered here.” (A practical alternative to alpha)
Spot an error? Something still confusing? Tell us at support@statsforpsychology.com.