Flux analysis compares each account balance with the prior period, usually last month, flags the changes that cross a set dollar and percent threshold, and explains each one in writing. The change is current minus prior, in dollars and as a percent. It is part of the month-end close and answers what moved and why.
Flux analysis compares each account balance with the prior period, usually last month, flags the changes that cross a set dollar and percent threshold, and explains each one in writing. The change is current minus prior, in dollars and as a percent. It is part of the month-end close and answers what moved and why.
The pages that rank for this term come from close software vendors. They give the formula and one small example, and most stop there: no rule for a prior balance of zero, no answer on whether a line must pass the dollar floor and the percent floor or only one, no file to work in, and nothing about subscription businesses. A SaaS company's balance sheet swings every time annual renewals are invoiced, so it needs more than a percent column. This guide covers the formulas with Excel versions, how to set thresholds, a worked SaaS month with roll-forwards, how to separate seasonality from a real change, and a free template.
What is flux analysis?
Flux analysis is the review of how much each account changed between two periods, and why. "Flux" is short for fluctuation. You line up the closing balances for this period and the prior one, calculate the change, and write an explanation for every change large enough to matter.It runs at the end of the month close, after reconciliations and before the numbers go to the CFO, the board or the auditors. Many teams skip the balance sheet half: FloQast reported in 2023 that fewer than 60% of the accounting teams on its platform run a balance sheet flux as part of their monthly close. It catches two kinds of problem:
- Errors. A missed accrual, a reversed entry, an invoice posted to the wrong account. A line that should be steady and moved 30% is often a booking mistake.
- Real changes that someone will ask about. A new hire class, an annual event, a big renewal month. If finance explains these first, the review meeting is about decisions instead of questions.
The usual comparison is horizontal: the same account across periods (month over month, quarter over quarter, or the same month last year). Some guides also cover vertical analysis, where each line is a percent of a total within one period, such as cost of revenue as a percent of revenue. Vertical ratios are useful context in a flux explanation, but the flux itself is the period-to-period change.
Flux analysis vs variance analysis
Flux analysis compares actuals with earlier actuals. Variance analysis compares actuals with a plan. The words are often used as synonyms, even by the vendors that rank for both, but they answer different questions.| Flux analysis | Variance analysis | |
|---|---|---|
| Baseline | Last month, last quarter, or the same month last year | Budget, plan or forecast |
| Question | What changed, and why? | Did we deliver what we planned? |
| Main owner | Controller and accounting | FP&A, the CFO, RevOps for bookings |
| When | Every month, during close | Monthly or quarterly review |
| Covers | Every income statement and balance sheet account | Mostly revenue, costs and operating income |
| Typical output | A short explanation per material account | Drivers such as price, volume and mix, and an action |
Flux analysis formulas, with Excel versions
Every flux calculation comes from a dollar change, a percent change and a threshold test. The Excel column assumes the prior balance in F, the current balance in G, the dollar and percent thresholds in J and K, the same layout as the template's MoM flux tab.| Measure | Formula | Excel or Google Sheets | Notes |
|---|---|---|---|
| Dollar change | Current - Prior | =G6-F6 | The sign shows direction |
| Percent change | (Current - Prior) / ABS(Prior) | =IF(F6=0,"n/m",H6/ABS(F6)) | ABS keeps the sign right for negative balances; "n/m" (not meaningful) when the prior is zero |
| Material, AND rule | Both floors passed | =IF(AND(ABS(H6)>=J6,IF(ISNUMBER(I6),ABS(I6)>=K6,TRUE)),"Yes","No") | Fewer, larger explanations |
| Material, OR rule | Either floor passed | =IF(OR(ABS(H6)>=J6,IF(ISNUMBER(I6),ABS(I6)>=K6,FALSE)),"Yes","No") | More lines flagged |
| Year-over-year change | Current - Same month last year | =D6-C6 | Removes seasonality |
| Roll-forward | Opening + Additions - Reductions = Closing | =B6+C6-E6 | Gives the numbers for a balance sheet explanation |
How to set materiality thresholds for flux analysis
Set a dollar floor and a percent floor for each group of accounts, decide whether a line must pass both or either, and do it before you see the month. No single number fits every company. The threshold should match the size of the account and how much time the team has to write.Published examples show how wide the range is:
| Source | Threshold | How it is applied |
|---|---|---|
| SEC Staff Accounting Bulletin 99 | Names a common 5% rule of thumb | Warns that "exclusive reliance on this or any percentage or numerical threshold has no basis in the accounting literature or the law" |
| Ramp | Revenue accounts $50,000 to $100,000 and 5% to 10%; balance sheet $25,000 to $50,000 and 15% to 20% | Example ranges by account type; also gives "$25,000 or 10%, whichever is triggered first" |
| Trintech | $5,000 and 2% on one accounts payable account | The account is flagged when the change exceeds both |
| ORM template default (illustrative, about $12M ARR) | Revenue $25,000 and 5%; cost of revenue and opex $20,000 and 10%; balance sheet $50,000 and 10% | AND rule, with an always-explain list |
- AND or OR. Under AND, a line needs a large dollar change and a large percent change, which filters out a 40% swing on a $3,000 account and a 1% wobble on your largest balance. Under OR, either is enough. Pick one and write it down: Ramp's example uses "whichever is triggered first", which is OR, while Trintech's needs both, which is AND. In the worked example below, switching from AND to OR adds two lines to explain.
- Groups, not one number. Revenue gets the lowest floors because it is the line the board reads first. Large, steady balance sheet accounts get higher dollar floors.
- An always-explain list. SAB 99 lists qualitative reasons a small number can matter, such as whether it hides a change in earnings trends or affects loan covenants or management pay. Put accounts like cash, revenue reserves, related-party balances and anything tied to a covenant on a list that is explained every month, whatever the size.
Set the thresholds before the results are in. If you set them after, they tend to move until the awkward lines fall under them.
How to do a flux analysis in 7 steps
Close and reconcile first, then calculate, filter, split each change into its causes, and write. In order:- Reconcile before you flux. A flux on unreconciled balances explains numbers that will change again. Bank, receivables, deferred revenue and accruals should tie to their subledgers.
- Pull prior and current balances from the trial balance. Same account list, same mapping, both periods. If an account was split or renamed, map the prior period to the new structure first, or the flux shows a reclass as a business change.
- Calculate dollar and percent change for every account. Use the formulas above. Flag favorable or unfavorable for income statement lines, where direction has a meaning.
- Apply the thresholds and the always-explain list. Only material lines get a written explanation. Everything else stays in the table.
- Split each material change into its causes. For balance sheet accounts, use a roll-forward: opening balance, what came in, what went out, closing balance. For income statement lines, list the two or three items that make up most of the change, with amounts.
- Check the same month last year. A month-over-month drop that is still growth against the same month last year is seasonality. Say so, with both numbers.
- Write, review and carry forward. One short paragraph per material line, reviewed by someone who did not write it. Keep last month's explanations beside this month's: a change explained as "timing" three months in a row is not timing.
Worked example: a SaaS company's October flux
In this illustrative month, a SaaS company at about $12M ARR has 14 accounts in its flux review, and 7 need an explanation under the AND rule. The thresholds are the template defaults above. Cash is on the always-explain list.| Account | Sep 2026 | Oct 2026 | $ change | % change | Material? |
|---|---|---|---|---|---|
| Subscription revenue | $982,500 | $1,007,700 | +$25,200 | +2.6% | No |
| Professional services revenue | $95,000 | $61,000 | -$34,000 | -35.8% | Yes |
| Cost of subscription revenue | $180,000 | $187,000 | +$7,000 | +3.9% | No |
| Cost of services | $80,000 | $72,000 | -$8,000 | -10.0% | No |
| Sales and marketing (excl. commissions) | $520,000 | $585,000 | +$65,000 | +12.5% | Yes |
| Commission expense (amortization) | $41,000 | $43,500 | +$2,500 | +6.1% | No |
| Research and development | $310,000 | $312,000 | +$2,000 | +0.6% | No |
| General and administrative | $150,000 | $196,000 | +$46,000 | +30.7% | Yes |
| Cash | $6,200,000 | $5,950,000 | -$250,000 | -4.0% | Yes (always explain) |
| Accounts receivable | $1,400,000 | $2,350,000 | +$950,000 | +67.9% | Yes |
| Deferred commissions (asset) | $610,000 | $595,500 | -$14,500 | -2.4% | No |
| Accounts payable | $210,000 | $198,000 | -$12,000 | -5.7% | No |
| Accrued commissions | $140,000 | $62,000 | -$78,000 | -55.7% | Yes |
| Deferred revenue | $4,100,000 | $4,820,000 | +$720,000 | +17.6% | Yes |
Under the OR rule, two more lines would need a sentence. Subscription revenue passes the $25,000 dollar floor at +$25,200, and cost of services hits the 10% percent floor at -10.0%. Whether that is useful depends on the team. Subscription revenue probably deserves a line every month anyway, which is an argument for adding it to the always-explain list rather than switching the whole review to OR.
Balance sheet accounts: explain them with a roll-forward
A balance sheet explanation should quote the movements behind the change, and a roll-forward gives you those numbers. Opening plus additions minus reductions equals closing. If it does not tie, an entry is missing or a balance was reclassed, and you have found an error before the auditor did.| Account | Opening | Additions | Reductions | Closing |
|---|---|---|---|---|
| Deferred revenue | $4,100,000 | $1,727,700 subscription billings | $1,007,700 revenue recognized | $4,820,000 |
| Accounts receivable | $1,400,000 | $1,788,700 billings (subscription + services) | $838,700 cash collected | $2,350,000 |
| Deferred commissions | $610,000 | $29,000 capitalized | $43,500 amortized | $595,500 |
| Accrued commissions | $140,000 | $29,000 earned | $107,000 paid | $62,000 |
| Cash | $6,200,000 | $838,700 collected | $1,088,700 paid out | $5,950,000 |
The accrued commissions line is a good example of why flux needs context. It fell 55.7% because September, the last month of Q3, earned $107,000 of commissions that were paid in October, while October, the first month of Q4, earned $29,000. Nothing is wrong. That is the rhythm of a sales quarter.
Month over month or the same month last year
Compare with last month to catch errors, and with the same month last year to judge the trend, because SaaS months are not equal. Across ORM's customers, the third month of a quarter is always the largest and the first month is always the smallest. Q4 is usually the largest quarter, followed by Q2, Q3 and Q1.The example's ARR bridge shows what that does to a month-over-month view:
| ARR line | Sep 2026 | Oct 2026 | Oct 2025 | vs last month | vs last year |
|---|---|---|---|---|---|
| Beginning ARR | $11,580,000 | $12,000,000 | $9,240,000 | ||
| New customer ARR | $420,000 | $180,000 | $150,000 | -57.1% | +20.0% |
| Expansion ARR | $95,000 | $110,000 | $80,000 | +15.8% | +37.5% |
| Contraction ARR | -$30,000 | -$25,000 | -$20,000 | ||
| Churned ARR | -$65,000 | -$81,000 | -$60,000 | ||
| Ending ARR | $12,000,000 | $12,184,000 | $9,390,000 | +1.5% | +29.8% |
The bridge also checks itself. October's beginning ARR equals September's ending ARR, and subscription revenue booked ($1,007,700) is close to average ARR divided by 12 ($1,007,667). Pete calls this monthly reconciling waterfall, beginning ARR, churned and contracted ARR, new and expanded ARR, ending ARR, with beginning always equal to last month's ending, the one chart he would put in front of every SaaS CFO. A flux review that includes it ties the revenue line to the customers behind it. The worked version is in the ARR waterfall that reconciles.
How to write a flux explanation
A good flux explanation says what changed, why, how much each cause explains, and whether it will repeat, in words someone outside the team can follow. Harvard's Office of the Controller lists the components of a good flux explanation as what changed, why it changed, the amounts behind the change, and writing that a third party can understand.| Weak explanation | Strong explanation |
|---|---|
| "Increase due to timing." | "Up $720,000 (17.6%). Subscription billings of $1,727,700, mostly annual renewals invoiced on October 1, less $1,007,700 of revenue recognized. Unwinds into revenue over the next 12 months." |
| "Higher marketing spend." | "Up $65,000 (12.5%). $40,000 is the annual customer event, expensed in October, and $25,000 is two account executives who started October 1, in the hiring plan. The event does not repeat in November." |
| "Lower services revenue." | "Down $34,000 (35.8%). A large implementation finished in September and no project that size started in October. The Q4 services forecast already assumes about $60,000 a month." |
- Lead with the number. The change in dollars and percent, then the cause.
- Make the causes add up. If you name two causes, their amounts should explain most of the change. "$40,000 plus $25,000" explains $65,000. "Various items" explains nothing.
- Say timing or permanent. Timing reverses (an invoice collected next month, a renewal billed early). Permanent does not (a lost customer, a new monthly cost).
- Say what happens next. Will it repeat, reverse, or change the forecast?
- Keep the same words for the same thing. Pete's rule for boards applies to flux too: a number that shows up on one slide must show up the same way on the next, or come with a clear reason it changed. The same goes for definitions. If the account mapping or an assumption changed since last month, note what changed and why.
Which SaaS accounts move, and what usually moves them
In a SaaS company, most large month-over-month changes come from billing terms, the sales calendar and hiring, so check those first.| Account | What usually moves it | What to check |
|---|---|---|
| Subscription revenue | New, expansion, contraction and churned ARR | It should be close to average ARR / 12; a gap means a revenue recognition or ARR definition issue |
| Services revenue | Project start and finish dates | Project schedule, percent complete |
| Deferred revenue | Annual and multi-year invoices on renewal dates | Roll-forward: billings in, revenue recognized out |
| Accounts receivable | The same invoices, then collections | Aging buckets; did anything move past 60 or 90 days? |
| Deferred commissions | Commissions capitalized on new bookings, then amortized | Capitalized amount vs bookings; amortization vs schedule |
| Accrued commissions | Quarter-end bookings, paid the following month | Bookings by month; month 3 of a quarter is the largest |
| Cost of subscription revenue | Hosting usage, support headcount | Cost as a percent of subscription revenue |
| Sales and marketing | New hires, events, campaign timing | Start dates vs hiring plan; one-time vs recurring spend |
| General and administrative | Audit, legal, insurance renewals | Annual costs accrued monthly vs expensed when billed |
The flux analysis template (Excel)
The free template has six tabs and every number in the example is illustrative. Yellow cells are inputs, white cells are formulas, material rows turn pink, and check cells must read 0. It opens in Excel and in Google Sheets (File, Import, Upload).| Tab | What it does | Key columns |
|---|---|---|
| Read me | What each tab does, every formula in words | None |
| Thresholds | The AND or OR rule, period labels, dollar and percent floors by account group | Group, $ threshold, % threshold |
| MoM flux | Prior vs current for every account, the material test and the commentary log | Prior, current, $ change, % change, always explain?, material?, favorable?, driver, timing or permanent, commentary, owner, reviewed by |
| YoY flux | Current month vs the same month last year for income statement lines | Same month last year, current, $ change, % change, material?, commentary |
| Roll-forwards | Opening + additions - reductions = closing for deferred revenue, receivables, deferred and accrued commissions and cash | Additions, reductions, closing, check |
| ARR bridge | Monthly waterfall for prior month, current month and same month last year | Beginning, new, expansion, contraction, churn, ending, continuity check, implied revenue, monthly GRR and NRR |
- On Thresholds, set the rule (the example uses AND) and the floors per group before you look at the month.
- On MoM flux, paste prior and current balances from your trial balance. Mark which income statement lines are better when higher, and which accounts are always explained.
- Read the count at the top: in the example, 7 material lines. A second counter shows material lines that still have no commentary.
- On Roll-forwards, enter the additions and reductions for each balance sheet account. Four of the cells fill themselves from other tabs, and every check reads 0 in the example.
- On YoY flux and ARR bridge, enter the same month last year. In the example, new customer ARR is down 57.1% on the month and up 20.0% on the year.
- Write commentary for each material line, using the roll-forward numbers. Change the rule cell to OR to see the two extra lines it would flag.
Common flux analysis mistakes
Most weak flux reviews come from thresholds set after the fact, percent changes that break on small balances, and explanations with no numbers.- Running flux before reconciliations. The balances change again and the explanations go stale.
- Using only a percent threshold. Small accounts flood the list. Using only a dollar threshold hides a large percent change on a mid-sized account.
- Dividing by a zero or negative prior balance. Show "n/m" for zero and use ABS for negatives.
- Explaining with words only. "Timing" with no amount is not an explanation. Quote the roll-forward.
- Comparing month 1 of a quarter with month 3 and calling it a decline. Check the same month last year.
- Treating flux as a variance report. If the question is whether you hit plan, use variance analysis and write commentary the way revenue variance commentary describes.
- Writing a new explanation from scratch every month. Keep the log. Repeating causes are the most useful thing a flux review finds.
Where ORM fits
Flux analysis works because it studies change, not only balances. The same idea drives ORM's forecasting. ORM snapshots each customer's pipeline every day, so it can see what changed and when: a deal that moved stage yesterday, an amount that dropped, a close date that slipped. Pete's view is that the movement in the pipeline often tells you more than the state of it. Those daily changes feed a revenue forecast by week, with a range, that targets 95% accuracy, so the revenue line in next month's flux holds fewer surprises. To see it on your own data, see how ORM works.
Frequently Asked Questions
What is flux analysis in accounting?
Flux analysis is a month-end close review that compares each account balance with the prior period, calculates the change in dollars and percent, and flags the changes above a set threshold. Each flagged account gets a written explanation of what changed, why, and how much each cause explains. Controllers use it to catch errors before the books close and to answer auditor and board questions.
What is the difference between flux analysis and variance analysis?
Flux analysis compares actual results with actual results from an earlier period, such as last month or the same month last year. Variance analysis compares actual results with a plan, budget or forecast. Flux asks what changed. Variance asks whether you hit what you planned. Many teams use the words loosely, but keeping the two apart tells you whether a gap is a trend or a planning miss.
What does flux mean in simple terms?
Flux means change or movement. In accounting it is short for fluctuation: how much an account moved from one period to the next. A flux of $50,000 on accounts receivable means the balance is $50,000 higher or lower than it was at the end of the prior period. Flux analysis is the habit of explaining those movements before anyone else asks.
What is an example of flux analysis?
A SaaS company sees deferred revenue rise from $4,100,000 in September to $4,820,000 in October, up $720,000 or 17.6%. That passes its $50,000 and 10% threshold, so it needs an explanation. The roll-forward shows $1,727,700 of subscription billings, mostly annual renewals invoiced on October 1, less $1,007,700 of revenue recognized. The change is timing and unwinds over twelve months.
What is a good materiality threshold for flux analysis?
Most teams use two floors per account group, a dollar amount and a percent, and set them before the month is reviewed. Ramp's example ranges for revenue accounts are $50,000 to $100,000 and 5% to 10%. The SEC warns that relying only on a percentage, such as the common 5% rule of thumb, has no basis in accounting literature, so add an always-explain list for sensitive accounts.
How often should you do a flux analysis?
Every month, as part of the close, for both the income statement and the balance sheet, with a quarterly and year-over-year view on top. Monthly is where errors are cheapest to fix. FloQast reported in 2023 that fewer than 60% of the accounting teams on its platform run a monthly balance sheet flux, so a monthly habit already puts you ahead of many teams.
See how ORM turns these insights into action
ORM builds custom revenue forecast models for B2B SaaS companies. Not dashboards. Prescriptive analytics that tell you what to do next.
Schedule a Demo
