CECL double counting is charging the allowance twice for one risk: once inside the model, where a driver such as national unemployment is already moving the loss rate, and again outside it, in a qualitative factor that was created to stand in for that same driver before the model carried it. The agencies forbid it in plain words, and examiners look for it, but it is rarely the product of carelessness. It is the product of time — a model gets upgraded, a factor grid does not, and nobody rereads the overlay against the new inputs. CECL Allowance Management is Botminds' solution for the quarterly allowance close, and the overlap test is one of the checks it runs on every factor cell before the committee sees a number.
The product examples come from a fictional sample bank running through the solution: Ashgrove Plains Bank, nine loan segments, third quarter of 2026. The bank and its people are invented and their figures are sample data rather than a customer's measured result. The regulatory material is real and linked where it appears. The grid these cells belong to is described in the nine factors and the support each needs.
“Adjustments should not be made for information that has already been considered and included in the loss estimation process.”
Interagency Policy Statement on Allowances for Credit Losses
What is double counting in CECL?
It is any overlap between what the quantitative estimate already reflects and what a qualitative adjustment adds. The Comptroller's Handbook states the rule twice, once for method and once for combinations of methods: "Management should not double count losses in both the loss rates and qualitative factors, as this would be inconsistent with accounting standards", and "a bank may use a combination of these adjustments, as long as the effects are not double-counted in the total ACL estimates" (Comptroller's Handbook, Allowances for Credit Losses).
The consequence is not only an allowance that is too high. It is an allowance whose movement cannot be explained. When a driver is counted in two places, the two move at different speeds — the model's input updates with the forecast vintage, the overlay updates when somebody edits the grid — so the quarter's change contains a component nobody can attribute. That is the version of the problem a controller meets first, usually the week the bridge refuses to tie.
There is a mirror-image failure worth naming in the same breath, because fear of double counting produces it. The Federal Reserve's review of community bank examinations found "instances … of bank management placing too great a reliance on quantitative measures without the appropriate consideration or weight being placed on identified qualitative measures to address risks not captured by the quantitative calculation" (Community Banking Connections, 2025). Removing every factor that touches the economy is not the safe answer. The safe answer is knowing precisely what the model carries.
Can a qualitative factor repeat a model driver?
It can, and the most common way is the simplest: the factor and the driver are the same statistic. A bank runs a national-economy factor on commercial and industrial loans because the model, when it was built, took only the bank's own loss history. Two years later the model's reasonable and supportable forecast includes national unemployment and real GDP for that segment. Both are now in the number. Neither was wrong when it was introduced.
A subtler version is an overlap of meaning rather than of series. A factor for "deteriorating underwriting standards" is a judgement about loans made in the last two years; once those loans have started defaulting, the loss history the model learns from already contains the effect. The handbook describes the resolution directly: "The qualitative adjustment amount declines when the impact of loosened underwriting is reflected in historical loss data and captured in the quantitative loss estimation processes." The factor is right to exist, and right to shrink as the model catches up — which is an argument for reviewing it every quarter rather than for deleting it once.
The chronology that creates it: the model moves, the overlay does not
Set the two timelines side by side and the problem is obvious. A model is revalidated, re-specified or replaced on its own cycle, usually annually and usually by a different team from the one that maintains the factor grid. The grid, meanwhile, is maintained by carrying it forward. Nothing in that arrangement contains a moment where someone asks whether a factor introduced three years ago is still describing a gap.
Already in the model, and not in the model: the same quarter, two segments
Repeats a driver the model carries: An 8 bps economic factor on commercial and industrial loans, kept for “softening national conditions”.
Describes a gap the model cannot see: A 35 bps collateral-value factor on office commercial real estate, for falling local office values.
Repeats a driver the model carries: National unemployment and real GDP for that segment, in the forecast since version 3.2.
Describes a gap the model cannot see: A national commercial real estate price index, and nothing below national level.
Repeats a driver the model carries: None specific to the bank’s markets. State unemployment is 2.9%, unchanged from the prior quarter.
Describes a gap the model cannot see: Three reappraisals this quarter at 18%, 24% and 31% below prior values, and local office vacancy at 19.8% against 15.1% a year earlier.
Repeats a driver the model carries: Fails. The factor and the forecast are moving on the same statistics.
Describes a gap the model cannot see: Passes. The factor is measuring something the national index cannot show.
Repeats a driver the model carries: Remove: 8 → 0 bps on $702.6M, −$562K.
Describes a gap the model cannot see: Increase: 15 → 35 bps on $286.0M, +$572K.
The two columns matter together. A bank that removes the first factor and keeps the second has done the work. A bank that removes both has confused "the model mentions the economy" with "the model carries this risk", and a bank that keeps both is reserving twice for national conditions while under-reserving for an office market the model cannot see.
How do you prove a Q factor is not already in the model?
By naming what the model carries, in writing, before you look at the factors. The test is only mechanical if the driver list exists as a document rather than as something the modelling team knows. With the list in hand, each cell gets one question — is the basis of this factor one of these drivers? — and one of three answers: keep it, reduce it, or remove it, with a written reason in every case.
The overlap test, from the model's inputs to a decided factor
Agent
Economic forecast readerReads the forecast vintage and writes down every driver the model carries, by segment, naming the validation the list came from.
Never: Never chooses scenarios or weights
Agent
Q-factor support writerTests each of the 81 cells against that list and marks any cell whose stated basis is a driver the model already uses.
Never: Never sets a factor — proposes only
Agent
Change bridge builderPrices each proposal on the segment balance, so a removal arrives with its dollar effect rather than as a suggestion.
Never: Never forces the bridge to tie
A person decides
Allowance managerDecides each one — keep, reduce or remove — and a rejection keeps the prior level with a written reason.
A person decides
Allowance committeeApproves the allowance, with the removals named in the memo and each vote recorded by name and time.
A setting makes the second step non-optional at the sample bank: no factor may repeat a model driver, checked against the drivers in the model's forecast. Turning that into a rule rather than a habit is the difference between a test that runs on all 81 cells and a test that runs on the three cells somebody remembered to look at.
The driver list: what the model carries, and what it does not
National unemployment rate
Applies toAll nine segments
NoteIn the forecast since model version 3.2, June 2026
Real gross domestic product
Applies toAll nine segments
NoteIn the forecast since model version 3.2, June 2026
National commercial real estate price index
Applies toThe four commercial real estate pools
NoteNational series only — no state, metropolitan or county breakdown
No local labour-market series
Applies to—
NoteCounty and metropolitan unemployment are not inputs to the model
No commodity or crop-price series
Applies to—
NoteGrain and livestock prices are not inputs to the model
No local vacancy or rent series
Applies to—
NoteOffice, retail and multifamily vacancy are not inputs to the model
Is an economic qualitative factor double counting the forecast?
Not necessarily, and a footnote to the policy statement, which the Comptroller's Handbook quotes, takes the trouble to say so with an example: "an economic factor for current or forecasted unemployment at the national or state level may indicate a strong job market based on low national or state unemployment rates, but a local unemployment rate, which may be significantly higher, for example, because of the actual or forecasted loss of a major local employer may be more relevant to the collectibility of [a bank's] financial assets" (Comptroller's Handbook, quoting the Interagency Policy Statement).
Read that carefully and it is a test rather than a permission. An economic factor is defensible when the geography or the series it rests on is finer than the model's, and when the finer measure says something different. If the model runs on a national unemployment rate and the bank's county is at the national rate, a county factor adds nothing but noise. If a major employer has announced closures and the county rate is two points above the national one, the factor is carrying information the model genuinely cannot see.
The data to settle it is published. The Bureau of Labor Statistics produces, through its Local Area Unemployment Statistics programme, "monthly and annual employment, unemployment, and labor force data for … States, counties, metropolitan areas, and many cities, by place of residence" (BLS, Local Area Unemployment Statistics). A bank whose economic factor cites a county series with a date beats a bank whose factor cites "softening conditions" every time, in a committee and in an examination.
A factor coming out: 8 basis points to zero, with the reason written

When a local economic factor is still the right answer
Two of the six changes the quarter proposed at the sample bank were local trends that stayed, which is the point the policy statement's footnote was making. An agriculture factor moved from 12 to 22 basis points on a $318.9 million book because the bank's own September outlook put corn at $3.85 a bushel against a $4.30 average breakeven for its grain borrowers. No national GDP series carries that, and the model has no commodity input at all.
The same logic kept the office collateral factor alive through a test that killed the commercial and industrial one. The model's commercial real estate price index is national; the evidence behind the factor is three local appraisals and a metropolitan vacancy series. Geography is doing the work in both cases, and it is worth writing the geography into the factor's name — "office collateral values, Lincoln–Omaha" rather than "commercial real estate conditions" — because a named geography is a claim that can be tested and a vague one is not.
The driver list: the one document that makes the test mechanical
Everything above depends on one artefact, and most banks do not have it in a form the allowance team can use. The model validation report contains it, scattered across sections about specification and inputs. What the quarterly close needs is a single page: every driver, which segments it affects, the version it entered in, and — the part people forget — an explicit list of what the model does not carry.
The absences are what make the test cheap. A list that says the model has no county labour series, no commodity prices and no local vacancy data lets an analyst clear dozens of cells in a sitting, because any factor resting on those is automatically free of overlap. Without the absences, each cell turns back into a conversation with the modelling team. The list should be dated, should name the validation it came from, and should be refreshed whenever the model version changes — which is also what makes it useful evidence in an independent review of the model.
The overlap test as a rule, not a habit

What a removal looks like when it is written down properly
A removal is a change like any other and needs the same four parts: the claim, the dated evidence, the arithmetic and the overlap test. What it needs in addition is an explicit statement of what now carries the risk, because an examiner's first question about a disappearing factor is whether the bank has quietly reduced its allowance.
The sample bank's paragraph does that in two sentences: the factor was kept for softening national conditions; since version 3.2 the forecast carries national unemployment and real GDP for this segment, so the risk is in the model rather than gone. The dollar effect, −$562 thousand on $702.6 million, is stated rather than netted into a total, and it appears as its own line in the quarter's bridge. The shape of that paragraph is the same whichever way the factor moves.
Six proposed changes, priced: two of them downward
Running the test across every cell, not just the economic ones
Economic factors are where overlap is most often discussed and least often the only instance. Three other cells repay the same question each quarter.
The past-due and classified factor overlaps with any model that already segments or weights by delinquency — a roll-rate method, in particular, is built out of delinquency migration, and a past-due factor on top of it is charging twice unless it is carrying something the migration does not, such as a sharp recent move the look-back period has not absorbed. The collateral-value factor overlaps with the individually evaluated schedule: once a loan has its own reserve, the pooled factor covering its segment must exclude it by name. And the nature-and-volume factor overlaps with the model's segmentation itself — a new product given its own segment with a conservative rate does not also need a factor for being new.
At the sample bank, 81 cells were tested against the driver list in a single run and one failed. That ratio is the ordinary one: overlap is rare, and finding it costs nothing once the list exists, which is exactly why it is worth testing all 81 rather than the three that feel economic. To see the test run across a whole grid with the reasons written, start from CECL Allowance Management.
Questions people ask
Does the policy statement actually forbid double counting?
It does, in one sentence: adjustments "should not be made for information that has already been considered and included in the loss estimation process." The Comptroller's Handbook repeats the rule in the context of specific methods, warning against double counting losses in both the loss rates and the qualitative factors, and again when a bank combines several kinds of adjustment. None of them prescribes a test — that part is the bank's to design and document.
Should a national unemployment factor be removed under CECL?
If the model's forecast already carries national unemployment for that segment, yes, and the reason should be written down rather than the factor quietly disappearing. If the model carries no labour-market driver at all, a national factor may be the best available proxy, though a county or metropolitan series will usually be both more relevant and easier to defend. The question is never the word "unemployment"; it is whether the statistic the factor rests on is one the model already uses.
How do you check 81 factor cells for double counting without it taking a week?
Write the model's driver list down once, including what the model does not carry, and test each cell against it. Most cells clear immediately because their basis — a local vacancy rate, a concentration ratio, a change in credit review staffing — is nowhere in the model. In the solution, the agents run that test across every cell in a single pass and bring back only the cells that failed, with a drafted reason attached to each.
Can the model and a factor both move for the same reason without double counting?
Yes, if they are measuring different parts of the risk. A forecast of rising national unemployment raises the modelled rate for a consumer book; a factor for the closure of the single largest employer in the bank's county is a different, sharper fact about the same borrowers. The test is whether the factor's stated basis is a driver the model uses, not whether the two happen to move together.
What if the modelling team cannot produce a driver list?
That is itself a finding waiting to happen, and it is usually easier to fix than it looks: the information is in the model validation report, in the sections on specification and inputs. Extracting it into a dated one-page list, naming the model version, is a day's work that turns an argument into a check. Until it exists, every overlap conclusion the allowance memo states is an assertion.
Does removing a factor reduce the allowance?
Only by the amount the factor was adding — in the sample quarter, $562 thousand on a $47,509 thousand allowance — and only because the risk is now being measured somewhere else. The memo should say both things explicitly. An allowance that falls because a double count was corrected is a more defensible number than the one it replaced, and the bridge should show it as its own line rather than netted against the increases.