Sensitivity analysis reveals which financial parameters have the largest impact on goal success. It tests scenarios like income changes, spending reductions, and timeline extensions.
analysis = run_sensitivity_analysis(request)print(f"Base success rate: {analysis.base_probability:.1%}")# Base success rate: 68.4%print(f"\nMost impactful: {analysis.most_impactful}")# Most impactful: spending_minus_20print("\nAll scenarios:")for name, result in analysis.sensitivities.items(): print(f"{name:20} -> {result.new_probability:.1%} (Δ {result.delta:+.1%})")# Output:# income_plus_10 -> 74.2% (Δ +5.8%)# income_minus_10 -> 62.1% (Δ -6.3%)# spending_minus_10 -> 79.5% (Δ +11.1%)# spending_minus_20 -> 88.3% (Δ +19.9%)# spending_plus_10 -> 58.7% (Δ -9.7%)# timeline_plus_6mo -> 75.6% (Δ +7.2%)# timeline_plus_12mo -> 81.4% (Δ +13.0%)print("\nRecommendations:")for rec in analysis.recommendations: print(f"- {rec}")# Output:# - Reducing spending by 10% could improve your success probability by 11% (to 80%).# - Extending your timeline by 6 months improves probability to 76%.# - You're on track! Your current plan has strong odds of success. Stay consistent with your savings.
analysis = run_sensitivity_analysis(request)# Find the most efficient spending cutspending_scenarios = { k: v for k, v in analysis.sensitivities.items() if k.startswith('spending_minus')}best = max(spending_scenarios.items(), key=lambda x: x[1].impact)print(f"Best spending strategy: {best[0]}")print(f"Improves probability to {best[1].new_probability:.1%}")