{"id":1003,"date":"2026-10-13T15:16:00","date_gmt":"2026-10-13T15:16:00","guid":{"rendered":"https:\/\/freestatisticaltools.com\/blog\/?p=1003"},"modified":"2026-10-13T15:16:00","modified_gmt":"2026-10-13T15:16:00","slug":"exploratory-factor-analysis-guide","status":"publish","type":"post","link":"https:\/\/freestatisticaltools.com\/blog\/exploratory-factor-analysis-guide\/","title":{"rendered":"Exploratory Factor Analysis (EFA): A Step-by-Step Guide for Survey Research"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Exploratory factor analysis (EFA)<\/strong> finds the underlying structure in a set of items. You give it 20 questionnaire items; it tells you whether they group into, say, four coherent factors, and which items belong where. Researchers use EFA to develop new scales, check the structure of an adapted questionnaire, and reduce many items to a few meaningful dimensions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide walks through every decision in an EFA, with the cut-offs reviewers expect.<\/p>\n\n\n<div class=\"fst-tool\"><span class=\"ico\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"8\" cy=\"8\" r=\"4\"\/><circle cx=\"16\" cy=\"16\" r=\"4\"\/><circle cx=\"16\" cy=\"8\" r=\"2\"\/><\/svg><\/span><span><span class=\"t-eyebrow\">Free tool \u00b7 runs in your browser<\/span><a class=\"t-name\" href=\"https:\/\/freestatisticaltools.com\/exploratory-factor-analysis\/\" style=\"text-decoration:none;color:inherit\">Exploratory Factor Analysis (EFA) Online<\/a><span class=\"t-desc\">Free exploratory factor analysis online: KMO, Bartlett\u2019s test, principal axis factoring, varimax rotation, scree plot and sorted factor loadings.<\/span><\/span><a class=\"btn accent\" href=\"https:\/\/freestatisticaltools.com\/exploratory-factor-analysis\/\" data-tool=\"exploratory-factor-analysis\">Run an EFA \u2192<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">EFA, PCA or CFA?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Method<\/th><th>Question it answers<\/th><th>Use when<\/th><\/tr><\/thead><tbody><tr><td><strong>EFA<\/strong><\/td><td>Which latent factors explain the correlations among the items?<\/td><td>Developing or exploring a scale<\/td><\/tr><tr><td><strong>PCA<\/strong><\/td><td>How can I summarize many variables in fewer components?<\/td><td>Data reduction, without a latent-variable model<\/td><\/tr><tr><td><strong>CFA<\/strong><\/td><td>Does my hypothesized factor structure fit the data?<\/td><td>The structure is known from theory or prior research<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">PCA is often run under the name &quot;factor analysis&quot;, but it is a different model: components contain all the variance, including error, while factors model only the shared variance. For scale development, EFA (for example with principal axis factoring) is usually preferred. For data reduction, use <a href=\"\/principal-component-analysis\/\">PCA<\/a>. To confirm a structure, use <a href=\"\/confirmatory-factor-analysis\/\">CFA<\/a> or <a href=\"\/cb-sem\/app\/\">CB-SEM Studio<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Check that your data are suitable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sample size.<\/strong> More is better. Common guidance: at least 5\u201310 respondents per item and 200+ overall, although well-defined factors with high communalities can be recovered with smaller samples.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Item level.<\/strong> Items should be measured on at least 5-point scales and treated as roughly continuous. Reverse-score negatively worded items first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Correlations.<\/strong> Items should correlate moderately (roughly .30 to .80). Items that correlate with nothing won&#39;t load anywhere; items correlating above .90 are near-duplicates.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>KMO (Kaiser-Meyer-Olkin) measure of sampling adequacy:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>KMO<\/th><th>Interpretation (Kaiser, 1974)<\/th><\/tr><\/thead><tbody><tr><td>\u2265 .90<\/td><td>Marvellous<\/td><\/tr><tr><td>.80\u2013.89<\/td><td>Meritorious<\/td><\/tr><tr><td>.70\u2013.79<\/td><td>Middling<\/td><\/tr><tr><td>.60\u2013.69<\/td><td>Mediocre<\/td><\/tr><tr><td>&lt; .60<\/td><td>Unacceptable; don&#39;t factor<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Bartlett&#39;s test of sphericity<\/strong> tests whether the correlation matrix is an identity matrix (no correlations at all). It should be <strong>significant<\/strong> (p &lt; .05). With typical survey samples it nearly always is, so KMO is more informative.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Choose an extraction method<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Principal axis factoring (PAF):<\/strong> robust, no normality assumption, and a good default for survey data.<\/li>\n\n<li><strong>Maximum likelihood (ML):<\/strong> gives fit statistics, but assumes multivariate normality.<\/li>\n\n<li><strong>Principal components:<\/strong> technically PCA, not EFA (see above).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Decide how many factors to keep<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the most important decision. Use several criteria together:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kaiser&#39;s criterion (eigenvalue &gt; 1):<\/strong> simple, but tends to keep too many factors with many items. Don&#39;t rely on it alone.<\/li>\n\n<li><strong>Scree plot:<\/strong> keep the factors before the &quot;elbow&quot;, where the curve flattens.<\/li>\n\n<li><strong>Parallel analysis:<\/strong> keep factors whose eigenvalues exceed those from random data of the same size. It is generally considered the most accurate method.<\/li>\n\n<li><strong>Theory and interpretability:<\/strong> each factor should make conceptual sense and have at least three items.<\/li>\n\n<li><strong>Variance explained:<\/strong> in the social sciences, a solution explaining 50\u201360% of the variance is often considered adequate.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Rotate the solution<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Rotation makes the loadings easier to interpret by pushing each item towards one factor.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Orthogonal rotation (varimax)<\/strong> keeps factors uncorrelated. It is simple to interpret and widely used.<\/li>\n\n<li><strong>Oblique rotation (oblimin, promax)<\/strong> allows factors to correlate. Psychological and social constructs usually do correlate, so many methodologists recommend starting with oblique rotation. If the factor correlations turn out small (below about .30), varimax gives nearly identical results.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The free <a href=\"\/exploratory-factor-analysis\/\">EFA tool<\/a> uses principal axis factoring with varimax rotation and produces the KMO, Bartlett&#39;s test, a scree plot and a sorted loading matrix.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: Interpret the loadings<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Rule<\/th><th>Common cut-off<\/th><\/tr><\/thead><tbody><tr><td>Minimum loading to keep an item on a factor<\/td><td>\u2265 .40 (\u2265 .50 for stricter scale development; \u2265 .30 with large samples)<\/td><\/tr><tr><td>Cross-loading (loads on two factors)<\/td><td>Problematic if both loadings \u2265 .32, or they differ by less than .20<\/td><\/tr><tr><td>Communality (variance explained in the item)<\/td><td>Ideally \u2265 .40<\/td><\/tr><tr><td>Items per factor<\/td><td>At least 3<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Example:<\/strong> a 12-item workplace well-being questionnaire, n = 310, KMO = .86, Bartlett&#39;s \u03c7\u00b2(66) = 1854.2, p &lt; .001. Parallel analysis and the scree plot suggest three factors, explaining 61% of the variance.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Item<\/th><th>F1 Engagement<\/th><th>F2 Exhaustion<\/th><th>F3 Belonging<\/th><\/tr><\/thead><tbody><tr><td>ENG1 I feel energized at work<\/td><td><strong>.78<\/strong><\/td><td>\u2212.12<\/td><td>.15<\/td><\/tr><tr><td>ENG2 I am enthusiastic about my job<\/td><td><strong>.74<\/strong><\/td><td>\u2212.08<\/td><td>.21<\/td><\/tr><tr><td>ENG3 Time flies when I&#39;m working<\/td><td><strong>.69<\/strong><\/td><td>.02<\/td><td>.10<\/td><\/tr><tr><td>ENG4 I am immersed in my work<\/td><td><strong>.66<\/strong><\/td><td>\u2212.05<\/td><td>.18<\/td><\/tr><tr><td>EXH1 I feel emotionally drained<\/td><td>\u2212.10<\/td><td><strong>.81<\/strong><\/td><td>\u2212.09<\/td><\/tr><tr><td>EXH2 I feel used up at the end of the day<\/td><td>\u2212.06<\/td><td><strong>.77<\/strong><\/td><td>\u2212.11<\/td><\/tr><tr><td>EXH3 I feel burned out<\/td><td>\u2212.15<\/td><td><strong>.72<\/strong><\/td><td>\u2212.04<\/td><\/tr><tr><td>EXH4 Work is a strain for me<\/td><td>.05<\/td><td><strong>.58<\/strong><\/td><td>\u2212.20<\/td><\/tr><tr><td>BEL1 I feel part of a team<\/td><td>.17<\/td><td>\u2212.08<\/td><td><strong>.76<\/strong><\/td><\/tr><tr><td>BEL2 My colleagues care about me<\/td><td>.12<\/td><td>\u2212.14<\/td><td><strong>.71<\/strong><\/td><\/tr><tr><td>BEL3 I fit in at my workplace<\/td><td>.20<\/td><td>\u2212.03<\/td><td><strong>.68<\/strong><\/td><\/tr><tr><td>BEL4 I enjoy my work tasks<\/td><td><strong>.45<\/strong><\/td><td>\u2212.02<\/td><td><strong>.41<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">BEL4 cross-loads (.45 vs .41), and its wording is about work tasks, not belonging. It is a candidate for removal. Rerun the EFA after removing it, and check that the structure is stable.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 6: Name the factors and check reliability<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Name each factor from the content of its highest-loading items. Then compute reliability for each factor with <a href=\"\/blog\/cronbachs-alpha\/\">Cronbach&#39;s alpha<\/a> or <a href=\"\/mcdonalds-omega-calculator\/\">McDonald&#39;s omega<\/a>. Ideally, confirm the structure with CFA in a <strong>new sample<\/strong>. Running EFA and CFA on the same data is circular.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to report an EFA in APA 7<\/h2>\n\n\n\n<div class=\"fst-report\"><b>How to report it (APA 7)<button type=\"button\" data-copy-report>Copy<\/button><\/b><div><p>An exploratory factor analysis using principal axis factoring with varimax rotation was conducted on the 12 items (<i>N<\/i> = 310). Sampling adequacy was good (KMO = .86), and Bartlett&#39;s test of sphericity was significant, \u03c7\u00b2(66) = 1854.2, <i>p<\/i> &lt; .001. Parallel analysis and the scree plot supported a three-factor solution explaining 61% of the variance. One item (BEL4) cross-loaded on two factors (.45 and .41) and was removed. The final 11 items loaded on their intended factors (loadings .58\u2013.81), labelled Engagement, Exhaustion and Belonging.<\/p><\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Include the full loading matrix (suppressing loadings below .30 makes it easier to read), eigenvalues and variance explained.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Common mistakes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Using eigenvalue &gt; 1 as the only retention rule.<\/li>\n\n<li>Running PCA and calling it factor analysis.<\/li>\n\n<li>Deleting items one at a time until \u03b1 or fit improves, without checking content validity.<\/li>\n\n<li>Factoring items from several unrelated scales together &quot;to see what happens&quot;, without theory.<\/li>\n\n<li>Treating EFA results as confirmation of a hypothesized structure (use CFA for that).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<div class=\"fst-faq\"><details><summary>What is a good KMO value for factor analysis?<\/summary><div class=\"a\"><p>KMO values of .60 or above are the usual minimum, .80 or above is good, and .90 or above is excellent. Below .60, the data are generally not suitable for factor analysis.<\/p><\/div><\/details><details><summary>What factor loading is acceptable?<\/summary><div class=\"a\"><p>A loading of .40 or higher is a common cut-off for keeping an item on a factor. Stricter scale development work often uses .50, and with large samples .30 is sometimes accepted.<\/p><\/div><\/details><details><summary>Should I use varimax or oblimin rotation?<\/summary><div class=\"a\"><p>Use oblique rotation (oblimin or promax) if the factors are expected to correlate, which is common for psychological constructs. If the factor correlations are small, varimax gives similar results and is simpler to report.<\/p><\/div><\/details><details><summary>What is the difference between EFA and CFA?<\/summary><div class=\"a\"><p>EFA explores which factors underlie a set of items without a prior structure. CFA tests whether a structure specified in advance fits the data, and reports fit indices such as CFI and RMSEA.<\/p><\/div><\/details><details><summary>How many respondents do I need for factor analysis?<\/summary><div class=\"a\"><p>A common guideline is 5 to 10 respondents per item and at least 200 overall. Fewer can work when factors are well defined, with high loadings and at least four items each.<\/p><\/div><\/details><\/div>\n\n\n<div class=\"fst-report\"><b>Cite the tool (APA 7)<button type=\"button\" data-copy-report>Copy<\/button><\/b><div>Xavier, B. (2026). <i>Free Statistical Tools<\/i> [Computer software]. Zenodo. https:\/\/doi.org\/10.5281\/zenodo.23372149 (web app: https:\/\/freestatisticaltools.com\/exploratory-factor-analysis\/)<\/div><small>Name the tool in your methods: \u201cThe analysis was carried out with the Exploratory Factor Analysis (EFA) Online in Free Statistical Tools.\u201d<\/small><\/div>\n","protected":false},"excerpt":{"rendered":"<p>From KMO and Bartlett&#8217;s test to choosing the number of factors, rotation, loading cut-offs and an APA write-up, everything you need to run an EFA on questionnaire data.<\/p>\n","protected":false},"author":1,"featured_media":1004,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_fst_seo_title":"Exploratory Factor Analysis: KMO, Rotation, Loadings, APA","_fst_meta_desc":"Run an exploratory factor analysis step by step: KMO and Bartlett's test, extraction, number of factors, rotation, loadings and APA reporting.","_fst_primary_tool":"exploratory-factor-analysis","_fst_canonical":"","_fst_noindex":false,"_fst_no_toc":false,"_fst_no_autolink":false,"footnotes":""},"categories":[12],"tags":[60,59,28,29,30],"class_list":["post-1003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-multivariate-analysis","tag-efa","tag-factor-analysis","tag-questionnaire","tag-survey-research","tag-validity"],"_links":{"self":[{"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/posts\/1003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/comments?post=1003"}],"version-history":[{"count":0,"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/posts\/1003\/revisions"}],"wp:attachment":[{"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/media?parent=1003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/categories?post=1003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/freestatisticaltools.com\/blog\/wp-json\/wp\/v2\/tags?post=1003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}