Built an automated FP&A forecasting engine replicating real-world budgeting workflows. Implemented scenario and stress testing to evaluate revenue sensitivity under macroeconomic fluctuations, and produced Excel-ready deliverables for leadership review.
- Seasonal time-series forecasting (SARIMAX) for monthly revenue
- Next-12-month forecast with 95% confidence intervals (risk bounds)
Scenarios are driven by explicit levers (not generic +/- %):
- Price change
- Volume change
- Demand shock
- Promo lift
Scenario inputs live indata/scenario_drivers.csv.
Optional mode that mirrors commercial FP&A driver models:
- Revenue computed from price, volume, and churn
- Same forecasting + scenario + reporting outputs
Exports an executive-ready workbook with:
summaryhistorical_revenueforecast_confidence(base + CI bounds)forecast_scenarios(base/best/worst via driver levers)variance_backtest(FP&A-style holdout variance table — always populated when enough history)assumptionsscenario_driverspnl_forecastcashflow_forecast
- Automated monthly revenue forecasting using time-series modeling
- Replaced manual spreadsheet budgeting with Python-based engine
- Implemented driver-based scenario modeling (price, volume, demand, promo)
- Built P&L and cash flow projections directly from forecast outputs
- Integrated backtest variance analysis to evaluate model accuracy
- Delivered executive-ready Excel report with 9 structured tabs
fpa-forecasting-engine-v2/
├── data/
│ ├── revenue_sample.csv
│ ├── drivers_sample.csv
│ ├── assumptions.csv
│ └── scenario_drivers.csv
├── notebooks/
│ └── forecasting_model.ipynb
├── reports/
│ ├── forecast_output.xlsx
│ └── forecast_output_driver_based.xlsx
├── src/
│ └── forecast.py
├── requirements.txt
└── README.md
Install:
pip install -r requirements.txtRun (revenue-series mode):
python -m src.forecast --input data/revenue_sample.csv --output reports/forecast_output.xlsxRun (driver-based mode):
python -m src.forecast --drivers data/drivers_sample.csv --output reports/forecast_output_driver_based.xlsxDriver-based base, best, and worst case projections using price, volume, demand shock, and promo levers.
Automated income statement generated from forecasted revenue and assumption-driven COGS, OPEX, tax, and CAPEX inputs.
- Edit
data/assumptions.csvto change COGS/OPEX/Tax/Capex - Edit
data/scenario_drivers.csvto reflect macro or GTM assumptions - Increase
--backtest 18to backtest a longer horizon - Extend cash flow with working-capital logic using DSO/DPO/Inventory days

