Software comparisons and independent calculations

GSCA: compare results with independent calculations

Compare generalized structured component analysis (GSCA) paths, loadings and weights with cSEM and independent mathematical calculations. Each reflective, mixed-measurement, higher-order or joint-relationship model is assessed against its matching reference.

Reviewed 4 November 2026
Results differRead the software comparison and the separate mathematical checks

What the comparison shows

The ordinary reflective comparison and the independent mathematical checks meet their stated rules. The mixed-model difference from cSEM remains visible. Higher-order and joint-relationship tests support the fitted estimates under their stated definitions, not every bootstrap procedure or every GSCA model.

Match the mathematical problem before comparing the numbers

GSCA chooses estimates by minimising an objective, a numerical measure of model mismatch. The comparison must use the same objective, parameter restrictions and normalisation, the rule that fixes the scale of scores or weights. Otherwise, apparently similar output labels may describe different calculations.

A reflective block treats indicators as measures of a construct. A formative block uses indicators to form a composite. The ordinary reflective example and the model combining both block types are separate comparisons; agreement in one does not resolve a difference in the other.

Which software produced these results?

The table separates the installed reflective example, the older mixed-model cSEM comparison, the later mathematical check and the higher-order/joint tests. SLSQP is an independent numerical solver used for the stated constrained problem. Each row retains the version that produced its results.

On a small screen, swipe the table sideways to see every column.

RecordQuickPLS build or result checkedReferenceComparison outcome
Installed reflective GSCA1.01.19cSEM 0.6.1, SLSQPPassed the comparisons documented for this record
Mixed-block GSCA/cSEM non-equivalenceSaved 1.1.3 outputscSEM 0.6.1The recorded numerical difference means equivalence was not established
Mathematical checks for GSCA models with mixed measurement blocks1.01.20 correction sourceSee which mathematical and app-workflow checks were performedPassed the comparisons documented for this record
HOC/joint GSCA point references1.01.19NumPy/SciPy constrained SLSQPPassed the comparisons documented for this record

An ordinary reflective model in the installed app

One ordinary reflective model was compared after accounting for the number of decimal places in the exported results. The recorded values agree at that precision. The zero difference in the summary therefore describes the compared exports, not proof that all underlying decimal digits are identical.

  • This reflective-model result does not resolve the cSEM difference for models with mixed measurement blocks.
  • The test checks fitted estimates. It does not test confidence intervals, p-values or other statistical inference.
What was checkedValue / scope
Compared numbers and missing-value statuses57
Outside the stated tolerance0
Different scenario names in the comparison record1
Largest absolute difference0

Inspect the matching reflective-model outputs

The first rows are paths between constructs; the following rows are indicator loadings. Read the sign as well as the value. The negative path remains negative in both calculations.

The table displays up to 15 significant digits, but these compared exports contain fewer decimal places. Displaying them here adds no new precision. The zero differences reflect the aligned export precision; the download records how that comparison was made.

On a small screen, swipe the table sideways to see every column.

Quantity comparedQuickPLSReferenceAbsolute differenceComparison result
GSCA path coefficient (result row 1)
Result identifiergsca_paths/0
0.6137730.6137730Pass
GSCA path coefficient (result row 2)
Result identifiergsca_paths/1
-0.40406-0.404060Pass
GSCA path coefficient (result row 3)
Result identifiergsca_paths/2
0.3605380.3605380Pass
GSCA loading (result row 1)
Result identifiergsca_loadings/0
0.7479640.7479640Pass
GSCA loading (result row 2)
Result identifiergsca_loadings/1
0.7899890.7899890Pass
GSCA loading (result row 3)
Result identifiergsca_loadings/2
0.819930.819930Pass

The mixed-measurement comparison differs from cSEM

The comparison fits 141 models in cSEM and compares them with saved QuickPLS results for mixed formative and reflective blocks. The differences are part of the result and remain in the table.

  • The results include 2169 values outside their allowed difference limits.
  • Later mathematical checks use two data samples and support the tested QuickPLS solution. They do not show that it equals cSEM.
What was checkedValue / scope
Compared numbers and missing-value statuses4567
Outside the stated tolerance2169
Different scenario names in the comparison record142
Largest absolute difference0.014037784921628

Inspect the differences as well as the passing rows

Rows marked Difference exceed the numerical allowance for that output. The first five examples do so, while the final example passes. Read the decision with the absolute difference; a small-looking number can still exceed the rule chosen for that comparison.

Values are displayed to 15 significant digits, and differences use the numbers before this display rounding. The download keeps the recorded precision and comparison definitions. These rows must remain part of any description of the mixed-model cSEM comparison.

On a small screen, swipe the table sideways to see every column.

Quantity comparedQuickPLSReferenceAbsolute differenceComparison result
Estimate (result row 1)
Result identifierestimates/0
0.9657320612541820.9658771522124880.000145090958306393Difference
Estimate (result row 2)
Result identifierestimates/1
0.3949528841225240.3946993739301320.000253510192391615Difference
Estimate (result row 3)
Result identifierestimates/2
-0.363584755604406-0.3634751902961640.000109565308242132Difference
Estimate (result row 4)
Result identifierestimates/3
0.4769479294918470.4714581318461670.00548979764568008Difference
Estimate (result row 5)
Result identifierestimates/4
0.5254411250005730.5309280881162410.00548696311566832Difference
Estimate (result row 6)
Result identifierestimates/5
0.9973603961425980.9973629017689112.50562631309847e-06Pass

Check the mixed-model solution by separate calculations

The original data and the sample named omitted50 were checked using SLSQP, a numerical solver that respects parameter restrictions, and a generalised-eigenvalue calculation, a separate matrix-based approach. These calculations test the specified mathematical problem. They are not new cSEM results.

The earlier cSEM difference remains documented. The table also identifies unmatched numeric or missing-result entries, so readers can distinguish the checked outputs from those without a matching reference.

  • The mathematical checks do not replace the original comparison or remove its differences from cSEM.
  • Two calculations on the same samples are not two independent datasets.
  • The repeat check does not cover other model structures, all remaining leave-one-out samples, bootstrap procedures or the installed app.
  • Use the mathematical-reference version in the software table when describing this result.
  • The counts describe values and output checks from these analyses, not independent studies.
What was checkedValue / scope
Values checked1491
Failures0
Mismatched missing results0
Largest absolute difference6.587667526480878e-07
Largest relative difference1.1782347942560861e-05
Output-structure checks201
Output-structure mismatches0
Unmatched numbers or missing results8

Inspect weights and loadings against the mathematical reference

Each indicator has a loading and a weight. The loading describes its relationship with the score, while the weight describes its contribution to forming that score. The negative weight in the final example is preserved in both calculations.

These references come from the independent mathematical checks, not from the cSEM comparison above. Values are shown to 15 significant digits; differences use the numbers before display rounding. The download records the full saved precision and definitions.

On a small screen, swipe the table sideways to see every column.

Quantity comparedQuickPLSReferenceAbsolute differenceComparison result
Outer loading (indicator row 1)
Result identifierouter_estimates/0/loading
0.9974132300077120.9974132300097372.02571293073106e-12Pass
Outer weight (indicator row 1)
Result identifierouter_estimates/0/weight
0.9745200487165610.9745200488174821.00921271339871e-10Pass
Outer loading (indicator row 2)
Result identifierouter_estimates/1/loading
0.9933983704744610.9933983704727021.75881531561117e-12Pass
Outer weight (indicator row 2)
Result identifierouter_estimates/1/weight
0.3886786522317660.3886786520324061.99360472574739e-10Pass
Outer loading (indicator row 3)
Result identifierouter_estimates/2/loading
0.9780999312817290.9780999312852543.5242919693701e-12Pass
Outer weight (indicator row 3)
Result identifierouter_estimates/2/weight
-0.366130205932664-0.3661302058330999.95645232926279e-11Pass

Check higher-order and joint-relationship estimates

A higher-order construct (HOC) combines lower-order constructs into a broader construct. The joint-relationship test fits the linked relationships specified in its model. These estimates were checked against independent calculations of the same constrained optimisation problem, meaning the same objective and restrictions on the estimates.

  • These checks concern fitted estimates under the specified model definitions. They do not establish agreement for every GSCA option or test confidence intervals and other inference.
  • The combined 4834 checks for ordinary, HOC and joint models include the ordinary-model checks already shown above. Count that combined total only once.
What was checkedValue / scope
Compared numbers and missing-value statuses4777
Outside the stated tolerance0
Different scenario names in the comparison record2
Largest absolute difference2.47769908812145e-07

Inspect the higher-order estimates

These example rows come from the second-stage higher-order estimates. Each QuickPLS value is compared with the independently calculated estimate for the same output. Small differences are assessed using that output’s stated error limit.

Values are shown to 15 significant digits. The differences were calculated before this display rounding, and the download preserves the recorded precision and reference definitions. These are estimates, not bootstrap interval comparisons.

On a small screen, swipe the table sideways to see every column.

Quantity comparedQuickPLSReferenceAbsolute differenceComparison result
Higher-order GSCA second-stage estimate (row 1)
Result identifiergsca_hoc_second_estimates_v1/0/estimate
0.2230807682638650.2230807518791331.63847314604837e-08Pass
Higher-order GSCA second-stage estimate (row 2)
Result identifiergsca_hoc_second_estimates_v1/1/estimate
0.2138754411751810.2138754524043261.12291448084445e-08Pass
Higher-order GSCA second-stage estimate (row 3)
Result identifiergsca_hoc_second_estimates_v1/2/estimate
0.1902612972172160.1902612765321062.06851097084293e-08Pass
Higher-order GSCA second-stage estimate (row 4)
Result identifiergsca_hoc_second_estimates_v1/3/estimate
0.2499006901817140.2499006899502772.31436286801667e-10Pass
Higher-order GSCA second-stage estimate (row 5)
Result identifiergsca_hoc_second_estimates_v1/4/estimate
0.2358914941156180.2358914979207723.80515360887124e-09Pass
Higher-order GSCA second-stage estimate (row 6)
Result identifiergsca_hoc_second_estimates_v1/5/estimate
0.1939652353797950.1939652549384281.95586330464792e-08Pass

Error limits for the reflective-model comparison

These limits apply after aligning the exported results to the same decimal precision. A pass supports the compared values of this reflective model, rather than every unrounded GSCA calculation.

abs(native - aligned_reference) <= absolute_tolerance + relative_tolerance * abs(aligned_reference)

In this formula, native is the QuickPLS value and aligned_reference is the reference value expressed using the same definition. abs means absolute value, so the sign does not affect the size of the difference. Absolute tolerance is a fixed allowance. Relative tolerance adds an allowance that grows with the size of the reference value. A separate check verifies whether a result is available or missing where expected; it does not estimate another effect.

On a small screen, swipe the table sideways to see every column.

Absolute toleranceRelative toleranceNumeric or missing-value checksWhere the comparison rule was specified
1e-051e-0556Specified separately for each compared value
1e-071e-071Specified separately for each compared value

Error limits used to identify the cSEM differences

These are the original rules for the mixed-model cSEM comparison. Values outside them remain marked as differences. The later mathematical checks use their own rules and do not change these decisions.

abs(native - aligned_reference) <= absolute_tolerance + relative_tolerance * abs(aligned_reference)

Use the same fixed-plus-proportional rule explained above, with the limits in this table. Missing-result checks still ask whether the output is unavailable in the expected places.

On a small screen, swipe the table sideways to see every column.

Absolute toleranceRelative toleranceNumeric or missing-value checksWhere the comparison rule was specified
1e-051e-053800Specified separately for each compared value
1e-071e-07451Specified separately for each compared value
00296Specified separately for each compared value
1e-081e-0820Specified separately for each compared value

Error limits for the independent mathematical checks

The limits below apply to the checked mathematical-reference outputs. They support those comparisons only. Entries without a matching reference remain outside this numerical check.

abs(native - aligned_reference) <= absolute_tolerance + relative_tolerance * abs(aligned_reference)

Use the same fixed-plus-proportional rule explained above, with the limits in this table. Missing-result checks still ask whether the output is unavailable in the expected places.

On a small screen, swipe the table sideways to see every column.

Absolute toleranceRelative toleranceNumeric or missing-value checksWhere the comparison rule was specified
1e-051e-051292Specified separately for each compared value
1e-081e-0840Specified separately for each compared value
00155Specified separately for each compared value
1e-071e-074Specified separately for each compared value

Error limits for higher-order and joint models

These limits apply to the stated higher-order and joint-relationship estimates. The table includes exact checks as well as checks that allow a small numerical difference. It does not describe a bootstrap comparison.

abs(native - aligned_reference) <= absolute_tolerance + relative_tolerance * abs(aligned_reference)

Use the same fixed-plus-proportional rule explained above, with the limits in this table. Missing-result checks still ask whether the output is unavailable in the expected places.

On a small screen, swipe the table sideways to see every column.

Absolute toleranceRelative toleranceNumeric or missing-value checksWhere the comparison rule was specified
1e-051e-053527Specified separately for each compared value
001241Specified separately for each compared value
1e-081e-086Specified separately for each compared value
1e-071e-073Specified separately for each compared value

What these checks tell you

Read each reference on its own terms. Agreement with cSEM for the reflective example, differences from cSEM for the mixed example, and agreement with separate mathematical calculations are three distinct findings.

The comparison rules define how numerical agreement is judged. They do not decide whether a research model is appropriate. Counts and unavailable outputs are checked separately, and repeated values from one analysis are not independent studies.

  • The reflective-model comparison uses the reported export precision.
  • The mixed-model cSEM comparison retains its differences.
  • The independent mathematical checks support the specified problem on the tested samples, while keeping the unmatched entries visible.
  • The higher-order and joint-model checks concern fitted estimates. The combined count must not duplicate the ordinary-model checks.

Inspect the comparison files

Start with the JSON report to identify which reference belongs to each comparison. Then use the CSV to inspect the recorded values and differences, including the cSEM mismatches.

Repeating a test requires its original input, model restrictions, settings and software versions. These downloads report completed comparisons and do not include the original datasets or application source code.

Download the comparison results

See the values we checked, the differences we found and the software versions used. The download also identifies the original test files.

About these tests

These are QuickPLS development comparisons. Each record identifies the reference software or mathematical calculation, the tested build and the settings used.

How to understand these comparisons · Find checks for another method