Methodology
All analysis is performed by the Children's Media Analysis Toolkit (CMAT), an open-source Python application. Every result in this index is reproducible from the source video files using the parameters documented here.
Sampling protocol
The following parameters are held constant across all shows to ensure cross-show comparability:
| Frame sample rate | 2 fps |
| Sensory load preset | General / All Ages |
| Flashing threshold | 0.1 (luminance delta, 0–1 scale) |
| Episode sample seed | 42 |
For shows with fewer than 15 episodes, all episodes are analyzed. For shows with 15–60 episodes, a spread sample of 10 is drawn. For shows with more than 60 episodes, a spread sample of 20 is drawn. "Spread" sampling selects episodes evenly distributed across the show's full run using CMAT's Episode Sampler.
For long-running shows (20+ years or a significant production format change), the show is divided into named eras and each era is sampled independently.
Metric definitions
| Metric | Method | Unit |
|---|---|---|
| Scene pacing | PySceneDetect content detection → cuts per minute | cuts / min |
| Color saturation | Mean HSV S-channel across sampled frames | 0–1 |
| Color contrast | Mean per-frame standard deviation of HSV V-channel | 0–1 |
| Motion | Normalized mean absolute frame difference between consecutive samples | 0–1 (approx) |
| Flashing | Whole-frame mean luminance change events exceeding threshold between sampled frames | events / min |
| Audio loudness | FFmpeg RMS loudness across audio track | 0–1 (normalized) |
| Sensory load score | Weighted composite of normalized sub-metrics using fixed reference ranges | 0–1 |
Sensory load composite
The sensory load score is a weighted sum of normalized sub-metrics. Normalization uses fixed reference ranges — not per-corpus normalization — so scores remain comparable across separate analysis runs and future additions to the index. The "General / All Ages" preset weights are used for all index entries. Full weight and normalization configurations are available in the CMAT repository.
Flashing detection note
The flashing metric measures whole-frame mean luminance change between sampled frames at 2 fps, with a detection ceiling of 1 transition per second. The medically relevant range for photosensitive epilepsy screening is 3–50 Hz. This metric is not a photosensitive epilepsy screen. A score of zero does not indicate safety; a non-zero score indicates detectable whole-frame brightness transitions useful for relative comparison across shows.
Research grounding
This index measures formal features of video (Huston & Wright framework) — content-independent structural attributes that trigger the orienting response (Lang, LC4MP).
- Huston & Wright — formal features framework
- Lang — Limited Capacity Model of Mediated Message Processing (LC4MP)
- Lillard & Peterson (2011), Pediatrics — pacing and executive function in 4-year-olds
- Lillard et al. (2015) — fantastical content as a possible moderator
- Christakis et al. (2004), Pediatrics — early TV exposure and attention (correlational)
- Itti & Koch — bottom-up visual saliency and motion
All findings are correlational. This tool measures the stimulus, not the viewer. Age, temperament, sensory-processing profile, and viewing dose are not captured.