How to Run EFA in SPSS and Read Factor Analysis Results

SPSS··14 min read

When to use EFA

EFA, short for Exploratory Factor Analysis, is used to explore which factors your observed variables group into. You usually run EFA after checking reliability with Cronbach's Alpha and before running regression, SEM, or a PLS-SEM model. If your questionnaire contains many observed variables adapted from different scales, EFA helps you check the actual structure in your sample.

In simple terms, EFA answers this question: do the observed variables really group into the conceptual dimensions you expected? For example, your model may contain three concepts, Service Quality, Trust, and Purchase Intention. You enter the observed variables for these concepts into EFA to see whether they form three separate factors.

EFA is appropriate when the factor structure is uncertain or when you are adapting a scale to a new context. If the model has already been clearly specified and you want to test how well the measurement structure fits, CFA is more appropriate. You can read more about the difference between the two approaches in CFA.

You also need to distinguish EFA from Principal Component Analysis. In SPSS, the Extraction section includes both Principal Components and Factor Analysis methods. Principal Components focuses on reducing the data, while EFA in the stricter sense looks for latent factors underlying the correlations between variables. The article Principal Component Analysis explains this choice separately.

From a hypothesis-testing perspective, EFA does not directly test H1, H2, or H3. It checks the quality and structure of the scale before you use factor scores or mean scores to test relationships between variables.

Preparing the data before running EFA

Open your .sav file and check each column before going to Analyze. Each observed variable must be a numeric variable, such as KT1, KT2, KT3 or DV1, DV2, DV3. Likert responses need to be coded consistently, usually from 1 to 5 or from 1 to 7. Value labels can range from Strongly disagree to Strongly agree, but the underlying data must still be numeric.

Check Missing Values by going to Analyze > Descriptive Statistics > Frequencies. If a variable has many blank cells, review the original questionnaire and the treatment rule specified in your research methods. Do not automatically replace every blank cell with the mean before you have a clear methodological reason to do so.

Reverse-coded variables must be recoded before you run Cronbach's Alpha and EFA. For a Likert scale from 1 to 5, the usual reverse-coding formula is new value equals 6 minus the old value. After creating the new variable, check the frequency table again to make sure code 1 has become 5 and code 2 has become 4. Keep the original variable so you can trace the data later.

You also need to remove columns that are not observed variables, such as respondent ID, submission time, survey group, or screening questions. Identification variables should not be entered into EFA. If the questionnaire contains scales that are entirely different in nature, review the theoretical basis before putting them into the same run.

The sample size needs to be adequate for the number of observed variables. A commonly used rule is 5 to 10 observations per observed variable (Hair et al., 2010). This is a design guideline, not a guarantee that EFA will work. In your thesis, state the number of variables, the number of valid responses, and how you determined the sample size.

Before you start, save a copy of the data and name the output file for each run, such as EFA_v1.spv and EFA_v2.spv. EFA rarely produces the final structure on the first run. Recording the variable removed, the reason for removal, and the rerun result makes it easier to explain the process to your supervisor.

Steps to run EFA in SPSS

Open the Factor Analysis dialog box

Go to Analyze > Dimension Reduction > Factor. Move all observed variables you intend to test into the Variables box. Do not put a single-item dependent variable, demographic variables, or respondent ID into this box.

If you run EFA separately for each scale group according to your research design, state the reason clearly. In many theses, observed variables from independent concepts are entered into one common EFA to check discriminant validity. Your choice must be consistent with the model and your supervisor's guidance.

Choose Descriptives and check the conditions

Click Descriptives. Select KMO and Bartlett's test of sphericity so SPSS produces the KMO and Bartlett's Test table. You can also select Anti-image to view each variable's MSA if you need to diagnose a weak variable.

You do not need to select every option if the output becomes too long. The purpose of this step is to check whether the data contain enough correlation for factor analysis, not to make the final decision about the number of factors.

Choose Extraction

Click Extraction. Under Method, if your goal is EFA, you can choose Principal Axis Factoring or another Factor Analysis method appropriate for your design. If your proposal requires Principal Components, select Principal Components and report the method name accurately in your thesis. Do not call every Principal Components result EFA without stating the extraction method.

Select Scree plot to view the elbow plot. Under Extract, you can leave Eigenvalues greater than 1 selected when this rule has been specified in the study. Kaiser proposed the rule of retaining factors with eigenvalues greater than 1 when selecting the number of factors (Kaiser, 1960). You should also compare the result with the theoretical basis, scree plot, and interpretability.

Choose Rotation

Click Rotation. Varimax is a common choice when you assume that the factors are uncorrelated. If the concepts may be correlated, Promax or another oblique rotation is more appropriate. Rotation does not improve the data. It only makes the factor-loading structure easier to read.

Select Rotated solution and Loading plot if needed. After running the analysis, the important table is usually Rotated Component Matrix with Varimax, or Pattern Matrix and Structure Matrix with oblique rotation. How you read the rotated matrix depends on the actual table name in the output.

Choose Options and run the first analysis

Click Options and select Sorted by size so the loading coefficients within each factor are easier to read. You can select Suppress small coefficients and enter 0.50 to make the output shorter, but use this option carefully. If you hide every small coefficient, you may miss a cross-loading variable that needs to be checked.

Click Continue and then click OK. Save the output before changing the data. The first run gives you an overall view of KMO, Bartlett, the number of factors, Total Variance Explained, and the loading matrix.

Reading the output

The KMO and Bartlett's Test table contains two parts that you need to read. KMO indicates the overall suitability of the data for factor analysis. Bartlett's Test of Sphericity tests the hypothesis that the correlation matrix is an identity matrix. Look at both results instead of focusing only on the KMO value.

The Total Variance Explained table reports the eigenvalue and the percentage of variance explained by each factor. If you select Eigenvalues greater than 1, SPSS usually retains factors with eigenvalues greater than 1. However, the final number of factors still needs to fit the theoretical model and be interpretable.

The Component Matrix appears when the solution has not been rotated, while Rotated Component Matrix appears after orthogonal rotation. With oblique rotation, read the Pattern Matrix. Each variable should load highly on its expected factor and should not load highly on several factors at the same time.

The table below is illustrative output, not the result of a real study:

SPSS output tableIndex or variableFactor 1Factor 2Factor 3
KMO and Bartlett's TestKMO Measure0.812
KMO and Bartlett's TestBartlett Sig.0.000
Total Variance ExplainedEigenvalue of factor 14.126
Total Variance ExplainedCumulative % variance after 3 factors58.437%
Rotated Component MatrixDV10.784
Rotated Component MatrixTC20.731
Rotated Component MatrixYD30.816

In the example, KMO is 0.812 and Bartlett's Sig. is 0.000. These are illustrative figures to show you where the values appear and how to read the columns. Do not copy them as the result of your study if your file produces different numbers. When reading the matrix, check every variable rather than drawing a conclusion from only three representative rows.

If a variable loads 0.54 on factor 1 and 0.51 on factor 2, this indicates cross-loading. Before removing it, review the item's content, the difference between the two loadings, the scale theory, and your supervisor's requirements. Do not remove a variable simply to make the table look cleaner.

Terms such as communality and eigenvalue are often confused. Communality represents the proportion of a variable's variance explained by the retained factors, while eigenvalue relates to the amount of variance explained by a factor. You can read the articles on communality and eigenvalue when these columns appear in your output.

Evaluation criteria

The table below uses thresholds commonly reported in quantitative theses. Each row includes its source so you do not separate a number from the original reference. Keep the thresholds consistent with your proposal and supervisor's guidance, especially when the study is exploratory or the sample is limited.

Evaluation itemReference thresholdCanonical source
KMO0.5 or above(Kaiser, 1974)
Bartlett's TestSig. below 0.05(Kaiser, 1974)
EigenvalueGreater than 1(Kaiser, 1960)
Factor loading0.5 or above(Hair et al., 2010)
Total variance explained50% or above(Hair et al., 2010)
Corrected Item-Total Correlation0.3 or above, when evaluating Alpha(Nunnally and Bernstein, 1994)
Observations per observed variableApproximately 5 to 10(Hair et al., 2010)

KMO below 0.5 indicates that the data do not meet the reference threshold for EFA. A higher KMO does not automatically prove that the scale has good validity, because you still need to examine factor loadings, the number of factors, cross-loadings, and interpretability.

Bartlett's Sig. below 0.05 indicates evidence of correlations between variables in the matrix. If Sig. is above 0.05, check the variable selection, sample size, coding, and strength of the relationships between variables before trying to continue.

A factor loading of 0.5 or above is commonly considered acceptable according to Hair et al. (Hair et al., 2010). However, a variable with a low loading or cross-loading needs to be considered together with its theoretical content. After each removal, rerun EFA and record the output version.

For a new scale or an exploratory context, Cronbach's Alpha from 0.6 may be acceptable according to (Hair et al., 2010), while the 0.7 threshold is commonly attributed to (Nunnally, 1978). These thresholds apply to different contexts, so do not use either one mechanically.

How to write this in your thesis

In Chapter 4, present the results in this order: the conditions for running EFA, the extraction and rotation methods, KMO and Bartlett, the number of retained factors, total variance explained, the rotated loading matrix, and any variables removed. Use the exact SPSS table names, state the number of runs, and explain why each variable was removed.

You can adapt the following sentence to your file: “The results of EFA run [number] show that the KMO value was [value], while Bartlett's test had Sig. = [value], indicating that the data were [suitable/not suitable] for factor analysis. The analysis extracted [number of factors] factors with total variance explained of [value]%. The observed variables had factor loadings ranging from [lowest value] to [highest value], and therefore [conclusion according to the selected criteria].”

If a variable was removed, write the reason specifically: “Variable [variable code] was removed in run [number] because its factor loading was [value] and its cross-loading on [factor name] was [value]. After the variable was removed, the analysis was rerun with [number of variables] observed variables.” This sentence shows the committee that you controlled the process instead of presenting only the final table.

Do not write that EFA proved your research hypotheses. EFA provides evidence about the structure of the scale. Testing relationships between concepts requires regression, SEM, PROCESS, or PLS-SEM, depending on your model.

Common errors when running EFA

The first error is entering demographic variables into Factor Analysis. Age, gender, income, and occupation are usually descriptive or control variables, not observed variables belonging to a scale. Check the Variables list before clicking OK.

The second error is selecting Principal Components but writing in the thesis that you used Principal Axis Factoring. The two methods have different purposes and names. Report the exact Method selected in the Extraction dialog box.

The third error is forcing SPSS to retain the expected number of factors even when the eigenvalue, scree plot, and loading matrix do not support it. You can try Fixed number of factors when the theory is sufficiently clear, but you must report how you made the choice and what the actual result was.

The fourth error is repeatedly deleting variables to obtain attractive factor loadings. Every observed variable has theoretical content. If you remove too many variables, the scale may lose coverage of the concept. Prioritize variables with low loadings, clear cross-loadings, or poor content fit, then rerun the analysis one round at a time.

The fifth error is confusing EFA with CFA or reading the wrong table. EFA explores the structure, while CFA tests a previously specified measurement structure. The sixth error is reporting only KMO and leaving out Bartlett, Total Variance Explained, and the rotated matrix.

If SPSS reports that the solution did not converge or the output has no rotated matrix, check the number of variables, correlations that are nearly zero, variables with zero variance, and Missing data. Do not edit the original file directly. Save a copy, check each variable, and record every change.

Frequently asked questions

What is EFA and what is it used for?

EFA is Exploratory Factor Analysis. It is used to see how many factors multiple observed variables group into and which factor each variable belongs to. It is commonly used to evaluate scale structure before testing relationships between variables.

EFA does not replace hypothesis testing. After EFA, you still need to choose an appropriate method to test the research model.

Can I run EFA for a dependent variable?

You can run EFA for the observed variables of a dependent concept if that concept is measured with multiple variables. The purpose is to check whether the observed variables converge on one factor.

Do not enter one single column containing a composite dependent score into EFA. Use the original observed variables, such as YD1, YD2, and YD3, then calculate a representative score after the scale meets the required criteria.

What counts as an acceptable EFA result?

Common thresholds include KMO of 0.5 or above, Bartlett's Sig. below 0.05, eigenvalue greater than 1, factor loading of 0.5 or above, and total variance explained of 50% or above. Read these thresholds together with their sources, which can be found in (Kaiser, 1974), (Kaiser, 1960), and (Hair et al., 2010), respectively.

No single number determines the entire EFA result. You also need to consider cross-loadings, item content, the number of factors, and the fit with the theoretical model.

What should I do if EFA fails or there is no Rotated Component Matrix?

First, check whether the data have enough variation, whether there are too many Missing values, and whether the variables were coded in the same direction. Then check the Method, Rotation, and Variables list in the Factor dialog box.

If some variables are barely correlated, EFA may not produce a meaningful structure. Review the correlation matrix, check the scale again, and discuss the issue with your supervisor before removing variables in bulk.

Do I need to run EFA once for all variables?

The answer depends on your model and how the scales were developed. If the independent variables are expected to form several distinct factors, running them together can help check discriminant validity. If the variable groups are theoretically and substantively entirely different, separate runs may be more appropriate.

State clearly which variables were included in each run, and do not combine separate runs into one general conclusion. Your syntax file, output, and variable-removal log will help you explain the choice.

Reopen your SPSS file, make a list of the observed variables, check the coding, and run EFA for the first time using the menu path above. Then save the output and record each variable that needs review. If you need to run the analysis on your own .sav or .csv file, M4 data analysis supports this step.