How should S-curve position factor into how we evaluate stocks?
How should S-curve position factor into how we evaluate stocks?
The question
How should a technology's position on its adoption S-curve, the steepness of that curve, and the cost tipping point that drives it be encoded into the way the stock-market project evaluates a signal — so that "are we capturing enough growth when taking a new position" becomes an explicit input, not an afterthought? This is the bridge question this whole thread exists to answer.
Why it matters
The stock-market conviction model scores whether a causal chain is true (evidence per step), but not how much of the move is left or how fast it arrives. A chain can be fully confirmed yet already played out (near saturation), or partial yet sitting right at the inflection. S-curve position is an orthogonal timing + remaining-magnitude lens.
What we currently believe
Three usable encodings emerged from the research, matching the three angles the user prioritized — and they are now shipped:
- Remaining-runway on upside. Curve position (penetration % vs. ceiling
L) qualifies how much of the move is left — informs valuation upside / sizing, not chain-truth. Encoded asadoption.position+adoption.remaining_runway(+ optionalpenetration_pct). - Velocity → horizon/sizing only. Curve steepness
kfeeds time horizon and re-rate imminence — notconviction.score(locked decision (a)). Encoded asadoption.steepness→ Signalclassification.horizon/ sizing. - Cost-curve tipping point as catalyst. A Wright's-Law (or physics/access) cost crossing becomes a datable catalyst. Encoded as
adoption.cost_curve.parity_date→ Signalcatalysts[]+cost_parity_date.
The over-arching caveat from the research still holds: cost curves are forecastable, adoption timing and the ceiling are not (see forecastability-of-technological-progress), so position/velocity are coarse buckets with explicit falsifiers, applied per-segment.
Evidence we have
- From 2026-06-16-autoresearch-tony-seba-technology-disruption-s-curves: practitioner framing — growth decelerates as a technology penetrates its market, so remaining runway depends on entry position; Wright's Law links cost decline to demand; "fastest movers … capture the biggest rewards."
- From 2026-06-16-academic-research-technology-adoption-s-curves: adoption lags generate valuation/risk-premium cycles as "growth options" convert to "assets in place" (Gârleanu et al. 2012 — implies risk premium/expected return is highest earlier on the curve); portfolio theory distorts when assets follow experience curves (Way et al. 2017).
- From 2026-06-16-distill-technology-adoption-s-curves (stock-market source): the project-side framing — the lens is an evaluation layer over existing causal chains, operationalized as s-curve-evaluation-lens.
- Design + contract:
docs/s-curve-evaluation-proposal.md;vault/_meta/RESEARCH.mdoptionaladoption:block; brainservices/signal-export/src/signal.tsSCHEMA_VERSION 3; traderlib/signal.tsmirror (trader PR #31, merged 2026-07-09 alongside brain PR #76). - First real backfill (2026-07-09): seven adoption-shaped stock-market mechanisms now carry cited
adoption:+## Adoption read(see How we resolved).
Evidence we need
None for the encoding design — resolved. Ongoing operational work (not blockers on this question):
- Keep authoring
adoption:only where citably justified; preferunknown/nullover fabricated precision. - Re-emit via DAILY step 7 /
signal-emitso populated blocks reach the trader. - Later: trader-side weighting of
adoptioninto sizing/horizon UI (contract receive-side only as of v3).
How we resolved
2026-07-09 — status → resolved.
Design decisions locked 2026-06-16:
- (a) steepness →
horizon/sizing only, notconviction.score; - (b)
adoptionorthogonal tocluster; - (c) coarse buckets, not a fitted logistic;
- (d)
penetration_pctnullable/optional.
Implementation complete:
| Layer | Status |
|---|---|
Mechanism schema (RESEARCH.md + ## Adoption read) | ✅ |
DAILY step 4c authoring + step 7 emission + signal-emit | ✅ |
Signal contract v3 (adoption block) — brain | ✅ PR #76 |
| Signal contract v3 — trader mirror | ✅ PR #31 (merged 2026-07-09) |
| Operational concept s-curve-evaluation-lens | ✅ |
| First mechanism backfill | ✅ 2026-07-09 (below) |
Backfilled mechanisms (cited buckets; helium / FERC / macro-policy chains deliberately skipped as non-S-curve):
| Mechanism | technology | position | steepness | runway | notes |
|---|---|---|---|---|---|
| glp1-injectable-supply-chain-bottleneck | Injectable GLP-1 | at-knee | steep | high | only citable penetration_pct (12% US adults) |
| hbm-cowos-as-binding-bottleneck | HBM / CoWoS AI | at-knee | steep | high | scarcity curve; no cost-parity date |
| agentic-ai-seat-erosion-to-saas-rerate | Agentic seat displacement | pre-knee | steep | high | NOW 50% non-seat is mix, not penetration |
| pjm-capacity-prices-to-nuclear-premium | Nuclear for AI baseload | pre-knee | moderate | high | use-case adoption, not fleet S-curve |
| dc-rack-density-to-800vdc-white-space-tam | 800VDC DC power | pre-knee | steep | high | physics mandate at ~600kW |
| cuda-moat-erosion-to-nvda-rerate | Non-CUDA accelerators | pre-knee | moderate | high | contested; software-moat only |
| inference-demand-to-wafer-scale-advantage | Wafer-scale inference | pre-knee | moderate | high | niche; competitor-CEO source |