How the forecast is worked out
Follow how Ebbe turns your items into monthly totals and a projected running balance.
On this page
Every number in the forecast comes from the same three steps. Understanding them makes it easier to trace a surprising result back to the item behind it.
Step one: every item becomes payments
A recurring item is a rule, not a payment. “Rent, €1,220, the 1st of every month, from January 2024, rising 4% each July” describes an unbounded series. The first thing Ebbe does is turn that rule into the individual payments that fall inside the window you are looking at: a date, an amount, a direction, a category.
One-off items expand too. A single payment produces one; an item split into twelve instalments produces twelve, each with its own date and its share of the total.
Two things drop out at this step. A paused item produces no payments at all — not a zero, nothing. An item whose end date has passed produces none after it.
Step two: payments become months
The payments are gathered into the months they fall in. For each month Ebbe adds up everything coming in, everything going out, and the difference:
net = income − spending
It also records whether any payment in that month was
an estimate, which is what puts the ≈ on the
month, and it totals the month by category for the analysis screen.
Step three: months become a balance
This is the part that answers the question. Ebbe takes an opening balance and walks forward:
balance after this month = balance before it + net
So the figure in the Balance column is the projected balance at the end of that month, after everything in it has happened. Each month starts where the last one finished, which is why a single wrong item shifts every month after it, not just its own.
The opening balance is not a guess. It comes from the balance readings you have entered — see the anchor for how one is chosen and rolled forward or backward to the start of the range. If you have entered none, the projection starts from zero, which is honest and not useful.
Nothing is stored
There is no table of forecasts. The whole projection is recomputed from your items every time it is needed, which has three consequences worth relying on:
- Typing costs nothing. The browser runs the same calculation locally, so the chart moves while you are still in the form, before anything is saved.
- There is nothing to refresh. Change a rent and every month after it is already right; no recalculation to trigger, no stale figure to catch.
- The exports agree with the screen. The CSV and JSON downloads are produced by the same code, so a figure cannot differ between what you looked at and what you exported.
A balance reading also stores what the plan predicted at that moment. This value remains unchanged so you can compare the original forecast with the real balance later. The next chapter explains how that works.
What it never does
Ebbe does not look backwards to learn. It will not notice that you always spend more on groceries than you said, and it will not adjust anything on your behalf. Every figure in the projection is one you entered or one derived from what you entered, and the only way a forecast improves is that you tell it something truer.
Ebbe does not connect to a bank, import statements, or categorise past transactions. The forecast is based entirely on the commitments and balances you enter, so you can trace every result back to your own data.