Research & Methodology

How VPA peer norms are computed

Every percentile shown on a Visual Processing Assessment (VPA) result comes from a live, transparent norming pool. This page documents exactly how those numbers are built — what's included, what's excluded, and the statistical choices behind them.

Live reliability study

Loading reliability snapshot…

Statistical approach

VPL scores are ordinal (1–5), not continuous. Reporting means, standard deviations, or z-scores on ordinal data creates a false sense of precision that would inflate small differences and understate uncertainty. We use methods appropriate for ordinal ranking data:

  • Empirical CDF with mid-rank ties. A student's percentile is the proportion of peers scoring below their VPL, plus half the proportion scoring exactly their VPL. This is the standard, unbiased treatment for tied ordinal data.
  • Wilson score 95% confidence intervals on the underlying proportion. When a sample is small, we show the interval rather than a false-precision point estimate.
  • No cross-protocol pooling. Norms are stratified by protocol_version. When the assessment changes, old norms are retired — not silently mixed with new data.

Inclusion & exclusion rules

Every submission in the norming pool must meet all of the following:

  • Complete per-skill VPL scoring (partial assessments are excluded).
  • Age band is recorded (so peer matching is possible).
  • Submitted by a non-admin account (test data from developer/admin accounts is excluded).
  • At most one submission per student per protocol version — the most recent is kept, so a student reassessed six weeks later doesn't double-count.

Anonymous submissions (no linked student record) each count once. Grade and setting are used for finer peer-matching only when the finer cell independently clears the sample-size gate.

Sample-size gates

No percentile is displayed until a peer cell reaches n = 30. Below that, the results screen shows a "Building norms" progress line — the running count out of 30. Between 30 and 100, results are labeled "small sample" and the 95% CI is displayed alongside the point estimate.

This is deliberate. Reporting a "62nd percentile" based on 8 comparisons is worse than reporting nothing at all — it launders noise as authority.

Refresh cadence & reproducibility

Norms recompute nightly from the raw vpa_submissions table via a deterministic SQL aggregation function (refresh_vpa_norms). The function is idempotent — running it twice produces the same table. The refresh timestamp appears on every peer-comparison panel.

How to cite

Visual Minds Learning. (2026). Visual Processing Assessment (VPA): Live peer norms and methodology. Retrieved from https://visualmindslearning.com/research

Questions about methodology? We welcome academic collaboration and independent review — contact us through the site.