New notebooks: Scenario without current spend, VA scenario

This commit is contained in:
2026-07-13 16:32:18 -04:00
parent e88449d15a
commit cbbc9ba839
8 changed files with 19078 additions and 3964 deletions

View File

@@ -25,13 +25,14 @@ def test_wfm_scope_and_verbatim_total():
assert ben["benefit"].sum() == pytest.approx(2_314_000)
def test_wfm_phasing_on_deck_schedule():
def test_wfm_phasing_on_pm_schedule():
ben = mw.wfm_benefits_by_year(_default_benefit_rollout())
by_year = ben.groupby("year")["benefit"].sum()
assert by_year[2026] == 0.0
# ANZ realizes Dec 2027 (1 of 13 live months lands in 2027).
assert by_year[2027] == pytest.approx(1_400_000 / 13)
assert by_year[2028] == pytest.approx(2_314_000 - 1_400_000 / 13)
# PM timeline: ANZ realizes Sep 2027 → 4 of 16 live months in 2027
# (Sep-Dec); ASIA realizes Jan 2028 → all in 2028.
assert by_year[2027] == pytest.approx(1_400_000 * 4 / 16)
assert by_year[2028] == pytest.approx(2_314_000 - 1_400_000 * 4 / 16)
def test_runrate_saving_annual():
@@ -76,7 +77,7 @@ def test_contracted_frame_with_sow_and_managed_services():
man = a4.managed_services_by_year()
total = {y: cur[y] + lic[y] + ps[y] + man[y] for y in a4.YEARS}
inc, net = a4.case_flows(total, _default_wfm_benefits_by_year())
assert sum(net.values()) == pytest.approx(-1_503_013, abs=1_000)
assert sum(net.values()) == pytest.approx(-1_468_770, abs=1_000)
runrate = mw.runrate_saving_annual(
a4.tco("ccaas_annual"), managed_annual=a4.MANAGED_SERVICES_ANNUAL)
label = mw.runrate_breakeven_label(net, runrate)