Consultation 4: Multilevel SEM for Logic Model Evaluation with Small Cluster Sizes

I. Client’s Inquiry

1. Analysis goal

Based on a logic model framework, the study aims to empirically test a sequential causal pathway that links public library performance outcomes.

2. Planned statistical methodology

  • Use Structural Equation Modeling (SEM) to test the logic-model causal pathway, including both direct and indirect (mediated) effects.

  • Conceptual chain: Inputs → Activities → Outputs → Outcomes

  • Outcomes are further structured as:

    • Short-term outcomes

    • Intermediate outcomes

    • Long-term outcomes

3. Data description

  • Variables collected:

    • Inputs

    • Activities

    • Outputs

    • Short-term outcomes

    • Intermediate outcomes

    • Long-term outcomes

  • Note: A conceptual research model figure has been prepared (attached by the researcher).

4. Key issue (mixed unit of analysis)

Some variables are measured at the library level, while others are measured at the individual user level.

  • Inputs, Activities, Outputs: quantitative data at the library level

  • Short-/Intermediate-/Long-term outcomes: user-level survey responses (Likert scale)

5. Intended analysis level

  • The researcher wants to perform the analysis at the library level.

  • In the survey, each user selected the library they mainly use and answered about that library, so survey responses can be grouped by library.

6. Main question

  • Many libraries have fewer than 30 respondents (about 46% of all libraries).

  • Is SEM still feasible when some groups (libraries) have n < 30? (Excluding all libraries with fewer than 30 respondents would remove too much data.)

  • Since small group sizes are believed to reduce reliability, the researcher asks whether there are practical analytic approaches that still allow SEM (or related modeling) without dropping most of these libraries.


II. Background

0. What is Structural Equation Modeling (SEM)?

Structural Equation Modeling (SEM) is a statistical framework that allows researchers to test multiple causal (direct and indirect) relationships among variables simultaneously. SEM is typically composed of two main parts: a measurement model and a structural model.

0.1 Measurement model

The measurement model specifies how observed indicators (measured variables) represent latent variables (unobserved constructs).

\[ \begin{aligned} x & = \Lambda_x \xi + \delta \quad \text{(measurement model for exogenous latent variables)} \\ y & = \Lambda_y \eta + \epsilon \quad \text{(measurement model for endogenous latent variables)} \end{aligned} \]

  • \(x\): vector of observed indicators for exogenous latent variables

    • In this study, \(x\) can correspond to the library-level measured variables that are treated as exogenous inputs to the causal chain.

    • Inputs / Activities / Outputs (e.g., budget, staffing, number of programs, number of loans, number of events, etc., depending on the dataset).

  • \(y\): vector of observed indicators for endogenous latent variables

    • In this study, \(y\) can correspond to user-survey items (Likert-scale indicators) that measure outcome-related constructs.

    • Short-term / Intermediate / Long-term outcomes (e.g., satisfaction items, perceived usefulness, learning/skill improvement items, intention to revisit, community engagement, etc.).

  • \(\xi\): vector of exogenous latent variables (latent predictors)

    • Example interpretation: a latent construct such as “Library Resources/Capacity” or “Service Provision Intensity”, measured by library-level indicators in \(x\).
  • \(\eta\): vector of endogenous latent variables (latent outcomes/mediators)

    • Example interpretation: latent constructs such as “Short-term Outcome”, “Intermediate Outcome”, and “Long-term Outcome”, each measured by multiple survey items in \(y\).
  • \(\Lambda_x, \Lambda_y\): factor loading matrices

  • \(\delta, \epsilon\): measurement error terms

0.2 Structural model

The structural model defines the causal paths among latent variables, capturing both direct and mediated effects.

\[ \eta = B \eta + \Gamma \xi + \zeta \]

  • \(B\): matrix of path coefficients among endogenous latent variables (\(\eta \rightarrow \eta\))

  • \(\Gamma\): matrix of path coefficients from exogenous to endogenous latent variables (\(\xi \rightarrow \eta\))

  • \(\zeta\): structural disturbance (residual) term

1. Variable definitions

Following the logic-model framework, you aim to test a sequential causal pathway (including direct and indirect effects):

\[ \text{Inputs} \rightarrow \text{Activities} \rightarrow \text{Outputs} \rightarrow \text{Short-term Outcomes} \rightarrow \text{Intermediate Outcomes} \rightarrow \text{Long-term Outcomes}. \]

Exogenous latent variable

\[ \xi_1 = \text{Inputs}. \]

Endogenous latent variables

\[ \begin{aligned} \eta_1 & = \text{Activities}, \\ \eta_2 & = \text{Outputs}, \\ \eta_3 & = \text{Short-term Outcomes}, \\ \eta_4 & = \text{Intermediate Outcomes}, \\ \eta_5 & = \text{Long-term Outcomes}. \end{aligned} \]

2. Measurement model

Let the observed indicators (survey items, administrative metrics, etc.) that measure each latent construct be denoted by \(x\) and \(y\). For example:

\[ \begin{aligned} x_1 & = \Lambda_{x_1}\,\xi_1 + \delta_1, \\ y_i & = \Lambda_{y_i}\,\eta_i + \epsilon_i,\quad i=1,\ldots,5. \end{aligned} \]

  • \(\Lambda_{\cdot}\): factor loading matrices

  • \(\delta_1,\epsilon_i\): measurement errors

The measurement model links each latent construct to its observed indicators. Under your research framework, you can substitute the actual indicator names from the attached model into the notation below.

2.1 Measurement model for the exogenous latent variable: Inputs (\(\xi_1\))

Let the observed variables \(x_{1i}\) \((i=1,\ldots,p)\) be indicators that measure Inputs. Then:

\[ x_{1i} = \lambda_{x_{1i}}\,\xi_1 + \delta_{1i},\quad i=1,\ldots,p. \]

In vector/matrix form:

\[ x_1 = \begin{pmatrix} x_{11}\\ x_{12}\\ \vdots\\ x_{1p} \end{pmatrix} = \underbrace{ \begin{pmatrix} \lambda_{x_{11}}\\ \lambda_{x_{12}}\\ \vdots\\ \lambda_{x_{1p}} \end{pmatrix}}_{\Lambda_{x_1}} \xi_1 + \underbrace{ \begin{pmatrix} \delta_{11}\\ \delta_{12}\\ \vdots\\ \delta_{1p} \end{pmatrix}}_{\delta_1}. \]

2.2 Measurement models for endogenous latent variables (\(\eta_j,\ j=1,\ldots,5\))

For each stage-specific latent variable \(\eta_j\) \((j=1,\ldots,5)\), let the observed indicators be \(y_{ji}\) \((i=1,\ldots,q_j)\). Then:

\[ y_{ji} = \lambda_{y_{ji}}\,\eta_j + \epsilon_{ji},\quad i=1,\ldots,q_j,\quad j=1,\ldots,5. \]

Stage interpretation:

  • \(j=1\): Activities (\(\eta_1\)), indicators \(y_{1i}\) \((i=1,\ldots,q_1)\)

  • \(j=2\): Outputs (\(\eta_2\)), indicators \(y_{2i}\) \((i=1,\ldots,q_2)\)

  • \(j=3\): Short-term Outcomes (\(\eta_3\)), indicators \(y_{3i}\) \((i=1,\ldots,q_3)\)

  • \(j=4\): Intermediate Outcomes (\(\eta_4\)), indicators \(y_{4i}\) \((i=1,\ldots,q_4)\)

  • \(j=5\): Long-term Outcomes (\(\eta_5\)), indicators \(y_{5i}\) \((i=1,\ldots,q_5)\)

In vector/matrix form (for each \(j\)):

\[ y_j = \begin{pmatrix} y_{j1}\\ y_{j2}\\ \vdots\\ y_{jq_j} \end{pmatrix}= \Lambda_{y_j}\,\eta_j + \epsilon_j,\quad j=1,\ldots,5. \]

2.3 Summary of the full measurement model (block-diagonal form)

Stacking all observed indicator vectors into one vector:

\[ \begin{pmatrix} x_1\\ y_1\\ \vdots\\ y_5 \end{pmatrix}= \underbrace{ \begin{pmatrix} \Lambda_{x_1} & 0 & 0 & 0 & 0 & 0\\ 0 & \Lambda_{y_1} & 0 & 0 & 0 & 0\\ \vdots & & \ddots & & & \vdots\\ 0 & 0 & 0 & 0 & 0 & \Lambda_{y_5} \end{pmatrix}}_{\Lambda} \begin{pmatrix} \xi_1\\ \eta_1\\ \vdots\\ \eta_5 \end{pmatrix} + \begin{pmatrix} \delta_1\\ \epsilon_1\\ \vdots\\ \epsilon_5 \end{pmatrix}. \]

  • \(\Lambda\): a block-diagonal loading matrix that places each factor loading matrix in the appropriate block

  • \(\delta_1, \epsilon_j\): measurement error vectors

3. Structural model

3.1 Comprehensive structural equations (sequential + all earlier-to-later direct paths)

Below is a more comprehensive specification that includes:

  • the sequential path (e.g., \(\eta_1 \to \eta_2 \to \cdots \to \eta_5\)), and

  • direct paths from every earlier stage to every later stage, including \(\xi_1\) to all \(\eta_j\).

\[ \begin{aligned} \eta_1 &= \gamma_{11}\xi_1 + \zeta_1,\\ \eta_2 &= \beta_{21}\eta_1 + \gamma_{21}\xi_1 + \zeta_2,\\ \eta_3 &= \beta_{32}\eta_2 + \beta_{31}\eta_1 + \gamma_{31}\xi_1 + \zeta_3,\\ \eta_4 &= \beta_{43}\eta_3 + \beta_{42}\eta_2 + \beta_{41}\eta_1 + \gamma_{41}\xi_1 + \zeta_4,\\ \eta_5 &= \beta_{54}\eta_4 + \beta_{53}\eta_3 + \beta_{52}\eta_2 + \beta_{51}\eta_1 + \gamma_{51}\xi_1 + \zeta_5. \end{aligned} \]

Interpretation examples:

  • \(\gamma_{11}\): Inputs \(\rightarrow\) Activities

  • \(\beta_{21}\): Activities \(\rightarrow\) Outputs

  • \(\beta_{31}\): Activities \(\rightarrow\) Short-term Outcomes (direct shortcut)

  • \(\beta_{42}\): Outputs \(\rightarrow\) Intermediate Outcomes (direct shortcut)

  • \(\gamma_{51}\): Inputs \(\rightarrow\) Long-term Outcomes (direct shortcut)

  • \(\zeta_i\): structural disturbances (residuals)

3.2 Matrix form

Let

\[ \eta = (\eta_1,\eta_2,\eta_3,\eta_4,\eta_5)^\prime,\quad \xi = (\xi_1)^\prime. \]

Then the structural model can be written as:

\[ \eta = B\eta + \Gamma\xi + \zeta, \]

where \(\zeta=(\zeta_1,\ldots,\zeta_5)^\prime\), and (one possible representation)

\[ B= \begin{pmatrix} 0 & 0 & 0 & 0 & 0\\ \beta_{21} & 0 & 0 & 0 & 0\\ \beta_{31} & \beta_{32} & 0 & 0 & 0\\ \beta_{41} & \beta_{42} & \beta_{43} & 0 & 0\\ \beta_{51} & \beta_{52} & \beta_{53} & \beta_{54} & 0 \end{pmatrix}, \quad \Gamma= \begin{pmatrix} \gamma_{11}\\ \gamma_{21}\\ \gamma_{31}\\ \gamma_{41}\\ \gamma_{51} \end{pmatrix}. \]

3.3 Examples of direct, indirect, and total effects

Direct effect (example)

  • Inputs \(\rightarrow\) Long-term Outcomes (if included): \(\gamma_{51}\)

One specific indirect effect (pure sequential chain)

  • Inputs \(\rightarrow\) Activities \(\rightarrow\) Outputs \(\rightarrow\) Short-term \(\rightarrow\) Intermediate \(\rightarrow\) Long-term:

\[ \gamma_{11}\times \beta_{21}\times \beta_{32}\times \beta_{43}\times \beta_{54}. \]

Total effect

  • The total effect equals the direct effect plus the sum of all possible indirect paths implied by the model.

4. Structural model using only the sequential (logic-model) paths

4.1 Overview

Even though a comprehensive structural model can include direct paths from every earlier stage to every later stage, it is also valid to specify a parsimonious model that includes only the sequential causal chain implied by the logic model:

\[ \xi_1 \rightarrow \eta_1 \rightarrow \eta_2 \rightarrow \eta_3 \rightarrow \eta_4 \rightarrow \eta_5. \]

In equations (sequential paths only):

\[ \begin{aligned} \eta_1 \;&=\; \gamma_{11}\xi_1 + \zeta_1, \\ \eta_2 \;&=\; \beta_{21}\eta_1 + \zeta_2, \\ \eta_3 \;&=\; \beta_{32}\eta_2 + \zeta_3, \\ \eta_4 \;&=\; \beta_{43}\eta_3 + \zeta_4, \\ \eta_5 \;&=\; \beta_{54}\eta_4 + \zeta_5. \end{aligned} \]

In matrix form, letting

\[ \eta = (\eta_1,\eta_2,\eta_3,\eta_4,\eta_5)^\prime,\quad \xi = (\xi_1)^\prime, \]

the model can be written as:

\[ \eta = B\eta + \Gamma\xi + \zeta, \]

with

\[ B= \begin{pmatrix} 0 & 0 & 0 & 0 & 0\\ \beta_{21} & 0 & 0 & 0 & 0\\ 0 & \beta_{32} & 0 & 0 & 0\\ 0 & 0 & \beta_{43} & 0 & 0\\ 0 & 0 & 0 & \beta_{54} & 0 \end{pmatrix}, \quad \Gamma= \begin{pmatrix} \gamma_{11}\\ 0\\ 0\\ 0\\ 0 \end{pmatrix}. \]

4.2 Why start with a parsimonious model? (Theoretical parsimony)

In SEM, adding every possible path “just in case” can make the model unnecessarily complex. When the model becomes too complex relative to the sample size, it may lead to:

  • loss of degrees of freedom,

  • unstable estimation, and

  • potential identification problems.

Therefore, a recommended strategy is to first fit a baseline SEM that reflects the core theoretical assumption of the logic model (the sequential stage-to-stage causality), and then consider adding additional paths only when there is strong theoretical and empirical justification.

With sequential paths only, it is easier to interpret mediation because direct and indirect effects are less entangled.

For example, the sequential-only model allows you to test the mediated pathway step by step, such as:

\[ \xi_1 \rightarrow \eta_3 \rightarrow \eta_4 \rightarrow \eta_5, \]

and later examine whether adding an extra direct path (e.g., \(\xi_1 \rightarrow \eta_4\)) is theoretically meaningful and empirically supported.

4.3 A standard stepwise modeling strategy

A common approach is:

  • Model 1 (baseline): test the sequential logic-model paths only.

  • Model 2 (expanded): add one theoretically motivated additional path at a time, and evaluate improvement in fit and statistical significance.

This stepwise strategy helps prevent overfitting and supports a more defensible final model by keeping only the “truly important” paths.


III. Answer

0. Addressing small within-library sample sizes (\(n_k<30\)) in library-level SEM

If you aggregate user surveys into simple library-level means and treat those means as observed indicators, libraries with small \(n_k\) can have large measurement error in those means. This can bias or destabilize the SEM measurement model. However, the issue can be mitigated while keeping those libraries in the analysis by using the following approach.

1. Multilevel SEM using individual responses (no aggregation)

Idea: Do not aggregate survey responses. Instead, model users at Level-1 and libraries at Level-2. This naturally yields partial pooling, which stabilizes estimation even when some libraries have small \(n_k\).

Advantages:

  • Even libraries with small \(n_k\) benefit from information sharing (partial pooling), improving stability.

  • Separates within-library (individual) variation from between-library variation.

  • Possible tools: Mplus (Multilevel SEM), and multilevel / complex-sample approaches in R (e.g., lavaan.survey with survey), depending on design and feasibility.

2. Multilevel SEM formulation for this consultation

Index libraries by \(k=1,\ldots,K\), individuals within library \(k\) by \(i=1,\ldots,n_k\), and (outcome) survey items or indicators by \(j\).

2.1 Level-1 (individual level): outcomes-only measurement

At the individual level, the dataset contains only outcome-related survey responses. Inputs / Activities / Outputs are library-level administrative variables, so they do not appear in Level-1.

A simple random-intercept-only specification is:

\[ \begin{aligned} y_{kij} \;&=\; \pi_{0kj} + \epsilon_{kij}, \\ \epsilon_{kij} \;&\sim\; N(0,\sigma_{\epsilon j}^2). \end{aligned} \]

  • \(y_{kij}\): response of individual \(i\) in library \(k\) to outcome indicator/item \(j\)

  • \(\pi_{0kj}\): library-specific mean (random intercept) for item \(j\)

  • \(\epsilon_{kij}\): within-library individual-level deviation (treated as Level-1 error)

In this setup, small \(n_k\) is not automatically fatal because the multilevel model yields partial pooling at Level-2.

2.2 Level-2 (library level): measurement model including exogenous Inputs

At Level-2, both exogenous latent variables (\(\xi\)) and endogenous latent variables (\(\eta\)) are modeled.

(A) Exogenous latent variable (Inputs) measurement model

Let \(x_{k\ell}\) denote library-level administrative indicators (e.g., budget, staff size, collection size). Then:

\[ x_{k\ell} = \lambda_{x\ell}\,\xi_k + \delta_{k\ell},\quad \delta_{k\ell}\sim N(0,\theta_{x\ell}). \]

  • \(\xi_k\): latent Inputs for library \(k\)

  • \(x_{k\ell}\): administrative indicator \(\ell\) for library \(k\)

  • \(\delta_{k\ell}\): measurement error at the library level

This component is essential because Inputs are library-level and should enter the SEM as a Level-2 latent construct.

(B) Endogenous latent variables (Activities through Outcomes) measurement model

Use the Level-1 random intercepts \(\pi_{0kj}\) (library-level item means) as the measurement layer for library-level latent constructs:

\[ \pi_{0kj} = \tau_j + \lambda_{yj}\,\eta_{kj} + \epsilon_{kj},\quad \epsilon_{kj}\sim N(0,\theta_{yj}). \]

  • \(\eta_{kj}\): library-level latent variable for stage \(j\) (Activities, Outputs, Short-term, Intermediate, Long-term)

  • \(\epsilon_{kj}\): library-level measurement error, distinct from Level-1 individual error \(\epsilon_{kij}\)

2.3 Level-2 structural model (logic-model causal paths)

The logic-model causal chain is modeled at Level-2. A comprehensive version can allow sequential effects plus selected direct paths:

\[ \begin{aligned} \eta_{k1} \;&=\; \gamma_{11}\,\xi_k + \zeta_{k1}, \\ \eta_{k2} \;&=\; \beta_{21}\,\eta_{k1} + \gamma_{21}\,\xi_k + \zeta_{k2}, \\ \eta_{k3} \;&=\; \beta_{32}\,\eta_{k2} + \beta_{31}\,\eta_{k1} + \gamma_{31}\,\xi_k + \zeta_{k3}, \\ \eta_{k4} \;&=\; \beta_{43}\,\eta_{k3} + \beta_{42}\,\eta_{k2} + \gamma_{41}\,\xi_k + \zeta_{k4}, \\ \eta_{k5} \;&=\; \beta_{54}\,\eta_{k4} + \beta_{53}\,\eta_{k3} + \gamma_{51}\,\xi_k + \zeta_{k5}. \end{aligned} \]

  • \(\xi_k\): Inputs (exogenous latent variable)

  • \(\eta_{k1},\ldots,\eta_{k5}\): Activities \(\rightarrow\) Outputs \(\rightarrow\) Outcomes (endogenous latent variables)

  • \(\zeta_{kj}\): library-level structural disturbances (residuals)

3. Why this is a multilevel SEM (and why it helps when \(n_k<30\))

  • Level-1: absorbs individual survey noise and separates within-library variability

  • Level-2: estimates library-level latent constructs and the causal logic-model pathway

  • Inputs measurement: models library administrative indicators as an exogenous latent factor

  • Outcomes measurement: accounts for measurement error in library-level outcome constructs without naïvely treating small-\(n_k\) means as error-free

4. Conclusion (for consultation response)

A multilevel SEM can be applied by modeling individual survey responses at Level-1 and libraries at Level-2. This approach allows stable estimation of library-level latent constructs even when some libraries have fewer than 30 respondents, because the model separates individual-level variability and uses partial pooling at the library level. Moreover, library-level Inputs can be incorporated as an exogenous latent variable via administrative indicators, enabling a theoretically consistent test of the logic-model causal pathway without dropping a large portion of libraries.