R015 — Explicit Aggregation Review
Executive Summary
Key Takeaways
- ✓ R015 flags a long, contiguous chain of cells joined by explicit addition, where a SUM-style formula might otherwise be expected.
- ✓ Non-contiguous addition chains — deliberately skipping specific rows — are excluded entirely, since this pattern is the structural signature of intentional component selection, not an error.
- ✓ R015 carries the lowest weight of any FMAE rule (2.0) and low severity, following a documented redesign described in this page's Version History.
- ✓ The finding asks a reviewer to confirm whether the addition chain's components are fixed and named, or whether the range is likely to grow over the model's life — it does not assert the pattern is wrong.
Purpose¶
R015 flags a formula that adds together a long, contiguous run of individual cell references using bare plus operators — a pattern that, in a professional financial model, may represent a deliberate, named list of business components, or may represent a subtotal range that would silently exclude a newly inserted row if the model is later extended.
Detection Logic¶
A formula is examined for a chain of addition operators joining a sufficiently long run of individual cell references. The chain is only flagged if the referenced row numbers form one unbroken, contiguous sequence — a chain that deliberately skips specific rows is excluded entirely, since non-contiguous selection is the structural signature of an intentional, named component list rather than an oversight.
Why It Matters¶
An explicit addition chain over a contiguous row range behaves differently from a SUM() formula over the
same range when the model is later edited: if a new row is inserted within the range, a SUM() formula
automatically expands to include it, while an explicit chain of individual + terms does not — the new
row is silently excluded from the total unless every affected formula is manually updated. Whether this
matters depends entirely on context: if the addition chain represents a fixed, named set of components
that is not expected to grow, the explicit form is often the clearer, more legible choice for a reviewer.
If the range is genuinely expected to grow over the model's life, the same pattern is a latent risk.
Evidence Produced¶
A triggered R015 finding's evidence names the number of consecutive cells joined in the addition chain and asks the reviewer to confirm whether the components are fixed and named or whether the range may grow over the model's life — a question, not an assertion of error.
Severity¶
Low. Weight 2.0 — the lowest of any rule in the FMAE engine. R015 is not one of the five critical-override rules. Confidence is always medium.
Example¶
Trigger. An operating cash flow subtotal reads =B12+B13+B14+B15+B16+B17+B18+B19+B20+B21 — ten
individual, contiguous cell references joined by explicit addition. R015 flags this cell, asking whether
the ten-line range is fixed or likely to grow.
Non-trigger — non-contiguous exclusion. An EBITDA bridge reads =B10+B12+B15+B19+B22+... — deliberately
skipping several rows in between, each omitted row representing an item the model author intentionally
excluded from this specific bridge calculation. R015 does not fire, since the referenced rows are not
contiguous.
Recommended Remediation¶
Where the components are fixed and named, and the range is not expected to grow, the explicit addition
chain may be retained as-is — it is often more legible to a reviewer than a SUM() over an opaque range.
Where the range is expected to grow over the model's life, replace the explicit chain with a SUM()
formula over the same range so future insertions are automatically captured.
Related Rules¶
R015 shares the Structural taxonomy category with the other Structural-category rules published in the Rule Reference — see the Rule Taxonomy page for the full category membership.
Related Articles¶
No existing Knowledge Centre technical guide addresses explicit aggregation chains specifically as of this writing; this section will be updated with a link in the same edit that publishes one.
Related Research¶
- RP-005: Evidence-Driven Rule Calibration — The R015 Case Study — the full case study behind the redesign summarized in Version History below.
Version History¶
R015 was substantially redesigned from an earlier, more aggressive form (previously named "Addition Chain
Risk"). The original version fired on any formula with five or more cell references joined by addition,
regardless of whether the referenced rows were contiguous, and carried high severity with a weight of 7.5.
An empirical review of the rule's findings against a real institutional model found that the overwhelming
majority — both non-contiguous chains (intentional component selection, where a SUM() would have been
incorrect) and contiguous chains representing fixed, named business subtotals — were legitimate modelling
practice rather than genuine structural risks, not merely false positives from a narrow edge case.
Following that review, the rule was redesigned: the minimum chain length required to trigger a finding was
raised, non-contiguous row references were excluded entirely (rather than treated the same as contiguous
ones), severity was lowered from high to low, and weight was reduced from 7.5 to 2.0, proportional to the
revised risk assessment. The rule's recommendation was also rewritten to stop prescribing a SUM()
replacement unconditionally, and instead ask a conditional question — retain the explicit form when
components are fixed and named, consider SUM() only when the range is expected to grow. This is the most
extensively documented calibration history of any rule in the FMAE engine, and is the grounding source for
a forthcoming Research Library case study on evidence-driven rule calibration.
How OXXON tests thisRun a free structural check with FMAE
Frequently Asked Questions
What does FMAE rule R015 check for?
A formula that adds together a long, contiguous run of individual cell references using bare plus operators, rather than a SUM-style aggregation function — a pattern that, if the underlying range later grows, would silently exclude any newly inserted rows from the total.
Why are non-contiguous addition chains excluded?
Because deliberately skipping specific rows within an addition chain (an EBITDA bridge that intentionally omits certain line items, for example) is the structural signature of intentional component selection, not an oversight — a SUM() formula would be the wrong tool for that case, since it would include rows the model author specifically chose to exclude.
Is R015 the same rule as before, under a different name?
Yes, in substance. R015 was redesigned from an earlier, more aggressive form — described in this page's Version History — after empirical review found the original version's findings were overwhelmingly legitimate modelling practice rather than genuine risks.
Related Articles
FMAE Rule Taxonomy
Every rule in the FMAE structural rule pack declares a category attribute at the point it is defined in source — this is not a classification imposed on the rules afterward for documentation purposes, it is the classification the engine itself uses. Six categories cover all 26 rules — Structural (18 rules), Assumptions Governance (1), Integrity Controls (2), Structural Hygiene (1), Aggregation Logic (1), and Model Governance (3). This page publishes that taxonomy as the FMAE equivalent of a control catalog's classification scheme, cross-linked to the Rule Reference page for each member rule.
Finding Data Model & Confidence
Every FMAE finding carries the same fixed structure — which rule triggered it and that rule's identity at the time it ran, its evidence, a narrative explanation, and a confidence label of high, medium, or low. Confidence is a deterministic categorical label derived from how strongly a row's cells agree on a pattern, not a machine-learning probability estimate. Stating this plainly matters, since describing FMAE's confidence as AI-derived or probabilistic would overstate what the engine actually does.