Exploratory factor analysis (EFA) in SPSS: KMO, Bartlett and the rotated matrix
EFA shows whether the observed items really group into the factors the scales intend. This article walks through each SPSS dialog, each output table and the thresholds with sources so you can read and report them correctly.
Quick summary
- Run it at Analyze → Dimension Reduction → Factor; tick KMO and Bartlett's test of sphericity and Anti-image under Descriptives.
- KMO ≥ 0,50 is the minimum, ≥ 0,80 is meritorious (Kaiser, 1974); Bartlett needs Sig. < 0,05; each item's MSA on the Anti-image diagonal ≥ 0,50.
- If the scales go on to CFA/SEM: use Principal axis factoring + Promax; for pure exploration or data reduction, Principal components + Varimax is a common choice.
- Total variance extracted ≥ 50% is a common convention in Vietnam; Hair et al. (2019) consider about 60% usually satisfactory in the social sciences.
- Loadings ≥ 0,50 have practical significance; cross-loading items with a difference < 0,20 are candidates to drop, one at a time with a rerun.
What EFA is and where it fits in the workflow
Exploratory factor analysis (EFA) finds the hidden structure behind the correlation matrix of observed items. With 5 scales of 20 Likert questions, EFA shows whether the data group into 5 factors as intended, which items load on the wrong factor and which load on two.
In a quantitative thesis, EFA sits in the middle of the scale-assessment chain:
- Check reliability with Cronbach's Alpha for each scale, dropping items with too low an item-total correlation.
- EFA on all remaining items to check convergent and discriminant validity at the exploratory level.
- Confirm with CFA or a PLS-SEM measurement model, with the indicators CR, AVE and HTMT.
EFA needs a large enough sample. Hair et al. (2019) recommend at least 50 observations, preferably 100 or more, with at least 5 observations per item, preferably 10:1. The detailed calculation is in the article how to calculate research sample size. Reverse items must be recoded before running (see the article export Google Form data to SPSS).
Steps to run EFA in SPSS
Open Analyze → Dimension Reduction → Factor, put the scales' observed items (not demographics) into the box Variables, then set up the four dialogs.
Descriptives
Tick KMO and Bartlett's test of sphericity and Anti-image.
Extraction: PAF hay PCA
Two common extraction methods in the box Method:
- Principal components (PCA): data reduction, putting all variance (including unique variance and error) into a few components. Theoretically, PCA is not a latent factor model.
- Principal axis factoring (PAF) or Maximum likelihood: analyses only the common variance, suitable when you believe the questions reflect a latent construct. Costello & Osborne (2005) recommend these methods over PCA.
Common practice in Vietnam: PCA + Varimax for pure exploration; PAF + Promax when the scales will be tested further with CFA/SEM, as this reflects the data structure more closely (Nguyễn Đình Thọ, 2011, based on Gerbing & Anderson, 1988). In this dialog, choose Based on Eigenvalue with Eigenvalues greater than: 1 and tick Scree plot.
Rotation: Promax hay Varimax
- Promax (oblique rotation): lets the factors correlate. Constructs like satisfaction and revisit intention almost always correlate, so Promax is more realistic. Tabachnick & Fidell (2013) suggest that if factor correlations exceed 0,32, an oblique rotation is justified.
- Varimax (orthogonal rotation): assumes the factors are uncorrelated, which is rarely true of attitude data.
Options
Tick Sorted by size and Suppress small coefficients with Absolute value below: .30 so the rotated matrix only shows the notable loadings.
Tap Paste instead of OK to save the syntax and rerun quickly after each item removal:
FACTOR
/VARIABLES CL1 CL2 CL3 CL4 GC1 GC2 GC3 GC4 HA1 HA2 HA3 HA4
HL1 HL2 HL3 HL4 YD1 YD2 YD3 YD4
/MISSING LISTWISE
/PRINT INITIAL KMO AIC EXTRACTION ROTATION
/FORMAT SORT BLANK(.30)
/PLOT EIGEN
/CRITERIA MINEIGEN(1) ITERATE(25)
/EXTRACTION PAF
/CRITERIA ITERATE(25)
/ROTATION PROMAX(4)
/METHOD=CORRELATION.
Keyword AIC corresponds to the Anti-image box; with PCA + Varimax, change it to /EXTRACTION PC and /ROTATION VARIMAX.
Reading KMO, Bartlett and per-item MSA
KMO (Kaiser–Meyer–Olkin) compares the size of correlations between items with the partial correlations. A high KMO means the items share a lot of common variance, enough to form factors. Kaiser (1974) gives this scale:
| KMO value | Kaiser (1974) | Interpretation |
|---|---|---|
| ≥ 0,90 | marvelous | Marvellous |
| 0,80 – 0,89 | meritorious | Meritorious |
| 0,70 – 0,79 | middling | Middling |
| 0,60 – 0,69 | mediocre | Mediocre |
| 0,50 – 0,59 | miserable | Miserable |
| < 0,50 | unacceptable | Unacceptable |
Bartlett's test (Bartlett, 1954) has the hypothesis H0: the correlation matrix is an identity matrix, i.e. the items are uncorrelated. Sig. < 0,05 is needed to reject H0. The test is very sensitive to sample size and is almost always significant with a few hundred observations (Tabachnick & Fidell, 2013), so it is only a necessary condition.
Per-item MSA: in the table Anti-image Matrices, the section Anti-image Correlation, the diagonal values (marked a) are each item's own KMO. Items with MSA < 0,50 should be considered for removal before reading further (Field, 2018).
Variance extracted and how many factors to keep
The table Total Variance Explained has three blocks of columns. Initial Eigenvalues is based on all the variance; Extraction Sums of Squared Loadings is what the extraction actually explains, always lower with PAF. With a Promax rotation, the block Rotation Sums only has a Total column, because the factors correlate and the percentages can't be summed. The "total variance extracted" to report is the column Cumulative % of the Extraction block.
On thresholds, ≥ 50% is a common convention in Vietnam; Hair et al. (2019) consider about 60% (sometimes less) usually satisfactory in the social sciences.
Don't rely on eigenvalue > 1 alone
The Kaiser criterion (eigenvalue > 1) tends to over-extract, especially with many items. Costello & Osborne (2005) recommend combining the scree plot (keep factors before the "elbow") and parallel analysis (Horn, 1965): only keep factors whose real eigenvalue exceeds the mean (or 95th percentile) eigenvalue from random data of the same size. If your SPSS version lacks this option, use O'Connor's macro (2000).
| Factor | Initial Eigenvalue | % of Variance | Cumulative % (Initial) | Cumulative % (Extraction, PAF) |
|---|---|---|---|---|
| 1 | 6,42 | 32,10 | 32,10 | 30,35 |
| 2 | 2,58 | 12,90 | 45,00 | 42,43 |
| 3 | 1,98 | 9,90 | 54,90 | 51,38 |
| 4 | 1,60 | 8,00 | 62,90 | 58,59 |
| 5 | 1,42 | 7,10 | 70,00 | 64,70 |
| 6 | 0,78 | 3,90 | 73,90 | – |
Reading the rotated matrix and factor loadings
Which table to read depends on the rotation. With Promax, read the Pattern Matrix (each item's unique loading on each factor) and the Factor Correlation Matrix; Structure Matrix mixes in the correlations between factors, so its loadings are higher. With Varimax, read the Rotated Component Matrix (PCA) or Rotated Factor Matrix (PAF). Don't interpret the unrotated matrix (Component/Factor Matrix).
Hair et al. (2019) advise: loadings of ±0,30 to ±0,40 are the minimum to interpret, ±0,50 or more have practical significance, above ±0,70 show a clear structure. They also give statistically significant loadings by sample size (significance 0,05, power 80%):
| Sample size | 50 | 60 | 70 | 85 | 100 | 120 | 150 | 200 | 250 | 350 |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading | 0,75 | 0,70 | 0,65 | 0,60 | 0,55 | 0,50 | 0,45 | 0,40 | 0,35 | 0,30 |
Many Vietnamese theses use a single cut-off of 0,50 regardless of sample size; this is safe and easy to defend.
| Variable | F1 | F2 | F3 | F4 | F5 |
|---|---|---|---|---|---|
| CL2 | 0,842 | ||||
| CL1 | 0,801 | ||||
| HL3 | 0,815 | ||||
| HL1 | 0,736 | ||||
| YD2 | 0,794 | ||||
| YD4 | 0,312 | 0,655 | |||
| GC1 | 0,778 | ||||
| HA2 | 0,731 |
YD4 has a secondary loading of 0,312 on F2, but the difference from its main loading is 0,655 − 0,312 = 0,343, so it can stay. The largest correlation in the example's Factor Correlation Matrix is 0,52 (between F2 and F3), above 0,32, so Promax is justified.
Handling poor items and naming factors
Cross-loading items
An item loading on two factors with a difference below 0,20 (some authors use 0,30) is a candidate for removal, as it doesn't clearly separate the two constructs. This is a practical convention, not a law.
Rules for dropping items
- Drop one item at a time and rerun. The matrix changes after each removal; other cross-loadings may disappear. The usual order: low MSA first, then loadings below the threshold, then the heaviest cross-loading.
- Items jumping to an unexpected factor: check the question wording, unrecoded reverse items, or whether respondents see the two constructs as the same, before deleting.
- Don't drop too many: a scale with fewer than 3 items struggles at the CFA stage.
- Don't run EFA separately for each scale and then conclude discriminant validity; it can only be checked when the scales are in the same run.
Naming factors and rechecking reliability
If a factor contains exactly one scale's items, keep the original construct name. If two scales merge, name it after the highest-loading items and justify it with theory. Once the structure is settled, recompute Cronbach's Alpha for each final factor, since the item set has changed from the initial check.
Reporting and checklist
The appendix should include the KMO and Bartlett's Test, Total Variance Explained, Pattern Matrix and Factor Correlation Matrix tables.
- The sample has at least 5 observations per item, preferably 10; reverse items recoded.
- Extraction and rotation chosen with reasons (PAF + Promax if going on to CFA/SEM) and stated in the method.
- KMO ≥ 0,50 (preferably ≥ 0,70), Bartlett Sig. < 0,05, each item's MSA ≥ 0,50.
- The number of factors checked with eigenvalues, the scree plot and parallel analysis.
- Cumulative % of the Extraction column reported, with a cited threshold of 50% or 60%.
- Items dropped one at a time with reasons; question content reread before deleting.
- Cronbach's Alpha recomputed for the final factor structure.
Frequently asked questions
References
- Kaiser, H. F. (1974). An index of factorial simplicity. Psychometrika, 39(1), 31–36.
- Bartlett, M. S. (1954). A note on the multiplying factors for various χ² approximations. Journal of the Royal Statistical Society: Series B, 16(2), 296–298.
- Hair, J. F., Black, W. C., Babin, B. J., & Anderson, R. E. (2019). Multivariate data analysis (8th ed.). Cengage Learning.
- Horn, J. L. (1965). A rationale and test for the number of factors in factor analysis. Psychometrika, 30(2), 179–185.
- Costello, A. B., & Osborne, J. W. (2005). Best practices in exploratory factor analysis: Four recommendations for getting the most from your analysis. Practical Assessment, Research, and Evaluation, 10, Article 7.
- Gerbing, D. W., & Anderson, J. C. (1988). An updated paradigm for scale development incorporating unidimensionality and its assessment. Journal of Marketing Research, 25(2), 186–192.
- O'Connor, B. P. (2000). SPSS and SAS programs for determining the number of components using parallel analysis and Velicer's MAP test. Behavior Research Methods, Instruments, & Computers, 32(3), 396–402.
- Tabachnick, B. G., & Fidell, L. S. (2013). Using multivariate statistics (6th ed.). Pearson.
- Field, A. (2018). Discovering statistics using IBM SPSS Statistics (5th ed.). SAGE Publications.
- Nguyễn Đình Thọ. (2011). Phương pháp nghiên cứu khoa học trong kinh doanh [Scientific research methods in business]. Labour – Social Publishing House.
The thresholds in this article are common conventions in the sources above. Check them against your supervisor's or target journal's requirements.