Evaluate · one edit, step by step

Variance analysis AI on a Call Report, traced through one failed edit

Variance analysis AI earns its place on a Call Report only if it splits a swing into the transactions that caused it, shows what is left over, and lets a second check and a person catch it when the sum does not foot. This guide follows one failed quality edit through Call Report Analysis, step by step, and ends with the tests to run before you buy.

Updated · 14 min read

Variance analysis AI, applied to a bank's Call Report, does one job a spreadsheet does not: it takes a quarter-over-quarter swing that tripped an FFIEC quality edit, splits it into the loans, payments and journal entries that caused it, proves they add up to the change, and drafts the explanation the agencies ask for, with every figure tied to its source. The prose is the easy part. The hard part is the arithmetic and the evidence, because an explanation whose drivers do not add up to the movement is a wrong explanation, however well written. Botminds' Call Report Analysis does this work with agents for each step, a second agent whose only job is to break the draft, and two people who decide, and the trace below follows one failed edit through all of it.

The edit, the loans and the people are from the solution's fictional sample bank, Corvane National Bank, filing for September 30, 2026; every amount is sample data. The rules each step answers to are linked where they appear.

One failed quality edit, from the edit run to the manager's approval

WhenWhoWhat happenedWhy it matters
Oct 20, 07:00Window watcher (agent)Escalates E-07 and two other unresolved items to the manager on day 20 of 30.Late items surface ten days before the due date, not on it.
Oct 21, 18:40Edit agentDraft 3 runs: 38 quality edits and house checks still fail. E-07: nonaccrual loans secured by other nonfarm nonresidential property, Schedule RC-N, up 64%, $48.2M to $79.1M.The condition becomes one sentence with its figures, not an edit code.
Oct 21, 19:02Variance agent and DrafterThree loans placed on nonaccrual August 14 found in the loan subledger: $17.6M, $11.2M and $6.4M. Draft v1 written: 314 characters.A driver is a transaction with an identifier, not a reason.
Oct 21, 19:03Skeptic (agent)Challenges v1: the drivers add to $35.2M, the item moved $30.9M. Cites a $4.3M principal payment posted September 22.The residual, -$4.3M, is above the $0.25M limit.
Oct 22, 10:04Analyst asks; agents redraftDecomposition rerun with the paydown; v2 drafted, 716 of 1,000 characters, every figure cited; the Skeptic passes it at 0.96.Nothing can be accepted until the sum foots.
Oct 22, 10:09Regulatory reporting analystReads v2 against its sources, accepts it and sends it for approval.Acceptance is a person's decision, under their name.
Oct 22, 10:13Regulatory reporting managerApproves E-07 as the second person.Maker and checker are different people.
Call Report Analysis on its fictional sample bank, from the audit trail for item E-07. Times are the trail's; the agents' redraft steps took seconds each.

What variance analysis AI does on a Call Report, and what it does not

On a Call Report, variance analysis means explaining why a reported balance or income line moved from the prior period, in terms a supervisor can check. It differs from budget-versus-actual analysis in finance in two ways that shape what an AI must do. The comparison is with the bank's own last filing, not a plan. And the reader is an agency analyst who will not ask follow-up questions until weeks later, so the explanation has to carry its own evidence.

The FFIEC's Guidelines for Resolving Edits set the standard any drafting tool has to meet: say why the condition exists, connect the cause to the figure, give the amounts and dates, refer to the Call Report instructions where they apply, and write it so it can be read alone. A tool that writes fluent paragraphs without those parts produces explanations that read well and fail review. A tool that finds the parts but cannot prove they add up produces explanations that pass review and are wrong.

What the AI should not do is just as clear. It should not change a reported figure: a quality edit that reveals a real error is fixed in the data, by a person, with a second person approving the correction. It should not decide that an explanation is acceptable. And it should not treat a peer group's movement as a cause; what other banks did is context for a reader, never a reason this bank's balance moved.

How does AI explain variances? By writing the swing as a sum

An AI explains a variance properly by decomposing it: listing each transaction that moved the balance, with its amount, date and source, until the parts add up to the change. Whatever does not add up is the residual, and it is reported, not hidden. In Call Report Analysis the Variance agent reads general ledger journals and the loan, deposit and securities subledgers for every movement at or above the bank's thresholds, 10% and $5 million quarter over quarter in the sample settings, and produces exactly that sum.

The E-07 swing written as a sum: three loans in, one paydown out, nothing left over

+

Halvorsen Park Office

+$17.6M

Placed on nonaccrual August 14 after an updated appraisal.

Loan subledger, LN-40712

+

Brightwater Commons

+$11.2M

Placed on nonaccrual the same day.

Loan subledger, LN-40988

+

Larchmont Corporate Center

+$6.4M

Placed on nonaccrual August 14.

Loan subledger, LN-41230

−

Larchmont paydown

-$4.3M

Principal applied September 22 from an outparcel sale, leaving $2.1M at quarter end.

Core payment record PMT-2026-0922-118

Fictional sample bank. $17.6M + $11.2M + $6.4M - $4.3M = $30.9M, the movement from $48.2M at June 30 to $79.1M at September 30; residual $0.0M. The first draft stopped after the third term and claimed $35.2M.

The sum is also what makes an explanation short. Once the drivers foot, the narrative writes itself from them: two office loans placed on nonaccrual on August 14 for $28.8 million, and a third that went on the same day at $6.4 million and was paid down by $4.3 million on September 22, for a net $30.9 million. Every number in that sentence opens to its source.

What is a residual in variance analysis, and why the first draft failed

The residual is the part of a change the listed drivers do not account for: the movement minus the sum of the drivers. A residual of zero means the explanation is complete. A large one means something is missing, and in a nonaccrual line the usual suspects are a paydown, a charge-off, a loan returned to accrual or a loan moved to another line. In the trace, the first draft's drivers added to $35.2 million against a $30.9 million change, a residual of minus $4.3 million.

A person writing in the last week would probably have sent that draft. The three loans were real, the dates were right and the instruction reference was there; only the total was off, and a reader skimming for wording would not add the numbers. The sample bank's rule is that no explanation can be accepted while the unexplained change exceeds $0.25 million or 2% of the movement, so the draft could not go forward until the residual was explained. Why the residual deserves this weight, and how auditors treat it, is set out in fluctuation analysis done to the Call Report's standard.

The Skeptic's challenge: the drivers add to $35.2M, the item moved $30.9M

Explanation screen for E-07, nonaccrual CRE loans on Schedule RC-N up 64% from June ($48.2M to $79.1M), Schedule RC-N item 1.e.(2) column C, FFIEC quality edit, escalated day 20. Left panel: the swing from $48.2M to $79.1M, change +$30.9M, three drivers each tied to a loan number, and a residual of -$4.3M marked above the $0.25M limit. Middle: the Skeptic's challenge, 'Sum does not foot', citing core payment record PMT-2026-0922-118 with a $4.3M principal payment on September 22, and a proposed fix. Right: seven evidence sources, from three loan subledger entries to a general ledger journal and the Call Report instructions.
Call Report Analysis on its fictional sample bank. The challenge names the payment that breaks the sum and proposes the fix; it cannot accept or reject the draft itself.

A second agent's only job is to break the draft

The step that makes the rest trustworthy is adversarial. The Skeptic does not write; it tries to prove the draft wrong. It foots every figure to its source, checks that every date falls in the quarter, rejects wording the guidelines call incomplete and the bank's own banned phrases, and returns its reason with the evidence. In the sample settings it passes a draft only at 0.85 confidence or above, and after three rounds of redrafting an item goes to the analyst rather than round again.

Separating the writer from the checker matters for the same reason it matters between people. A model that drafted an explanation is a poor judge of its own arithmetic, and the failure that matters here, a plausible total that is simply wrong, is the kind fluent prose hides best. Giving the challenge to a second agent with different instructions, and recording each challenge on the audit trail, means a reviewer can see what was tested, not only what was concluded.

The agents redraft, step by step, after the finding

E-07 redraft in progress: under the struck-through first draft, four completed steps. The Drafter reads the Skeptic's finding, payment PMT-2026-0922-118 for $4.3M principal on Larchmont Corporate Center on September 22, in 1.4 seconds. The Variance agent decomposes again: $17.6M + $11.2M + $6.4M - $4.3M paydown = $30.9M, residual $0.0M, in 1.6 seconds. The Drafter rewrites to the FFIEC guidelines: why, amounts, dates, instruction reference, six citations, 716 characters. The Skeptic tries to break version 2: every figure ties to its source, drivers foot to $30.9M, no banned wording.
Call Report Analysis on its fictional sample bank. The redraft is visible step by step, so the analyst can see what changed between versions before reading the new one.

Can AI write Call Report edit explanations the agencies accept?

It can draft them, if the draft meets the agencies' own checklist and a person stands behind it. Whether an explanation is acceptable is the agency analyst's call, made after the report is accepted, so the useful test for a drafting tool is the guidelines' list, item by item. The comparison below sets each requirement beside what the trace produced for E-07.

What the FFIEC guidelines ask of an explanation, and what the trace produced

What the guidelines askWhat version 2 of E-07 contains
Why

What the guidelines ask: Explain why the condition that prompted the edit exists, or why an unusual fluctuation occurred.

What version 2 of E-07 contains: Two office loans placed on nonaccrual after updated appraisals, and a third paid down from an outparcel sale.

Cause to figure

What the guidelines ask: Connect the event clearly to the condition the edit message describes.

What version 2 of E-07 contains: Each loan named by property and loan number, its amount added to or taken from the line.

Amounts and dates

What the guidelines ask: Include relevant amounts, dates and totals; say when in the quarter transactions occurred.

What version 2 of E-07 contains: August 14 for all three placements; September 22 for the paydown; totals of $28.8M and $2.1M netting to $30.9M.

Instruction

What the guidelines ask: Refer to the Call Report instructions where relevant and say why the treatment is consistent.

What version 2 of E-07 contains: Cites the Glossary entry for nonaccrual status.

Stands alone

What the guidelines ask: An analyst should be able to read the narrative without relying on the predefined explanation.

What version 2 of E-07 contains: 716 characters that read as a complete account, with no reference to the edit logic.

Left column summarises the FFIEC Guidelines for Resolving Edits (Acceptable and Unacceptable Narrative Comments). Right column is the fictional sample bank's explanation in Call Report Analysis.Source: FFIEC Guidelines for Resolving Edits

The explanation itself, as the analyst accepted it, begins: "$30.9M increase: two office loans placed on nonaccrual August 14 ($28.8M) and one ($2.1M) after paydown." Names of borrowers never appear, only properties and loan numbers, because the text goes to the agencies. The full standard, with the wording the agencies reject, is in call report edit checks and the explanation analysts accept.

Who approves an AI-drafted explanation?

A person accepts it and a different person approves it, and the AI does neither. That division follows the expectation in the OCC's examiner booklet that preparation and review sit with independent people, and it is enforced in the solution rather than left to habit: the analyst who accepts cannot approve, and a manager cannot approve a correction to a reported figure that he proposed himself (OCC, Regulatory Reporting).

Four agents draft and check; two people decide, then the bank signs

  1. Agent

    Edit agent

    Runs the FFIEC validity and quality edits and the bank's house checks on each draft; writes each failure as a sentence with its figures.

    Never: changes a reported figure or marks an edit resolved

  2. Agent

    Variance agent

    Splits the swing into drivers from journals and subledgers, and shows the residual.

    Never: counts a driver without a source, or peer data as a driver

  3. Agent

    Drafter

    Writes to the guidelines: why, amounts, dates, instruction reference, every figure cited.

    Never: names a borrower

  4. Agent

    Skeptic

    Tries to break the draft: foots each figure, checks dates and wording.

    Never: accepts or approves; it only passes or challenges

  5. A person decides

    Regulatory reporting analyst

    Reads the draft and the challenge, opens the evidence, accepts, edits or rejects with a reason.

  6. A person decides

    Regulatory reporting manager

    Approves explanations someone else accepted, and corrections someone else proposed.

Call Report Analysis. After approval, the Head of Regulatory Reporting releases the set; the CFO (or equivalent) declares and directors attest, as the FFIEC General Instructions require.Source: FFIEC 031/041 General Instructions, Signatures

Every step is recorded with its time and either the agent's version or the person's sign-in. For E-07 the trail shows the drafter's prompt version, the challenge citing the payment, the redraft, the pass, the acceptance and the approval, which is the evidence internal audit and examiners ask for when they test whether the review happened.

Every step on one trail, people and agents alike

Audit trail filtered to E-07, newest first: October 22 10:13 Marcus Feld approved E-07, signed in with SSO; 10:09 Nadia Brooks accepted E-07 and sent it for approval; 10:04 Skeptic passed E-07 v2 at 0.96, agent version v3.4; 10:04 Drafter redrafted E-07 v2 with the Skeptic's finding, agent version v4.1; October 21 19:03 Skeptic challenged E-07: sum does not foot ($35.2M vs $30.9M), cited PMT-2026-0922-118; 19:02 Drafter drafted E-07 v1 (prompt v4.1); October 20 07:00 Window watcher escalated E-07, E-12 and E-19 to Marcus Feld. Footer: 7 events shown, 1,284 this quarter, kept 7 years. A button exports an examiner pack.
Call Report Analysis on its fictional sample bank. Seven years is the solution's retention setting; the General Instructions require workpapers for three years after the report date.

How accurate is variance analysis AI? Test it on a quarter you already filed

Accuracy here is measurable, and a buyer should measure it before trusting it. The fair test is a replay: give the tool last quarter's draft, the edits that fired and the source systems as they stood, and compare its decompositions and drafts with what your team filed and what your Call Report analyst later accepted. Agree the pass marks before the run, not after.

Seven tests for variance analysis AI on a Call Report, before you buy

  1. Does every driver open to its source?

    Count the drivers without a journal entry, subledger line or document behind them. The target is none.

  2. Is the residual shown, and does it block acceptance?

    A tool that hides what it cannot explain will hide errors with it. Ask to see a draft with a residual above your limit.

  3. How often does it challenge correct drafts?

    False alarms cost review time. Seed a few known-good explanations and count the challenges.

  4. Does it catch a planted error?

    Remove a paydown or a transfer from the data and see whether the draft still claims the full movement.

  5. Does the wording meet the guidelines?

    Why, amounts, dates and instruction reference, with no bare confirmations.

  6. Can it be overruled, and is that recorded?

    An analyst must be able to override a challenge on their own item, with a reason code, visible to the manager.

  7. Does it recheck what it carries forward?

    Recurring explanations should be tested against this quarter's data before bulk acceptance.

Our test list for a replay on a filed quarter. The wording test summarises the FFIEC Guidelines for Resolving Edits; the rest are evaluation practice, not regulatory requirements.

Two results matter more than speed. The first is the planted error: a tool that misses a removed paydown is drafting, not analysing. The second is the false-alarm rate, because a checker that challenges everything trains people to overrule it. In the sample quarter, the recurrence check is a good example of a challenge worth having: of three recurring explanations selected for bulk acceptance, two held and one, former branch premises in other real estate owned, no longer did after a branch sale on September 18. Where variance analysis AI sits among the other uses of AI in a reporting function, and what the regulators say about it, is the subject of AI in regulatory reporting.

What variance analysis AI should never do on a Call Report

Some limits are better written into the tool than left to training. In Call Report Analysis each agent carries its own, and the ones below are the ones that protect the filing.

Never change a reported figure. When a quality edit reveals a real error, the correction is proposed by a person and approved by another; the release checks in the sample required all 61 of the quarter's figure corrections to be approved before the set could go. Never use peer data as a driver. Peer trends sit beside an item as context; they never enter the explanation. Never carry an explanation forward without a recheck. Last quarter's reason may no longer be true. Never name a borrower. The explanation goes to the agencies, so it names properties and loan numbers.

None of these limits slows the work much, and all of them make the draft safer to accept. To run the trace on your own last quarter, start from Call Report Analysis.

Questions people ask

Can AI do variance analysis?

Yes, if it can read the transactions behind the balance. A model given only two balances can only guess at a cause; one given the journals and subledgers can list the drivers and prove they add up. On a Call Report, the proof matters more than the prose.

What are good AI prompts for variance analysis?

The prompt matters less than the inputs and the rules. Give the movement, the edit that fired and the source detail; ask for drivers each with an amount, date and identifier, plus the residual; and forbid causes that have no source behind them. Then check the arithmetic separately.

Does variance analysis AI only look at items where an edit fired?

It should not. In the sample, the solution decomposes every quarter-over-quarter movement of 10% and $5 million or more, and every year-over-year movement of 20% and $10 million, whether or not an edit fired. Federal funds sold rose 242% with no edit at all, and its drivers were still on file.

How long does an AI-drafted explanation take?

The agents' steps take seconds; in the sample redraft, each took under two. The time that remains is human: reading the draft, opening any figure that looks wrong, and deciding. By our estimate the writing and footing work for about 38 explanations falls from about three days to one.

Is variance analysis AI a model under bank model risk guidance?

The 2026 interagency model risk guidance leaves generative and agentic AI outside its scope and excludes simple arithmetic and deterministic rule-based processes from its definition of a model. The edits and the footing check are rules; the drafting is generative. The bank's own AI governance decides how the drafting is controlled.

Call Report Analysis.
See it on your own files.

An agentic solution from Botminds. Reporting teams run FFIEC edits, explain quarter-over-quarter swings and draft explanations Book a demo, or explore how it works.