gendesign/backend/tests/services/forecasting
Light1YT 6322d10199 feat(forecasting): §11 macro-scenarios (conservative/base/aggressive) (#984, 954-A)
Add scenarios.py: run the #952 demand↔supply engine under three key-rate
envelopes (base = hold_last_rate flat; conservative +2.0 п.п.; aggressive
−3.0 п.п., widening with horizon, clamped ≥0) → one ScenarioForecast each.
Single lever = rate_path into #952 (β stays counted-once in §9.4). Pure
build_rate_envelopes separated from DB orchestrator; advisory inherits #952
cap; graceful no-macro. Deterministic, no LLM, no SQL. 47 tests.
2026-06-03 12:59:17 +05:00
..
__init__.py feat(forecasting): monthly macro series + regime classifier (#951b) (#1007) 2026-06-03 05:37:43 +00:00
test_affordability.py feat(forecasting): what-to-build ranker + MAI proxy (#981, 952-B) (#1013) 2026-06-03 07:07:17 +00:00
test_demand_normalization.py feat(forecasting): §9.4 demand-normalization coefficient (#951f, advisory) (#1011) 2026-06-03 06:28:14 +00:00
test_demand_supply_forecast.py feat(forecasting): demand-supply forecast engine (#980, 952-A) (#1012) 2026-06-03 06:56:33 +00:00
test_macro_coefficient.py feat(forecasting): §9.5 macro coefficient (#951e, advisory) (#1010) 2026-06-03 06:20:04 +00:00
test_macro_series.py feat(forecasting): monthly macro series + regime classifier (#951b) (#1007) 2026-06-03 05:37:43 +00:00
test_rate_sensitivity.py feat(forecasting): §9.6 key-rate sensitivity module (#951d, advisory) (#1009) 2026-06-03 06:06:16 +00:00
test_recommendation.py feat(forecasting): class/commercial/USP §10.2/10.4/10.5 + §16 (#983, 953-B) (#1015) 2026-06-03 07:52:24 +00:00
test_sales_series.py feat(forecasting): monthly sales series builder for §9.6 (#951c) (#1008) 2026-06-03 05:52:33 +00:00
test_scenarios.py feat(forecasting): §11 macro-scenarios (conservative/base/aggressive) (#984, 954-A) 2026-06-03 12:59:17 +05:00
test_what_to_build.py feat(forecasting): what-to-build ranker + MAI proxy (#981, 952-B) (#1013) 2026-06-03 07:07:17 +00:00