Inizia
FP&A Variance Analyzer — Budget vs Actual

FP&A Variance Analyzer — Budget vs Actual

Your export says salaries came in $20k over budget. It doesn't say if that's two new hires (raise the forecast) or a one-off bonus (ignore it). This Agent closes that gap. Drop in a budget-vs-actual export (CSV or Excel) and get the variance maths — favourable vs unfavourable, a two-test materiality screen, per-period margins — plus the CFO commentary: headline, reconciling bridge, top 3 drivers, actions. It won't call an underspend a saving, and flags the favourable variance masking a bad one.
#Finanza#Analisi#Produttività
Valutazione
Servono altre valutazioni
Venduti
0
Come si usa
Scarica

FP&A Variance Analyzer — Budget vs Actual

Download · one-time · runs with your own model · zero dependencies

Your accounting export tells you salaries came in $20,000 over budget. It does not
tell you whether that is two new hires — permanent, raise the forecast by $40k —
or a one-off bonus you should ignore. That gap between the number and the
decision is the entire job of FP&A.
This Agent does that job.


What you get

Point it at your export. In one run:

  • variance-report.csv — every line, every period: variance, variance %, favourable/unfavourable, material yes/no. Sortable, pivot-ready.
  • variance-report.html — a clean, print-ready report. Material variances highlighted, favourable in green, unfavourable in red. Works in light and dark.
  • The written analysis — headline, a bridge that arithmetically reconciles budget to actual, the top 3 drivers with mechanisms, forecast implications, and actions.

What makes it different from a pivot table

It knows that sign is not favourability. A variance of +$20,000 is good news on
revenue and bad news on salaries. Every line is classified revenue or expense, so
"favourable" means favourable — not "positive".

It refuses to call an underspend a saving. Marketing 48% under budget is the
single most misread line in management reporting. It usually means the campaign
never launched, and the pipeline gap lands next quarter. The Agent names the
mechanism or says plainly that it is unknown. It never banks it as a win by default.

It finds what the net figure hides. A net variance near zero is the most
dangerous number in any report — it normally means a large unfavourable variance
is masked by an unrelated favourable one. When that happens, that is the headline.

Two materiality tests, not one. A percentage threshold alone promotes a $400
office-supplies line that came in 300% over. An absolute floor alone hides the
small line that is quietly accelerating. Both must clear. The floor adapts to your
revenue by default, or set your own if your finance team has a house rule.

It classifies timing vs permanent vs one-off. An invoice landing late
self-corrects and should not move the forecast. A lost customer should. Reports
that treat those the same are why nobody reads them twice.

What it will not do

It will not invent what your file does not contain — and this is a feature.

  • Runway needs a cash balance and cash movements. A P&L has neither, so it says the number cannot be produced rather than proxying it with net profit. The gap between accrual profit and cash is exactly where companies die.
  • Price/volume/mix needs units. Most exports have none, so it says so instead of inventing a split.
  • It cannot see causation. It names the one fact that would settle the question — "the March payroll register would answer this" — instead of guessing confidently.

Your file

A long-format export — one row per line item per period. Column names are matched
loosely, in English or French:

Line,Period,Type,Actual,Budget
Subscription revenue,2026-03,Revenue,415000,445000
Salaries,2026-03,Expense,236000,216000
Needed Accepted headers
Label (required) line, account, item, category, poste, libellé, compte
Actual (required) actual, actuals, real, réalisé
Budget (required) budget, plan, forecast, target, prévu
Period period, month, date, mois
Type type, nature — Revenue/Expense, Produit/Charge

It tolerates what real exports actually contain: 1 234,56 and 1,234.56,
(1234) for negatives, currency symbols, blank rows, and Excel date cells.

No install, ever

Pure Python standard library. Excel files are read natively — no pip install,
no openpyxl, no virtual environment.
If you have Python, it runs. There is a
built-in demo dataset, so you can see the full output before touching your own
numbers.

Who it is for

Founders reading their own P&L. Fractional CFOs turning a client export into a
board note. Controllers who write the same commentary every month. Anyone who has
ever stared at a variance column and thought "yes, but which of these actually
matter?"


Ships with three reference guides — how to read a variance, FP&A formulas and
where each one lies, and how to structure the commentary — so the analysis is
consistent every month, not dependent on how you phrase the question.