Demo data25 fictional programs

Budgeting and forecasting

Budget review dashboard

At work our monthly budget review runs on a dashboard I built. This is a rebuild of it on made-up data. It shows where each program will land, which ones need a decision and the packet for the monthly review, and any line from the last three months drills down to the ledger rows behind it.

The budget review dashboard's Portfolio view, on demo data: budget, spend to date, projected balance and status for every program.

Our monthly budget review used to live in Excel: one tab per program, a trending tab, numbers pasted in by hand. Nobody asked me to change it. I taught myself Next.js and SQL and rebuilt it as a web dashboard with an 11-table database behind it. Everyone looks at the same live numbers — budget, spend to date, where each program will land — and any line drills down to the ledger rows behind it. Finance sees everything; program managers see a version without salaries. Leadership and program managers use it every day, and the review takes about a tenth of the time it used to.

The monthly review

Made-up data for 25 programs. Pick any of the last twelve month-ends, open a program, compare its two forecasts, and click a line for the ledger rows behind it.

Budget reviewDemo data
Loading the demo data…

How it was built. An AI agent system I run produced it from my design of the process I run at work, I went through it myself, and a separate check re-derives its figures from the source files.

Demo data: the three programs that need a decision, each with its latest note and plan
The review packet: the programs that need a decision, each with its latest note and plan. PRG-104 is on course to end $161,178 over at the 3-month run-rate, from an unbudgeted August hire and overtime. The plan moves $145,000 from PRG-107 and ends the overtime, which covers either forecast.
Demo data: PRG-104's two forecasts side by side, by line, with the people behind the staff lines
The second forecast builds the staff lines from hours and loaded pay. It puts PRG-104 $180,275 over instead of $161,178, because it counts the August hire for all nine remaining months.
Demo data: the ten September ledger rows behind PRG-104's Case Managers line, adding up to the line's amount
Any line from the last three months drills down to its ledger rows. Here ten payroll rows add up to PRG-104's Case Managers line for September, to the cent.
Demo data: PRG-104's cumulative spending against its budget, carried forward at the last three months' average, running out in April
Carried forward at its last three months' average, PRG-104's spending runs out of budget in April, two months before the contract ends.

The full analysis

Each part opens on click.

The September reviewPRG-104's overspend, where the money comes from, and two programs that need no cut

In tech-company terms, a program here is a cost center and a funding agreement is a hard budget cap, like a department's opex line. Money can move between programs only inside the same agreement.

01
−$161,178

PRG-104 ends $161,178 over; a $145,000 move plus ending overtime covers it

Budget $790,300. An unbudgeted August hire and about 10% overtime drive the overspend. At the 3-month average it ends $161,178 over; built from staff hours × loaded pay it ends $180,275 over, because that counts the new hire for all nine remaining months and the average for only two of the last three.

Plan. Move $145,000 from PRG-107 and end the overtime (about $5,058 a month, $45,525 by June 2027): $190,525, enough for either forecast. Sent to leadership.

02
+$372,173

PRG-107 is where the money comes from

PRG-107 is on pace to leave $372,173 unspent. Two navigator roles vacant since July ($129,170 under) and rental assistance running under ($94,612) are 60% of it. Both programs sit under one funding agreement, which is what lets money move between them.

After the $145,000 move and two navigators starting in November ($102,660 through June 2027), about $124,513 is left for rental assistance.

03
−$101,261

PRG-125 is red for a known one-off, so no cut

A new interim site opened in July 2026; opening repairs ran $42,739 in two months against about $6,683 a month budgeted, which puts the run-rate $101,261 over.

Those months leave the 3-month average in October and November, and the note sets a re-check for December instead of a spending cut.

04
$2,176.12

A planted short load was stopped before the review

PRG-113's March 2026 load came in $2,176.12 below the workbook's own total because one line was missed. The load was flagged, fixed and re-run the same day, back to $0.00.

How the review worksLoads that tie, two forecasts for every program, and the rule for what needs a decision

Loads. Each program's monthly workbook is loaded into one database and compared with the workbook's own total. A load that is off by any amount stays out of the review until it is fixed and loaded again.

Projection. Spending to date plus the average of the last three months, times the months left. A month with no spend on a line counts as zero, so a one-off cost stays in the average for three months and then drops out; the note says when that is the reason a program is red.

Staff hours. The second forecast rebuilds the staff lines from people: each person's hours × loaded pay (pay and benefits ÷ hours over the last three months, or planned hours for an approved new hire), benefits on the benefits line, indirect at its actual rate, every other line at its own 3-month average. When the same people worked all three months the two forecasts agree; when someone joins or leaves, they differ, and the Forecast view shows by how much on each line.

What needs a decision. The projected balance at contract end, measured in months of the program's own budget (the budget spread evenly over the contract): more than one month over or under needs a decision; a smaller overage is Watch.

Down to the ledger. Every line in the last three months drills down to the ledger rows behind it (this demo carries three months of rows). The script that builds this page ties all 4,037 monthly line actuals to the 14,387 ledger rows behind them, to the cent, and checks every 3-month projection against the one stored with the data. The month picker shows the review as it stood at any of the last twelve month-ends.

At work
At work

I run this review every month at work. It flagged a projected overspend early, and the cross-program reallocation I recommended was adopted by leadership, avoiding a mid-year budget gap.

At work the review runs on an internal dashboard with an 11-table data model. The tool on this page is a new build of the same review, on made-up data.

Limits and next

The data is made up: spending patterns, vacancies and overtime are modelled, not observed. Both forecasts look back three months; neither models new contracts, mid-year rate changes or seasonality beyond those months. This build carries ledger rows for the last three months only.

Next: Seasonality-aware run-rate for lines with known annual patterns (winter client assistance, utilities). A reallocation planner that proposes moves between programs under the same funding agreement and shows the portfolio landing point before and after.