Forecast any number with eight forecasting algorithms

Forecasting shouldn’t be a black box. forecast_costs.py runs multiple models—SMA, Holt-Winters, ARIMA, NeuralProphet, and more—to show how each interprets your data. Vendor-neutral and simple, it helps you explore any time series with clarity, not just cloud costs.

Forecast any number with eight forecasting algorithms

The context

Forecasting has always fascinated me.
About five years after my first FinOps talk — a lightning session on forecasting at FinOps X in Austin (it’s still on YouTube) — I realised that even as the FinOps community evolved, forecasting remains one of the hardest and most debated topics.

We still talk about unit economics, budgets, and cost optimisation — but forecasting sits right next to them.
It’s a discipline that cuts across industries: banks, retailers, logistics, and energy companies all forecast. It’s a field with real history, tested methodologies, and mathematical rigour.

And yet, in cloud, we often treat it as guesswork.

I wanted to change that — or at least make it easier to explore.
I don’t claim to know every formula, but I wanted a tool that could run several methods at once, let me compare them, and see which one fits the data and context best.

So I built forecast_costs.py — a simple, composable tool that takes a CSV with dates and numbers, applies multiple forecasting techniques, and shows how they behave.

In spirit, it follows the same pattern as the rest of the FinOps Toolkit: small, local, contextual, and transparent.
The forecasts are not just for cloud spend — they work for any time series, any number, any system where you need to see what might happen next.

And yes, I also asked AI to help.
Sometimes I let it pick which algorithm fits the data best. Sometimes I override it. That’s the balance I like — humans and machines exploring context together.

Why it exists

Forecasting is everywhere — but it’s rarely approachable.
In FinOps, it often feels like a black box: either too simple (“just extrapolate”) or too complex (“we’ll deploy a neural network”).

The goal of forecast_costs.py is to make forecasting simple, plural, and transparent.

You feed it a CSV. It runs multiple methods. You compare the results.

No dashboards. No hidden models. Just clean outputs you can reason about.