Skip to content

Methodology

How the CrestCast forecast works

A forecast is worth what the model behind it is worth, so here is the model. CrestCast turns what you enter into dated events, applies them day by day for ten years, and reads the result back as three statements that reconcile to each other. Every figure it prints resolves to a record you can open and change.

One set of facts, three statements

Most tools give you one view of your money. CrestCast runs one engine and reads its output three ways, because a household needs three different questions answered and no single statement answers all of them.

  • Cashflow asks whether the money is in the account on the day it is needed. It is a question about timing, and it is the one that stops you at the till.
  • Profit and loss asks whether the household is genuinely better off over a period, with interest split out and an asset losing value counted as the real cost it is.
  • Net worth asks what you are worth, projected forward rather than snapshotted, with every asset and every debt moving on its own schedule.

They are not three models kept in step by hand. One run returns all three, for every forecast year and for every month inside it, from the same events. Change a bill and all three move. Schedule a pay rise for next April and all three move from April.

They are tied together by an accounting identity rather than by good intentions: across a forecast year, the change in net worth equals the total return the profit and loss reports for that year, once accrued interest, unrealised gains on what you own, gains realised on a sale and pension contributions made through payroll are all counted. That identity is asserted by the app's own test suite, on a set of deliberately awkward profiles, rather than checked by eye. A pound that shows up on one statement shows up on the other two.

The idea is borrowed from company accounts, where a model keeping all three connected is ordinary practice for any organisation planning its finances properly. The three-way financial model explained sets out why it works on a household, and cashflow versus profit and loss covers the pair of them people most often run together.

The day is the unit, and a month is a total of days

Nothing in the model is bucketed into a month. Each item you enter is emitted as an event on a real calendar date: the mortgage on the 1st, council tax on the 5th, the salary on the 28th, a planned one-off on the day you picked for it. The forecast is those events applied in date order to your opening balances, one day at a time.

Month, quarter and year are then sums of those days, and that is the part that matters. It means a monthly figure and the daily figures underneath it are the same arithmetic rather than two calculations that happen to agree today. A month is not a unit of cash: bills arrive on their own dates and a salary arrives once, so an account can spend a fortnight overdrawn inside a month whose closing balance looks perfectly healthy. Compute the year from the days and that fortnight is still there when you go looking for it.

The same numbers are readable at whichever grain suits the question, day by day, month by month or year by year, on the cashflow forecast.

Pay dates, resolved to working days

The date on a direct debit is a nominal date. It is not necessarily the day the money moves, and a model that treats the two as the same thing will put a balance on the wrong side of zero several times a year, every year.

So CrestCast resolves every dated event to a working day, in the direction real money moves:

  • Money coming in resolves backwards. A salary or an income due on Sunday the 25th lands on Friday the 23rd, because employers pay early rather than late.
  • Money going out resolves forwards. A direct debit, a standing order or a loan instalment due on a Saturday is collected on the next working day.
  • A shift never takes a payment out of its own month. Where it would, the resolution turns round instead, so the payment stays in the month it belongs to and still avoids landing on a day the banks are shut.

A non-working day is a Saturday, a Sunday or a UK bank holiday, and the holiday calendar is worked out rather than looked up. Easter is derived from the date of the paschal full moon, substitute days are placed around dates already taken, and the calendar used is the union of the England and Wales, Scotland and Northern Ireland holidays, so a Scottish 2 January and a Northern Irish 12 July are both in it. There is no table to run out, which is what matters when a forecast runs years beyond the point the published lists stop at.

A spreadsheet can do a good deal of this. What it cannot do is hold the rule. Every date-anchored row has to be re-anchored by hand the moment a pay date shifts, and there is nothing in a grid of formulas that knows a Monday in May was a bank holiday.

Every figure traces back to something you entered

This is the rule the engine is built around, and it decides whether a forecast is usable at all: nothing is inserted to make a total balance. Not a rounding line, not a balancing entry, not a plug of any kind. Where the parts of a total do not add up, the seam that produced the parts is what gets fixed.

It is enforced rather than promised. Every dated event carries the identity of the record that produced it, so a row on a statement resolves back to the salary, bill, debt, transfer or one-off it came from. Tap a line in the cashflow statement and the app opens that record, ready to edit. The test suite checks it in both directions: that every emitted row resolves to something you can open on an input screen, and the converse, that an input you can see reaches an output somewhere rather than sitting there doing nothing.

Where a figure is one the app has projected rather than one you typed, there is an information button beside it on the input screen. Set a future date, tap it, and you get the working: the balance you last stated, what has been added since, what has been taken, and a link straight to the record behind each line. Figures you entered yourself carry no button, deliberately, because the button promises there is something to work out.

The reason to care is practical. A total that balances because a row was invented to make it balance is a total you cannot act on, and you will never find out which row it was.

Rules the engine obeys, not adjustments made afterwards

Most of what a household does with money is a rule rather than a fixed amount. Hold a minimum in the current account. Sweep what is above a target balance into the ISA. Raid the savings if a month comes up short. Those are policies, and a model that cannot hold a policy makes you apply it by hand to every month you look at.

The spare cash waterfall is where you write yours: a minimum to keep back, an optional target balance to sweep above, an ordered list of pots and debts for the surplus to cascade down, and a drawdown order for the months that end short. The engine runs it inside the forecast, month by month, for the full ten years.

Inside rather than afterwards is the point. Every statement is computed with the rule already applied, so the cashflow, the profit and loss and the net worth all reflect it at once: the overpayments really shorten the debt, the swept cash really compounds in the pot, and the drawdown really puts the current account back to your minimum in the month the annual insurance premium lands. Cash swept into savings is itemised on the pot that received it, so you can see which rule sent which pound where.

Real terms, on by default

Inflation is not a footnote on a ten-year projection. A pound in year ten is not a pound today, and a balance quoted nominally invites you to feel richer than you will be. So the cashflow, profit and loss and net worth statements all open with Real terms switched on, and every figure is in today's money unless you clear it.

The assumption behind it is yours. It starts at 2.5% a year and it is a field in Settings you can set to whatever you think is realistic. The same number does two jobs, and they are deliberately the same number: it grows the cash value of what you own, and it is what the real terms view deflates by.

Two details for anyone who wants to check the arithmetic. Balances and asset values step once a year, at the start of the UK tax year in April, rather than drifting a little every month, which is closer to how prices reach a household whose bills are repriced annually. Recurring flows are deflated month by month, because stepping those would draw a sawtooth on a chart that should be smooth. Both sides use the same function, so a figure and that same figure in today's money cannot come from two different clocks.

Ten years, and the reason for it

Every forecast projects ten years ahead. The same distance for everybody, so there is nothing to set up and no grid to drag out, and the annual view is the whole projection on one screen.

Ten is a decision, and the reasoning is short. Almost every input to a household forecast is knowable a few years out and a guess after that: the salary, the mortgage rate, the school fees, whether there is a third child. Run those guesses out to thirty years and the output is arithmetic dressed as a plan, precise in a way that invites you to trust it. Ten years covers the decisions people actually make, which is where a forecast earns its keep. The trade is set out in full in why we forecast ten years and not thirty, and how accurate is a financial forecast covers what a projection can and cannot tell you at each distance.

What the model is not told

CrestCast never connects to your bank. No Open Banking, no account aggregation, no automatic transaction sync. Everything the engine works with, you put there: typed in, or imported from a CSV you exported from your own bank, which is parsed on your device and not uploaded. That import reads one fixed format and looks for the same payee appearing at least twice on a regular schedule, then offers those as recurring bills and incomes.

What it buys is a model of your plans rather than a record of your past, with no credential shared, no aggregator sitting between you and your accounts, and nothing in the forecast you did not choose to put in it. If a live feed of yesterday's card spending is what you want, several other apps do it well and this is not one of them. The reasoning is in why CrestCast does not connect to your bank.

Where the arithmetic happens

The engine is not code running in your browser. The app posts your inputs to a stateless function on the server, which computes the projection for every perspective in your household in one call and returns the figures. If that call fails, the app retries and then says so, rather than falling back to a second implementation that might answer differently.

One engine in one place is what keeps the answers consistent. Your phone and your laptop read the same profile and get the same forecast, a correction to the model reaches everyone at once without waiting on an app update, and there is no second copy of the maths to drift out of step with the first.

What a model like this is for

A reconciled day-level model is not an end in itself. It is what makes the awkward questions answerable without rebuilding anything:

  • Dated changes to anything recurring: a pay rise in April, a nursery bill ending, a fixed rate expiring, an income stopping on the date it stops.
  • Saved versions compared side by side, so a decision becomes two forecasts rather than an argument about a feeling.
  • Debt payoff run against the real schedule, with the interest you would save appearing on the profit and loss rather than being estimated on the side.
  • The UK personal finance flowchart expressed as a rule your own money follows, rather than as advice you try to remember each month.

Common questions

How does CrestCast work out the forecast?

From dated events. Every income, bill, debt instalment, transfer, savings contribution and planned one-off you enter becomes an event on a specific calendar date, and the forecast is those events applied in order to your opening balances. One run of the engine produces all three statements at once: the cashflow, the profit and loss and the balance sheet. They are three readings of the same events rather than three separate calculations, which is why changing one bill moves all three.

Does it work in months or in days?

Days. A payment dated the 15th happens on the 15th. The monthly and annual views are sums of the days inside them rather than separate month-level arithmetic, so a monthly figure and the days underneath it cannot disagree. That is what lets the daily view show a fortnight in the red inside a month that ends comfortably in credit.

What happens when a payment falls on a weekend or a bank holiday?

It moves, in the direction real money moves. Money coming in resolves back to the last working day before the nominal date, so a salary due on Sunday the 25th lands on Friday the 23rd. Money going out resolves forward to the next working day. A non-working day is a Saturday, a Sunday or a UK bank holiday, and the holiday calendar is computed rather than read from a table, so the rule still holds in the last year of the forecast. Easter is derived, substitute days are placed around dates already taken, and the calendar used is the union of the England and Wales, Scotland and Northern Ireland holidays.

Are the figures in today’s money or in future money?

Today’s money, unless you say otherwise. The cashflow, profit and loss and net worth statements all open with Real terms switched on, so a balance ten years out is shown as what it would buy rather than as what it would say on a statement. Clear the toggle to read nominal figures instead. The inflation assumption behind it starts at 2.5% a year and is a field you can change in Settings.

Where does each figure on a statement come from?

A record you entered. Every dated event carries the identity of the input it came from, so tapping a line in the cashflow statement opens that record ready to edit. Nothing is inserted to make a total balance: where the parts of a total do not add up, the seam that produced the parts is what gets fixed. The test suite checks it in both directions, that every emitted row resolves to something on an input screen, and that an input you can see reaches an output rather than sitting there doing nothing.

How far ahead does the model run?

Every forecast projects ten years ahead. It is the same distance for every account, so there is no grid to extend and nothing to set up. Ten years is a product decision rather than a technical ceiling: past a decade almost every input is a guess, and a projection built on guesses reads as precision it does not have.

Is the forecast calculated on my phone?

No. The app sends your inputs to a stateless function on the server, which runs the projection for every perspective in your household in one call and returns the figures. One engine in one place means two devices reading the same profile get the same answer, and an improvement to the model reaches everyone at once rather than waiting on an app update.

Does the model use my bank data?

Only what you give it. There is no bank connection, no Open Banking link and no automatic transaction sync. Everything the engine knows you either typed or imported from a CSV you exported from your bank yourself, and that file is read on your own device rather than uploaded. What you get for that is a forecast built from your plans rather than your past, with no credential shared and a model containing exactly what you chose to put in it.

Where to go next

This is not advice

CrestCast is a forecasting and planning tool, not regulated financial advice. Figures are projections based on what you enter and the assumptions you choose, and the future rarely matches any forecast exactly. For decisions with real consequences, speak to a qualified adviser about your own circumstances.

See the model run on your own numbers.

Put your income, bills, debts and savings in once. CrestCast turns them into dated events, runs them forward ten years, and gives you a cashflow, a profit and loss and a net worth that agree with each other.

Try CrestCast free →

14-day free trial, no card needed to start · Cancel any time