How Whether Works
Whether operates on a deterministic, explainable loop that converts public Treasury data into operational constraints. There are no opaque ML models—every score and classification follows testable rules.The Core Loop
Fetch Treasury Data
Server fetches US Treasury yield curve data from the US Treasury Fiscal Data API (
/v2/accounting/od/daily_treasury_yield_curve).Required fields:- 1-month yield (with 3-month fallback)
- 2-year yield
- 10-year yield
Normalize to TreasuryData
All outputs include explicit metadata:
source- API endpoint URLrecord_date- Date of Treasury datafetched_at- Timestamp of retrieval
Run Regime Engine
The Regime Engine scores two dimensions:
- Tightness (0-100): How expensive is capital?
- Risk Appetite (0-100): How willing are investors to take risk?
How the Regime Engine Scores Tightness
Tightness measures how expensive capital is right now. It blends two components:1. Base Rate Points
The base rate (1-month or 3-month Treasury yield) represents the cost of short-term money.- Base rate points ramp from 0 to 90 as rates move above 5%
- Multiplier: 180 (each 1% increase above 5% adds 180 raw points, capped at 90)
2. Inversion Points
When the yield curve inverts (10Y < 2Y), it signals stress and caution.- Inversion points ramp from 0 to 25 as slope moves below 0%
- Multiplier: 50 (each 1% inversion adds 50 raw points, capped at 25)
Combined Tightness Score
Example: If base rate is 5.5% and curve slope is -0.3%:
- Base rate points:
(5.5 - 5.0) × 180 = 90(capped at 90) - Inversion points:
0.3 × 50 = 15 - Tightness = 90 + 15 = 100 (capped at 100)
How the Regime Engine Scores Risk Appetite
Risk appetite measures investor confidence based on the 10Y-2Y yield curve slope.- Maps slope from -1.0% (very cautious) to +1.5% (confident)
- Scaled linearly to 0-100
Example: If curve slope is +0.5%:
- Normalized:
(0.5 - (-1.0)) / (1.5 - (-1.0)) = 1.5 / 2.5 = 0.6 - Risk Appetite = 0.6 × 100 = 60
How Regimes Are Classified
Once tightness and risk appetite are scored, Whether classifies the regime using fixed thresholds.Classification Matrix
| Tightness | Risk Appetite | Regime |
|---|---|---|
| > 70 | ≤ 50 | SCARCITY |
| > 70 | > 50 | DEFENSIVE |
| ≤ 70 | ≤ 50 | VOLATILE |
| ≤ 70 | > 50 | EXPANSION |
How This Translates to Operational Constraints
Each regime maps to concrete operating guidance.- SCARCITY
- DEFENSIVE
- VOLATILE
- EXPANSION
Regime: Tightness > 70, Risk Appetite ≤ 50Description: Capital is expensive and risk appetite is low. Prioritize survival over growth.Constraints:
- Shorten payback windows and preserve cash
- Delay speculative hiring or large platform rewrites
- Route roadmap bets through revenue certainty
Data Provenance
Every output includes explicit source metadata:Offline Mode
If the Treasury API fails:- Whether serves snapshot data from
data/cache - UI displays OFFLINE / SIMULATED badge
- All outputs tagged with
fallback_reasonandfallback_atmetadata
Operators should pause irreversible decisions until the live feed returns or they confirm the cached data is acceptable.
Next Steps
Quickstart
Get started with your first regime reading
Decision Shield
Learn how to use verdict analysis for planning decisions