FreeStatisticalTools.com
Multivariate analysis

Latent Class and Latent Profile Analysis (LCA / LPA)

Find hidden segments in survey or customer data. Latent profile analysis (continuous indicators) and latent class analysis (categorical indicators) fit models with 1, 2, 3 … classes, compare them with BIC and entropy, and describe each class.

Free · No sign-upReplaces Mplus · Latent GOLD · tidyLPAWorks with your data
Updated · By Bibin Xavier

Data 400 × 9

Paste from Excel, or drop a CSV, TSV or Excel file here.
Example data 400 rows, 9 variables. Data stays in this browser tab.
Customertext · 400 levelsPrice_SensitivitynumericBrand_LoyaltynumericDeal_SeekingnumericOnline_SharenumericUses_Couponsnumeric · codedBuys_Premiumnumeric · codedShops_Onlinenumeric · codedReads_Reviewsnumeric · coded
C0015.37.98.36.90101
C0023.71.26.50.51011
C0037.24.43.94.90110
C0045.55.40.54.80011
C0055.15.78.89.90111
C00677.66.98.11111
C0075.41.85.42.51110
C0084.86.49.16.91010

Variables and options

Indicators 4 selected · min 2
Results update automatically when you change an option.

Results

400 rows · example data
Table 1

Model comparison

ClassesLog-likelihoodParametersAICBICSABICEntropySmallest classBest LL replicated
1-3617.2587250.57282.47257.0—100.0%—
2-3186.12136398.26450.16408.9.98740.8%20 of 20
3-2915.45185866.95938.75881.6.98124.4%15 of 20
4-2911.71235869.45961.25888.2.9274.4%6 of 20
5-2905.58285867.25978.95890.1.9300.6%1 of 20

Note. Latent profile analysis: Gaussian mixture with class-specific means and equal variances, no within-class covariances (local independence). Lower AIC, BIC and SABIC are better; entropy above .80 indicates clear classification. A best log-likelihood replicated in several random starts means the solution is not a local maximum. Classes smaller than about 5% are often unstable.

Information criteria by number of classes

Classes3lowest BIC
Entropy.981
BIC5938.7
Cases400
Table 2

Class sizes and classification quality

ClassEstimated shareAssigned (modal)Mean P(class 1)Mean P(class 2)Mean P(class 3)
Class 140.6%162 (40.5%).999.001.000
Class 235.0%142 (35.5%).005.982.013
Class 324.4%96 (24.0%).000.005.995

Note. Average posterior probabilities for cases assigned to each class. Diagonal values above .80 mean the classes are well separated.

Table 3

Class profiles (means)

IndicatorClass 1Class 2Class 3OverallWithin-class SD
Price Sensitivity3.166.745.224.911.12
Brand Loyalty2.346.217.634.981.07
Deal Seeking6.933.187.205.681.27
Online Share1.934.878.184.481.15

Profile plot (standardized class means)

Download class membership (CSV) 400 rows, opens in Excel or Google Sheets. Row = line number in your pasted data (header = line 1).

Interpretation

Comparing 5 models, BIC is lowest for the 3-class solution. Its entropy of .981 indicates clear separation between classes. The largest class holds 40.6% of cases and the smallest 24.4%. The best log-likelihood was replicated in 15 of 20 random starts, so the solution is stable. Name each class from its profile, and check that the classes make substantive sense before using them.

Latent profile analyses with 1 to 5 classes were estimated on 4 indicators (N = 400). The 3-class model was retained (BIC = 5938.75, entropy = .981), with class shares of 40.6%, 35.0%, 24.4%.

How to cite this tool

Using these results in a thesis, journal article, report or class assignment? Please cite this free tool so others can find it. It keeps the site free.

APA 7

Xavier, B. (2026). Latent Class and Latent Profile Analysis (LCA / LPA) [Web application]. FreeStatisticalTools.com. https://freestatisticaltools.com/latent-class-latent-profile-analysis/

BibTeX

@software{xavier_latentclassanalysis_2026,
  author = {Xavier, Bibin},
  title = {Latent Class and Latent Profile Analysis (LCA / LPA)},
  publisher = {FreeStatisticalTools.com},
  year = {2026},
  url = {https://freestatisticaltools.com/latent-class-latent-profile-analysis/},
  note = {Web application}
}
Download citation:

Suggested sentence for your methods section: “The analysis was carried out with the free Latent Class and Latent Profile Analysis (LCA / LPA) tool on FreeStatisticalTools.com (Xavier, 2026).”

What is latent class analysis?

Latent class analysis (LCA) and latent profile analysis (LPA) find hidden subgroups in data: LPA for continuous indicators, LCA for categorical ones. The tool fits models with one to eight classes using the EM algorithm with many random starts, compares them with AIC, BIC, SABIC and entropy, and describes each class with its size, profile and posterior membership probabilities.

When to use latent class analysis

Use latent class or latent profile analysis to find segments of respondents or customers that differ in their pattern of answers or behaviour, when you want a statistical criterion for the number of segments and a probability of membership for each person.

Assumptions

  • Local independence: within a class, indicators are unrelated (covariances are not modelled).
  • LPA indicators are continuous and roughly normal within classes; LCA indicators are categorical (binary or a few categories).
  • Fit several random starts; results that replicate the best log-likelihood are trustworthy.

How to set up your data

One row per respondent or customer and one column per indicator. Numeric columns are treated as continuous (LPA); text columns and numeric columns with seven or fewer whole-number values are treated as categorical (LCA) in automatic mode.

What latent class and latent profile analysis are

Latent class analysis (LCA) and latent profile analysis (LPA) are model-based methods for finding hidden subgroups, called classes, in a population. They assume that the population is a mixture of a few unobserved groups, and that the pattern of answers or behaviours of each person depends on which group they belong to. The model estimates how big each class is, what is typical of each class, and the probability that each person belongs to each class.

  • Latent profile analysis is used when the indicators are continuous, such as scale scores, spending, attitudes on 1–10 scales or behavioural metrics. Within each class, each indicator follows a normal distribution with a class-specific mean. It is a finite Gaussian mixture model.
  • Latent class analysis is used when the indicators are categorical, such as yes/no behaviours, multiple-choice answers or symptom checklists. Within each class, each indicator has its own probabilities of each answer.

In marketing research these methods are the modern standard for segmentation. In psychology, education and health they are known as person-centred analysis, for example to identify profiles of motivation, engagement or wellbeing.

Why use LCA/LPA instead of k-means clustering?

  • A statistical criterion for the number of segments. Because each solution is a likelihood-based model, you can compare 1, 2, 3 … classes with information criteria such as BIC rather than judging an elbow plot.
  • Probabilistic membership. Each person gets a probability of belonging to each class, which shows how clearly they belong to one segment, summarised by entropy.
  • Different variable types. Categorical indicators are modelled correctly rather than being treated as numbers.
  • Explicit assumptions. Local independence and the variance structure are stated and can be relaxed.

How the models are estimated

The tool fits models with 1 up to the maximum number of classes using the expectation-maximisation (EM) algorithm. EM alternates between computing each person’s posterior class probabilities (E-step) and updating the class sizes, means, variances or response probabilities (M-step) until the log-likelihood stops improving. Mixture models can converge to local maxima, so each model is fitted from many random starts (20 by default) and the best solution is kept. The column “best LL replicated” shows how many starts reached the best log-likelihood: if it was found only once, increase the number of starts.

For LPA, two variance structures are available. Equal variances across classes (the default in Mplus and model 1 in tidyLPA) is more parsimonious and stable. Varying variances allows classes to differ in spread, which can fit better but needs more data and is more prone to tiny, degenerate classes. In both cases covariances within classes are fixed to zero (local independence).

Choosing the number of classes

The model comparison table gives, for every number of classes, the log-likelihood, number of parameters, AIC, BIC and sample-size-adjusted BIC (SABIC), entropy and the size of the smallest class. Common practice is:

  1. Prefer the solution with the lowest BIC, which simulation studies show is the most reliable information criterion; AIC tends to over-extract classes.
  2. Check that the smallest class is not tiny (below about 5% of the sample or fewer than 25–50 people), since very small classes are often unstable.
  3. Look at entropy (above .80 means clear classification) and the average posterior probabilities (diagonal above .80).
  4. Most importantly, check that the classes are interpretable and useful: they should make substantive sense and differ on variables that matter for your decision.

If BIC keeps decreasing slowly, look for the point where the decrease levels off (an “elbow” in the information criteria chart) and favour the simpler model when two solutions are close.

Worked example with the built-in data

The example contains 400 shoppers described by four continuous indicators (price sensitivity, brand loyalty, deal seeking and share of purchases online) and four yes/no behaviours. With the continuous indicators, LPA with equal variances gives these BIC values: 7,282 for one class, 6,450 for two, 5,939 for three and 5,961 for four. The three-class solution is best, with entropy of .98, a smallest class of 24% and the best log-likelihood replicated in 15 of 20 starts. The profiles describe deal-seeking offline shoppers with low brand loyalty (41%), price-sensitive shoppers who rarely chase deals (35%) and brand-loyal online shoppers (24%). Selecting the four yes/no indicators instead switches the tool automatically to LCA, with item-response probabilities for each class.

Preparing your data

Use one row per person and one column per indicator. In automatic mode, numeric columns with many values are treated as continuous and text columns, or numbers with seven or fewer whole-number values, as categorical; you can override this. Standardise wildly different scales only if you want each indicator to contribute similarly; LPA itself handles different scales. Cases with missing values on any indicator are excluded. Aim for at least 200–300 cases, and more when you expect small classes or use many indicators.

After choosing a solution

Download the class membership file: it contains each person’s assigned class and posterior probabilities, linked to the line numbers of your data. Then describe the classes on other variables (demographics, outcomes) with crosstabs, ANOVA or logistic regression. Simply using the modal class assignment ignores classification uncertainty, which is small when entropy is high. For publication-grade three-step analyses with covariates and distal outcomes, specialised software such as Mplus or Latent GOLD offers bias-adjusted methods.

Common mistakes

  • Choosing the number of classes on statistics alone without checking interpretability.
  • Reporting a solution whose best log-likelihood was not replicated.
  • Naming classes by a single indicator; look at the whole profile.
  • Over-interpreting tiny classes or classes that only differ in overall level (all indicators high vs all low), which can reflect response style rather than real types.

Reporting

Report the indicators, the model specification, the fit statistics for every number of classes, the criteria used to select the final model, entropy, class sizes and profiles. Example: “Latent profile analyses with one to five profiles were estimated on four indicators (N = 400). The three-profile model was retained (BIC = 5,938.69, entropy = .981), with profile shares of 40.6%, 35.0% and 24.4%.”

Glossary of mixture model terms

  • Latent class: an unobserved subgroup of the population with its own response pattern.
  • Posterior probability: the probability that a given case belongs to each class, given their answers.
  • Modal assignment: assigning each case to the class with its highest posterior probability.
  • Local independence: the assumption that indicators are unrelated within a class.
  • Log-likelihood: the measure of fit maximised by the EM algorithm; higher is better.
  • Information criteria: AIC, BIC and SABIC, which penalise the log-likelihood for the number of parameters.
  • Entropy: a summary of classification certainty between 0 and 1.
  • Local maximum: a solution that is best only among nearby parameter values; random starts guard against it.

Key references: Nylund, Asparouhov and Muthén (2007), Structural Equation Modeling; Collins and Lanza (2010), Latent Class and Latent Transition Analysis; Spurk et al. (2020), Journal of Vocational Behavior; Wedel and Kamakura (2000), Market Segmentation.

How to use this tool

  1. Enter your data. Paste columns from Excel, Google Sheets or SPSS with variable names in the first row, or upload a CSV or Excel file. The example data shows the expected layout.
  2. Choose the variables. Select the indicators.
  3. Set the options. Fill in model, lpa variances, maximum number of classes and random starts per model.
  4. Read the results. Results update automatically. Read the plain-English interpretation, then use Copy table to paste APA-style tables into Word and Copy for the results sentence.

How to report latent class analysis in APA style

Report the fit of every model (log-likelihood, AIC, BIC, SABIC, entropy, smallest class), the reason for choosing the final number of classes, and the class sizes and profiles.

Frequently asked questions

What is the difference between LCA and LPA?

LCA uses categorical indicators (yes/no, multiple choice); LPA uses continuous indicators modelled as normal within classes. Both are finite mixture models.

How do I choose the number of classes?

Prefer the lowest BIC, check that the smallest class is not tiny, look at entropy (above .80 is good) and make sure the classes are interpretable.

What is entropy?

A 0–1 summary of how clearly cases are assigned to classes, based on posterior probabilities. Values above .80 indicate clear separation.

Why use random starts?

Mixture models can converge to local maxima. Fitting many starts and checking that the best log-likelihood is replicated ensures a stable solution.

Is LPA better than k-means clustering?

LPA is model-based: it gives fit statistics for choosing the number of segments and probabilities of membership, and handles different variances.

What sample size do I need?

At least 200–300 cases, and more if you expect small classes or use many indicators.

Related tools

See also

Learn this method step by step in the free course Marketing Research with Survey Data, with exercises and a certificate.

Browse all categories