How the composite works
Single indicators contradict each other and lag. A transparent composite turns the noise into one forward read you can defend, component by component. Black-box indices ask for trust — this shows exactly how each input moves the needle.
- Normalize. Each indicator maps to a comparable signal in [-1, +1] around a neutral reference:
signal = clamp( (value − neutral) / scale × direction, −1, +1 )
direction is +1 when higher-is-good (e.g. PMI) and −1 when higher-is-bad (e.g. jobless claims). Extreme values clamp at ±1. - Weight. The composite is the weighted average of the normalized signals, so each component's contribution is signal × weight ÷ Σweights. The weight sum is always shown.
- Read. The composite score maps to a regime:
- score > 0.2 → EXPANSION
- -0.2 ≤ score ≤ 0.2 → CAUTION
- score < -0.2 → CONTRACTION
Worked example (seed mix)
method.example
$ nowcast compute --explainYield curve (10y–3m) signal=-0.27 contrib=-0.07Initial jobless claims signal=+0.08 contrib=+0.02Manufacturing PMI signal=-0.08 contrib=-0.02Consumer sentiment signal=-0.12 contrib=-0.02Housing starts signal=-0.13 contrib=-0.02score=-0.11 → CAUTION
Transparency & limits
- No hidden weighting — every weight and input is editable.
- Non-partisan framing; this is a method, not a forecast.
- Illustrative only. Out of scope for v1: live data feeds and official forecasting.
- Payment-dark — nothing here is gated or monetized.