SHUR IQ / Lyapunov Stability Layer / Research Brief / May 2026
Viz Hub →
V
Research Brief — Lyapunov Stability Layer v0.2 — May 1, 2026

Brand scores are state variables. The new layer asks whether the trajectory is stable.

A control-theoretic stability layer was applied to eight weeks of real ShurIQ panel data covering 21 micro-drama brands. The pipeline reproduces its synthetic baseline within 0.003 on real data, recovers two basins of attraction the single-fit reading misses, and reranks the W17 board on stability rather than composite alone. ShurAI publishes the layer as a complement to the existing composite score — not a replacement.

0.714
Real-data validation — within 0.003 of synthetic baseline
2
Basins recovered by per-cluster fit (16 + 5 brands)
3
Brands flagged structurally unstable inside the active basin
Capital-efficiency spread on a single intervention across the V gradient
The frame shift

Composite scores describe where a brand sits this week. The Lyapunov layer describes whether the position is stable — whether the brand is inside a basin of attraction, and if it falls, whether it will revert. Three of the top ten W17 brands carry composites above 60 with V values that put them outside their basin radius. The score is not the system.

What the layer does

A dynamics question, layered on top of the measurement question

The existing ShurIQ pipeline answers a measurement question: which weighting of signals best fits the observed score. The Lyapunov layer answers a different question. It treats each brand's five-dimensional score vector — content strength, narrative ownership, distribution power, community strength, monetization infrastructure — as a state vector in a dynamical system, fits a candidate Lyapunov function V(x) from panel data, and asks whether the brand's trajectory has a stable equilibrium and whether the brand is currently inside the basin of attraction.

Where composite scores read the brand's altitude, the Lyapunov layer reads the slope of the terrain underneath it. A high score that sits on a steep V gradient is structurally fragile. A modest score that sits in a deep basin will revert from a shock. Both readings are produced from the same panel.

“Your score dropped because you're outside the stable basin and need structural intervention” is a different finding from “your score dropped due to a transient disturbance and will revert.” The composite cannot distinguish them. V can.

The smoke test, then the real run

Pipeline behavior preserved across synthetic and real panels

The pipeline was first run on three synthetic panels designed as positive and negative controls. A stable-equilibrium industry produced a quadratic-SDP fit with validation 0.717. A Lorenz-driven chaotic industry was correctly rejected at 0.512. A bistable two-attractor industry was rejected at 0.626 — the expected result for a single V trying to model two basins. Discrimination was confirmed before the real run.

On real W10–W17 panel data covering 21 micro-drama brands, the same pipeline produced validation 0.714 — within 0.003 of the synthetic baseline. Chaotic and bistable comparators on adjacent verticals (viral short-form, subscription streaming) re-rejected at 0.516 and 0.622 respectively. The pipeline transfers; behavior is preserved.

Why this matters operationally

A null result — the layer reporting no stable function found for an industry — is itself a saleable insight. It tells the client that steady-state thinking will mislead in this regime, and that score-based targets should not be used as planning anchors. The chaotic-rejection signal is a deliverable, not a failure mode.

The structural finding: micro-drama is bimodal

Single-V fit at 0.714 hides two basins; clustered fit pushes coverage to 0.923

A single Lyapunov function assumes one basin. When a vertical hosts two regimes — leaders converging to one steady state, laggards drifting toward another — a single-V fit reports a depressed validation score that under-states the actual structure. K-means on last-quarter mean position, then quadratic SDP per cluster, recovers the basins.

The 21-brand micro-drama panel splits cleanly into a 16-brand active-competitor basin centered on [60.8, 59.1, 73.1, 57.0, 66.3] with cluster validation 0.895, and a 5-brand laggard basin centered on [27.7, 25.6, 28.5, 24.6, 16.5] with cluster validation 1.000. The laggard cohort: verza-tv, rtp, klip, both-worlds-freeli, mansa. Best-cluster decay fraction rises from 0.714 to 0.923.

This is not a fitting artifact. It is the pipeline detecting the polarization that micro-drama analysts describe qualitatively — a tight pack of pure-play competitors and a long tail of subscale or exiting platforms — and quantifying it as basin geometry.

↑1
ReelShort overtakes DramaBox on stability tiebreak
Both brands carry composite 83.5. ReelShort sits at V 1.97, inside basin radius 4.41. DramaBox at V 2.48 is marginal. When composites tie, the Lyapunov-adjusted ranking promotes the structurally tighter brand.

Where the new ranking departs from the composite

Three brands inside the active-competitor cluster sit outside the basin radius

Composite-only ranking puts DramaBox first and ReelShort second by 0.05 of a point. The Lyapunov-adjusted ranking flips them on stability, with ReelShort's lower V breaking the tie. The more consequential moves happen lower in the table.

Disney holds composite rank 3 at 78.0 with V 6.49 — outside basin radius 4.41 and classified unstable on the single-V reading. Netflix drops two ranks (7→9) with composite 62.9 and V 4.49. Google/100Zeros drops four ranks (9→13) with composite 61.4 and V 10.13 — the worst structural fragility on the board. All three carry above-mean composites, and all three sit outside the active-competitor basin. Their scores are observations of a position the dynamics do not currently support.

In the other direction, GoodShort climbs two ranks (10→8) with V 0.40 — the tightest grip on equilibrium in the active basin. CandyJar, Amazon, ShortMax, ViU, and Lifetime A&E each move up one rank on the same logic.

Capital efficiency: the V gradient as a budget multiplier

Same intervention, different brands, 7× spread in $ per unit of V reduction

Once V is fit, every candidate intervention has a Lyapunov-implied capital efficiency: −ΔV / cost-in-millions. Higher is better — a positive value means the intervention pulls the brand toward equilibrium per dollar spent. The interesting structure is what happens when the same intervention is applied across different starting positions.

shortmax sits near equilibrium at V 0.33. Its top-ranked intervention — a lean brand refresh at $0.35M — produces ΔV of −0.081, capital efficiency 0.233. lifetime-ae is marginal at V 2.44. A community / fandom program at $1.20M produces ΔV of −0.896, capital efficiency 0.747. google-100zeros is far from basin at V 10.13. The same community / fandom program at the same $1.20M produces ΔV of −2.033, capital efficiency 1.694 — roughly 7× the per-dollar V reduction of the near-basin brand.

Brands far from equilibrium see larger absolute ΔV from the same dollar. The V gradient formalizes the practitioner's intuition that struggling brands have more to gain from focused intervention — and gives a concrete ranking when several interventions are on the table.

This is the foundation for a control-Lyapunov-function (CLF) layer in the next sprint: turn discrete intervention scoring into an LP/QP optimization that picks the Δx maximizing −ΔV subject to a budget constraint. The current calculator scores ten archetypal interventions; the CLF layer would score the continuous space.

What this is and is not

Honest scope notes

The fitted V is empirical, not formally proven. Real SOS verification requires polynomial dynamics; the candidate function here is a learned object that satisfies decay on observed trajectories. It is useful, not bulletproof. Industry parameters are treated as fixed during the fit, so the layer must be re-run periodically against the rolling panel.

A brand inside the basin is associated with future stability; the framework does not by itself prove that a given intervention will land the brand inside the basin. CLF-based recommendations are the next step in closing that gap. Causal validation against forward-looking outcomes belongs to a separate workstream.

The layer is not a replacement for the composite score. It is a complement — a structural reading that runs alongside the measurement reading and tells the client which composite values to trust as steady-state targets and which to treat as transient.

Ω
Concept — Lyapunov stability for brand intelligence

What V means, what a basin of attraction means, why it matters here.

A short reference for the regulatory-grade reader. The math is canonical control-theory; what's new is applying it to brand state vectors fit from panel data.

The state vector

Five SBPI dimensions treated as coordinates in R⁵

Each brand's position is a five-dimensional vector x ∈ R⁵:

x₁ = content strength
x₂ = narrative ownership
x₃ = distribution power
x₄ = community strength
x₅ = monetization infrastructure

The position evolves week over week as a function of the brand's process portfolio (content cadence, distribution mix, capital allocation), exogenous noise (competitor moves, platform changes, cultural events), and industry parameters (saturation, audience growth, capital intensity). Formally: xₜ₊₁ = f(xₜ, uₜ, wₜ; θ_I).

The Lyapunov function

A scalar field that decreases along stable trajectories

A Lyapunov function is a scalar map V: R⁵ → R≥0 with three properties:

1. V(x*) = 0 — zero at the equilibrium
2. V(x) > 0 elsewhere — positive everywhere else
3. V̇(x) ≤ 0 along observed trajectories — non-increasing in expectation

If such a V exists and is verified, you have provable convergence to x* from any state inside the sublevel set Ω = {x : V(x) ≤ c} for the largest c where decay holds. Ω is the basin of attraction: the set of starting positions from which the system reverts to x*.

V landscape with brand sliding to equilibrium x*
Animated: V landscape with a brand-state sliding down to the equilibrium x*. The basin is the region from which the trajectory descends.
Plain reading

Picture the state space as a landscape. V(x) is the altitude function. The equilibrium x* is the bottom of a valley. The basin Ω is the rim of that valley — everything inside rolls down to x*; everything outside doesn't necessarily.

A brand “inside the basin” is in a position where the dynamics pull it back toward equilibrium under disturbance. A brand “outside the basin” is in a position the dynamics do not pull it back from.

Three function classes the pipeline tries

In order of restrictiveness; first one that validates wins
Method 1 / accepted on real data
Quadratic — V(x) = (x−x*)ᵀ P (x−x*)

Captures unimodal ellipsoidal basins. Fits via semidefinite program (convex, fast). The P matrix is interpretable: its eigenstructure tells you which dimensions are most stability-critical. This is the workhorse fit and the one that accepted on the real micro-drama panel at validation 0.714.

Method 2 / fallback
SOS polynomial lift — V(x) = z(x)ᵀ Q z(x)

Captures non-quadratic but smooth basins by lifting x into a vector z of monomials. Still fits as a convex SDP on the lifted vector. Curse of dimensionality on the lifted size; harder to interpret. Tried second when quadratic decay holds but the basin geometry is non-elliptical.

Method 3 / heavy fallback
Neural Lyapunov — V(x) = ‖gθ(x−x*)‖² + ε‖x−x*‖²

Universal approximator. The squared-norm-of-MLP form guarantees V ≥ 0 and V(x*) = 0 by construction. Black box; needs more data; non-convex training. Reserved for highly non-convex basins where interpretability is secondary. Currently has a serialization bug (TorchScript-jit-scripted modules don't pickle through joblib) — logged as a deferred two-line fix.

Per-cluster extension
K-means cluster → quadratic SDP per cluster

For multi-modal industries, k-means on last-quarter mean position partitions the panel; one quadratic V is fit per cluster. Reports per-cluster validation and a best-cluster decay fraction (each holdout transition routed to its lowest-V cluster). Recovered the 16-brand and 5-brand basins on real micro-drama at 0.895 and 1.000.

Validation score

Combined metric: internal consistency + external predictivity

The acceptance metric is a 50/50 blend:

score = 0.5 × decay_fraction + 0.5 × recovery_AUC

where decay_fraction is the share of holdout transitions where V(xₜ₊₁) ≤ V(xₜ) (V actually decreases), and recovery_AUC is the AUC of using −V(xₜ) as a predictor of “brand recovers within 90 days.” A score ≥ 0.65 means V is both internally consistent (decreases along trajectories) and externally predictive (lower V correlates with recovery). Below 0.65 is a regime-mismatch signal — itself worth knowing.

Stability classes

How a brand's V reading is rendered as a discrete label

For each brand, three readings combine into a stability class: V vs. basin radius, V̇ estimate, and distance to x*.

stable — V below basin threshold, V̇ non-positive
marginal — V near threshold or V̇ ambiguous
unstable — V above basin threshold; brand sits outside the sublevel set

Of the 21 W17 micro-drama brands: 10 stable, 6 marginal, 5 unstable. Note that “unstable” under the single-V fit on cluster 0 is reread by the per-cluster fit — some laggard-cluster brands flagged unstable in the single-V reading are stable inside their own cluster's tighter basin. The W17 ranking surfaces both readings.

4
Findings — W17 real-data run

Four headline results from the overnight run on real ShurIQ panel data.

Each finding is reproducible from the artifacts in out/. Validation scores, basin geometries, and per-brand readings are written to disk and stable across reruns.

01
Reproduction
Real-data validation 0.714 — within 0.003 of the synthetic baseline.
The single-V quadratic SDP fit reaches 0.714 on the real micro-drama panel. The synthetic smoke-test baseline was 0.717. The pipeline is not memorizing synthetic structure; behavior transfers across data sources. Adjacent verticals (viral short-form, subscription streaming) re-reject at 0.516 / 0.622 as expected, confirming the rejection signal is preserved as well.
02
Bimodality
Real micro-drama is bimodal — per-cluster fit recovers two basins.
K-means clustering reveals a 16-brand active-competitor basin (per-cluster validation 0.895) and a 5-brand laggard basin (per-cluster validation 1.000). Best-cluster decay fraction rises from 0.714 to 0.923. Single-V fits will under-report basin geometry on this vertical going forward; per-cluster Lyapunov is the recommended default for the micro-drama publish.
03
Regime discrimination
Chaotic and bistable comparators correctly rejected.
Synthetic chaotic (Lorenz-driven) and synthetic bistable industries score 0.512 / 0.516 and 0.626 / 0.622 respectively — below the 0.65 acceptance threshold. Reporting no stable function found is itself a saleable insight: it tells the client that steady-state thinking will mislead and that score-based targets should not be used as planning anchors in that regime.
04
Capital efficiency
Same intervention, 7× spread in capital efficiency across the V gradient.
A community / fandom program at $1.20M produces capital efficiency 0.747 on lifetime-ae (V 2.44, marginal) and 1.694 on google-100zeros (V 10.13, far from basin) — the same dollar buys roughly 7× the V reduction at the far end. The ranking is sensitive to where each brand sits relative to x*, not just to absolute scores.
Real W10–W17 V trajectories animated
Animated: real W10–W17 micro-drama V trajectories. Green = inside basin, red = outside. Decay along observed transitions is the visual signature of the 0.714 validation score.

Reproducibility table

Synthetic-vs-real validation scores per industry
Industry Designed regime Synthetic baseline Real-data run Δ Outcome
micro_drama_streaming Stable equilibrium 0.717 0.714 −0.003 Accepted
viral_short_form Chaotic (Lorenz) 0.512 0.516 +0.004 Rejected (correct)
subscription_streaming Bistable 0.626 0.622 −0.004 Rejected (correct)

Real-data scores cluster within ±0.05 of the synthetic baseline across all three industries. The pipeline is not regime-shifted by the source change.

21 brands separating into two basins of attraction
Animated: the 21-brand panel resolving into a 16-brand active-competitor basin and a 5-brand laggard basin. The bimodality recovered by per-cluster fitting.

Per-cluster basin geometry

Real micro-drama, k=2
Cluster Label Brands Validation Equilibrium x* Basin radius
0 Active competitor 16 0.895 [60.8, 59.1, 73.1, 57.0, 66.3] 3.66
1 Laggard 5 1.000 [27.7, 25.6, 28.5, 24.6, 16.5] 1.00

The laggard cohort is verza-tv, rtp, klip, both-worlds-freeli, mansa. Cluster 1's perfect 1.000 validation reflects a small, tight cohort whose holdout transitions all decay; basin radius is correspondingly narrow. Cluster 0 is the operational basin for the rest of the panel.

Same intervention applied at three V positions
Animated: a single +6 community-strength intervention applied to brands at three V positions. Larger V gradient produces larger ΔV at fixed cost.

Capital-efficient interventions, three sample brands

Top-ranked recommendation per brand from specs/interventions.json
Brand V Position Top intervention ΔV Cost ($M) Capital efficiency
shortmax 0.33 Near equilibrium Lean brand refresh −0.081 0.35 0.233
lifetime-ae 2.44 Marginal Community / fandom program −0.896 1.20 0.747
google-100zeros 10.13 Far from basin Community / fandom program −2.033 1.20 1.694

Same intervention category at the same cost — community / fandom program at $1.20M — produces 7× the per-dollar V reduction on the far-from-basin brand vs. the marginal one. The V gradient is doing the work: brands far from x* have steeper local slopes, so a fixed Δx maps to a larger ΔV.

ISS / disturbance recovery

Random-direction shocks; mean-reversion forward simulation

For the accepted micro-drama V, random-direction shocks of magnitude ‖dx‖ ∈ {2, 5, 10} were injected at random periods and forward-simulated. Recovery is defined relative to pre-shock V, so transient noise is excluded. Median recovery for all three magnitudes was zero periods; max recovery was 1, 2, and 3 periods respectively. The basin is robust to small and medium shocks; even large shocks recover in ≤ 3 periods under modest mean-reversion stiffness. Comparator readings on chaotic / bistable industries use a fallback V whose absolute scale is not comparable, so they are presented as relative-shape signals only.

21
Stack Ranking — W17-2026, Lyapunov-adjusted

Composite vs. Lyapunov-adjusted ranking, with rank deltas and stability class.

Adjusted composite is the brand's composite minus a small penalty proportional to its V reading. Brands inside their basin are unaffected; brands outside their basin are demoted. Three rank flips are non-trivial: ReelShort ↑1, Netflix ↓2, Google/100Zeros ↓4.

Stack rank lines morphing from composite to Lyapunov-adjusted
Animated: 21 brand-rank lines morphing from composite ranking to Lyapunov-adjusted ranking. ReelShort, GoodShort, CandyJar climb; Netflix, Google/100Zeros, DramaBox descend on V.
Rank Brand Cluster Composite Adjusted V Stability In basin? Δ rank

Basin radius for the single-V fit is 4.41. In basin compares V to that radius. Stability class combines V vs. radius with V̇ estimate and distance to x*. Cluster 0 is the active-competitor basin (16 brands, equilibrium ~[61, 59, 73, 57, 66]); cluster 1 is the laggard basin (5 brands, equilibrium ~[28, 26, 28, 25, 16]).

Stability distribution

Single-V classification across the 21-brand panel
10
Stable — V below basin radius, V̇ non-positive
6
Marginal — V near threshold or V̇ ambiguous
5
Unstable — V above basin radius
f
Methods — technical summary

How V is fit, validated, and translated into a stack-ranking adjustment.

Compact reference for the regulatory-grade reader. All artifacts (joblib pickles, JSON outputs, parquet panels) are preserved in out/; the runner is scripts/run_experiments.py.

Pipeline at a glance

End-to-end overnight run, ~10 minutes total runtime
Step 1
Panel ingest

Real W10–W17 micro-drama panel: 21 brands × 8 weeks × 5 dimensions. Stored as parquet at out/panel.parquet. Synthetic comparator panels generated by synth_panel.py for chaotic and bistable regimes.

Step 2
V fit (3 methods, first valid wins)

Quadratic SDP → SOS polynomial lift → neural Lyapunov, in order. Each fit produces a candidate V, an estimated equilibrium x*, and a basin radius (largest c for which decay holds on the training set). Quadratic accepted on real micro-drama at 0.714.

Step 3
Per-cluster fit (k=2 default)

K-means on last-quarter mean position partitions the panel; one quadratic V is fit per cluster. Best-cluster decay fraction routes each holdout transition to its lowest-V cluster — proxy for combined-basin coverage.

Step 4
ISS probe

Random-direction shock injection (magnitude 2, 5, 10) at random periods, forward-simulated under mean-reversion stiffness 0.10. Recovery time = periods until V drops back below pre-shock level. 105–400 probes per industry per magnitude.

Step 5
Capital efficiency

Ten archetypal interventions in specs/interventions.json, each with delta_x vector and dollar cost. For a given brand state x: capital_efficiency(u) = −[V(x+Δx) − V(x)] / cost_M. Ranked per brand.

Step 6
Lyapunov-adjusted composite

Adjusted composite = composite − penalty proportional to V. Penalty is small inside the basin, larger outside. Drives the W17 rank deltas: ReelShort +1, Netflix −2, Google/100Zeros −4.

Acceptance threshold & max Lyapunov exponent

Two independent stability signals

A V fit is accepted when validation score ≥ 0.65. Below 0.65 is reported as “no stable V found” — itself a substantive finding, not a failure. The pipeline also estimates the max Lyapunov exponent (MLE) via Rosenstein nearest-neighbor divergence as a cross-check. MLE < 0 indicates trajectory convergence; MLE > 0 indicates chaos. On real micro-drama, the MLE estimate was 3.28 — positive, indicating local stretching, but the V fit still validates because the basin-recovery dynamic dominates the small-scale stretching at the panel timescale. Two independent readings of stability, neither dispositive on its own, both worth reporting.

Honest limitations

Carried verbatim from the theory notes

• The fitted V is empirical, not formally proven. Real SOS verification requires polynomial dynamics, which the panel does not have. The candidate V is a learned object that satisfies decay on observed trajectories — useful, not bulletproof.
• Industry parameters θ_I are treated as fixed during the fit. Industries evolve. The pipeline must re-fit periodically (the operational target is a nightly run joined to the existing Optuna pipeline).
• Causality is implicit. A brand inside the basin is associated with future stability, but the V framework alone does not prove that interventions reliably move brands inside the basin. CLF-based recommendations need separate causal validation.
• Dimensionality is currently five. If the dimension count grows past fifteen, the SDP becomes expensive and the SOS lift explodes. Plan for PCA on the score space before scaling.
• Bistable / multi-modal industries need cluster-aware fitting. A single quadratic V cannot capture two basins. Per-cluster fit handles this on micro-drama; future verticals may need k > 2.

Recommended next steps

Five concrete moves from the overnight run

1. Promote per-cluster Lyapunov to default for the micro-drama vertical. Bimodality is structural, not noise. Single-V fits will under-report basin geometry going forward.

2. Wire V into the weekly publish. Append per-brand V, basin membership, and stability classification to each weekly snapshot. One-screen schema addition; gives clients a structural-fragility reading alongside the composite.

3. Build a control-Lyapunov-function (CLF) layer. Capital efficiency currently scores discrete interventions against a fixed Δx. A CLF layer would optimize Δx against a budget constraint (LP or QP, not combinatorial). Better recommendations.

4. Replace mean-reversion ISS forward model with a fitted dynamics model. The current probe uses generic 0.10 stiffness; fitting f(x) per industry from the panel would produce industry-specific recovery curves and let ISS distinguish soft vs. brittle stability.

5. Optuna joint objective. Stability-aware signal-weighting is the natural next move: maximize V-validation × composite predictive accuracy in a single Optuna search.