Variance analysis

Budget vs Actual Analyzer

Budget vs actual analysis on a profit and loss or a balance sheet. Lines ranked by what moved the result, with a walk from budget to actual that reconciles. Balance-sheet movements use neutral increase/decrease interpretation.

Save or open an analysis file

Download a copy of the current inputs and answer to keep on your device. The file contains financial values and labels and is not encrypted. Opening it here stays in this browser; nothing is uploaded or automatically saved on this device. Keep the file somewhere you trust.

An opened file keeps its original answer. Recalculate separately when you want a result from the current method. Account workspace saves currently keep inputs only.

Import a table from Excel or CSV

Read a file locally, choose its table or range, and review the mapping before replacing inputs. No file is uploaded. Macros and formulas are never run. Account saves keep the imported input rows only; downloaded analysis files can also keep source references.

Reuse monthly periods and scenarios

Use one local monthly dataset for Actual, Budget, named Forecast versions or prior-year comparisons. No file is uploaded. The dataset stays in this page session; account saves keep generated input rows only. Downloaded analysis files keep the generated answer and source references, not the full monthly dataset.

Required CSV/TSV headings: Entity, LineItem, Nature, Period, Scenario, Version, Currency, Amount. Group and RowRole are optional. If RowRole is present, every row must say detail or subtotal; declared subtotals are excluded, without verifying their totals against children. Period uses YYYY-MM; Scenario is Actual, Budget or Forecast. Use a named Version for every scenario, such as Approved or As reported. Up to 2,000 source observations, in one reporting currency. Every selected entity/line is expected in every selected month; supply explicit zeros where appropriate.

Input data

One row per line item. The natures offered follow the statement. Fill Group to bar the chart by function; the table stays at line level either way.

Number format

Applies to what you type and to every figure on the page.

Budget and Actual by line item for a profit and loss.
Line itemNatureGroupBudgetActual

Tip: paste a rectangular range from Excel or Sheets.

Your financial data is processed locally in your browser and is not uploaded to Consilium.

Walk order

Ranked draws up to eight movements meeting the chart threshold, with the rest in Other. Statement order draws every line as entered. The driver table below is ranked either way, and the downloaded chart follows this choice.

Profit against budget

Income minus expense from the lines you tagged. Not statutory profit before tax.

+$4.00

Profit finished $4.00 favourable against Budget. Favourable movements of $13.00 were partly offset by $9.00 of adverse movements. COGS is the largest single driver at 36.4% of total movement.

Budget
$20.00
Total favourable
+$13.00
Total adverse
-$9.00
Actual
$24.00

Profit walk

Budget through the ranked drivers to Actual

Adds up

Budget

$20.00

COGS

-$8.00

Revenue

+$7.00

New product revenue

+$4.00

Marketing

+$2.00

Payroll

-$1.00

Actual

$24.00

Show as table
Financial bridge values
LineValueContext
Budget$20.00Endpoint
COGS-$8.00unfavourable
Revenue+$7.00favourable
New product revenue+$4.00favourable
Marketing+$2.00favourable
Payroll-$1.00unfavourable
Actual$24.00Endpoint
Explore profit contributions · 5 input rows

Expand an entered group to see its lines. These are contributions to the unchanged profit walk; opening a group does not recalculate a filtered result. All detail remains here, including small and offsetting movements omitted from the chart. Group names are supplied labels, not a verified company hierarchy.

All entered contributions: +$4.00 · matches this walk’s movement

Ungrouped (no group supplied) · +$4.00 · 5 lines
Input rowLineNatureContribution
1Revenueincome+$7.00
2COGSexpense-$8.00
3Payrollexpense-$1.00
4Marketingexpense+$2.00
5New product revenueincome+$4.00

Worth knowing before you present this

  • 1 unbudgeted line: New product revenue. Full impact, no percentage — there is no budget to divide by.

Drivers

Every line, ranked by absolute impact. Impact is the signed contribution to its walk; raw variance is simply actual less budget.

Line itemNatureRaw varianceActual − BudgetVariance %Raw variance ÷ |budget|ImpactPositive is favourableContributionShare of total absolute movement, not a signed mix
COGSexpense+$8.0013.3%-$8.0036.4%
Revenueincome+$7.007.0%+$7.0031.8%
New product revenueUnbudgetedincome+$4.00n/a+$4.0018.2%
Marketingexpense-$2.00-25.0%+$2.009.1%
Payrollexpense+$1.008.3%-$1.004.5%

No percentage: the budget is zero, so there is no base to divide by.

Where this analysis stops

What has been checked

The calculation adds up from the entered rows. Business meaning and source completeness have not been independently verified.

  • Arithmetic agreement does not verify the selected source, period, business meaning or statement completeness.
  • This is the current calculation, not an immutable historical snapshot.
  • Only the entered rows are included. No independent reported total has been supplied.

Period labels are entered text; a monthly dataset comparison is not currently linked.

Source references: input row 1, input row 2, input row 3, input row 4, input row 5. Imported references identify the selected source at import; editing a row clears its direct reference. Account saves keep input rows only.

Current threshold: 0. Ranked groups or lines below this absolute movement join Other; the top-eight limit still applies. Every input remains in the contribution view. Zero keeps the existing ranked chart.

Create an editable PowerPoint slide locally. The notes include calculation values, period labels and source references, including source file names when present. Edits in PowerPoint are not recalculated. No file is uploaded.

Reuse the analysis

Copy the summary, or export the rows and the chart.

Transparent by design

How this calculation works

Income increases and expense reductions are labelled favourable. Balance-sheet movements use neutral colours: an increase in an asset, liability or capital does not by itself establish better or worse performance.

Raw variance

Actual minus budget, for every nature. Never re-signed.

Impact

Actual minus budget for income, assets and capital. Budget minus actual for expenses and liabilities. Positive increases the walk total; balance-sheet impacts carry no favourable/adverse judgment.

Variance %

Raw variance divided by the absolute budget. Not calculated where budget is zero, or where budget and actual sit on opposite sides of zero. A line that falls to exactly zero keeps its percentage.

Contribution

Absolute row impact divided by the sum of all absolute impacts. A materiality scale, not a balance sheet total.

Profit walk

Budget profit plus the impacts equals actual profit, with income added and expenses subtracted. Profit here is income minus expense from the lines you tagged — not statutory profit before tax.

Balance sheet walks

Net assets and capital walk separately and are never added: net assets are capital, so one total would count the same movement twice.

Reconciliation

Where a walk does not land on its actual endpoint, the expected, calculated and residual figures are all shown. A difference is never spread across the lines.

Chart aggregation

Ranked, the chart draws up to eight groups or lines meeting the selected absolute movement threshold, with the rest combined in Other. A zero-net Other has no bar; its rows remain in the contribution view. Profit bars follow their signed impact; balance-sheet bars remain neutral. Statement order bypasses the threshold and draws every entered line or group. The driver table and expanded contributions keep every row.

The downloaded chart

The image is built from the same bars as the walk on screen, so a book of more than eight lines exports a chart that reaches its own closing total.

Keep this analysis for later. Saving is optional.

Feedback

Save this analysis

We will store the name and this tool’s supported calculation inputs, assumptions, labels, currency and number format, plus its identifier, save dates and your account ID. Outputs are recalculated when you open it.

Chart export styling, materiality filters, monthly review datasets and connected supporting analyses are not included in account saves.

No source workbook or chart file is uploaded. Your inputs stay in the browser until you sign in and confirm saving. A temporary draft stays in this tab for up to 30 minutes while you sign in.

Saved inputs are stored on Cloudflare in Western Europe until you delete them or your account. Deleted data may remain in restricted, encrypted backups in Asia-Pacific until their 30-day expiry. A separate encrypted recovery log keeps record IDs, protected email fingerprints and deletion or unsubscribe times for 35 days so a restore does not bring deleted data back. It contains no financial inputs. Expiry runs automatically and may not remove records at the exact deadline.