R001 — Hardcoded Cells
Executive Summary
Key Takeaways
- ✓ R001 flags a typed numeric constant embedded in a formula cell within a row that otherwise follows a consistent formula pattern across its interior cells.
- ✓ It carries the highest weight of any FMAE rule (15.0) and is one of five critical-override rules — a single triggered finding caps the model's letter grade below A or B regardless of the numeric score.
- ✓ The rule deliberately excludes the first and last cell of a row from its pattern comparison, because a different edge-of-row value (a ramp-up first period, a terminal value) is common and legitimate.
- ✓ R001 and R004 (Formula Inconsistency) are the general/specific pair covering the same row-pattern mechanism — R001 catches a typed constant, R004 catches a different formula.
Purpose¶
R001 detects a hardcoded numeric value embedded in a formula cell, in a row where the surrounding cells otherwise share a clear, dominant formula pattern. It is the FMAE engine's primary check for the single most common structural risk in financial models: a business assumption typed directly into a calculation cell instead of referenced from a controlled input.
Detection Logic¶
R001 examines each row of a worksheet as a group. If a row's interior cells (excluding the first and last cell in the row — a different edge-of-row value, such as a ramp-up first period or a terminal value, is common and legitimate, so the row's edges are excluded from the comparison) establish a clear, dominant formula pattern, any cell within that interior that contains a typed numeric value instead of following the row's formula pattern is flagged. A row that does not establish a clear dominant pattern in the first place — too few comparable cells, or no single formula pattern dominant enough to call a baseline — is not evaluated by this rule at all.
This is a conceptual description of what the rule looks for; the specific thresholds and sample-size requirements behind "a clear, dominant formula pattern" are internal to the engine and not disclosed here.
Why It Matters¶
A hardcoded value inside a formula row does not respond when the model's stated assumptions change elsewhere. If a row's formula is meant to calculate revenue as prior-period revenue times a growth rate held in an input cell, and one period's cell instead contains a typed number, that period's revenue will not move when the growth rate assumption is changed — while every other period in the row correctly does. The model appears to respond to the assumption change (because most of the row does), while silently not applying it to the affected period. This is the specific failure mode that makes hardcoded cells the highest-weighted rule in the entire engine (15.0) and one of five rules capable of capping a model's overall letter grade under the SM-2.0 Scoring Methodology, regardless of how high the model's numeric score otherwise is.
Evidence Produced¶
A triggered R001 finding's evidence identifies the specific sheet and cell address of the hardcoded value, the cell's current value, and a description stating how many of the row's interior cells follow the dominant pattern versus how many (including this one) do not, so the finding is traceable back to exactly the row context that caused it to be flagged. See the Finding Data Model & Confidence page for the full evidence and provenance model this finding is built on.
Severity¶
Critical. Weight 15.0 — the single highest weight of any rule in the FMAE engine. R001 is one of five critical-override rules under SM-2.0 (alongside R002, R004, R006, and R023): if it triggers even once, the model's overall letter grade is capped below A or B regardless of the numeric score the weighted formula produces.
Example¶
Trigger. A revenue row runs five annual formula cells, four of which read =C5*(1+$B$12) (prior period
times one plus a growth-rate input cell), shifted appropriately by column. The fifth cell instead reads
92450 — a typed number with no formula at all. R001 flags this fifth cell: the row's interior otherwise
establishes a consistent formula pattern, and this cell departs from it with a typed constant.
Non-trigger. The same row, but every interior cell correctly reads a shifted version of
=C5*(1+$B$12). No cell departs from the row's pattern, so R001 does not fire — even though the row
contains a growth-rate assumption, because that assumption lives in the referenced input cell, not typed
into the formula.
Recommended Remediation¶
The typed value is replaced with a formula consistent with the row's dominant pattern, referencing the same input cell the rest of the row already uses. Where the flagged cell's typed value differs from what the input-cell-referenced formula would produce, this should be treated as a separate finding in its own right — the typed value may represent an intentional override that was never reconciled with the model's stated assumption, and simply restoring the formula would silently change the model's output without that change being understood.
Related Rules¶
R001 shares the Structural taxonomy category with R002, R004, and R006, each published in this same initial phase of the Rule Reference; the remaining Structural-category rules follow in later phases and are indexed on the Rule Reference page as they are published. R001 and R004 are, specifically, a general/specific pair: both compare a row's interior cells against its own dominant pattern, but R001 flags a typed constant overriding the pattern while R004 flags a different formula breaking it.
Related Articles¶
- Hardcoded Formulas in Financial Models — the Knowledge Centre's buyer-facing technical guide to hardcoded values, covering how they arise, their structural risk, and manual versus automated detection.
Related Research¶
- RP-001: Why Hardcoded Cells Cause Financial Model Failure — a methodological account of this failure mode, grounded in this rule's detection rationale.
Version History¶
No version-specific changes to R001's severity, weight, or category are recorded as of engine version 2.1.0. This section will be updated in the same edit as any future change to the rule's declared attributes.
How OXXON tests thisRun a free structural check with FMAE
Frequently Asked Questions
What does FMAE rule R001 check for?
Whether a cell in a row of otherwise-consistent formulas has been overridden by a typed numeric value rather than following the same formula the rest of the row uses.
Why is R001 critical severity?
A hardcoded value in a formula row does not respond when the model's stated assumptions change, silently disconnecting the model's output from its own inputs. R001 is also one of five rules whose triggering caps the model's overall letter grade, documented on the SM-2.0 Scoring Methodology page.
Does R001 flag every numeric value in a model?
No. Standalone input cells (a dedicated assumptions or inputs worksheet) are not in scope — R001 only evaluates cells inside a row where the surrounding formula cells already establish a consistent pattern, and flags the cell(s) that break that pattern by containing a typed value instead of the row's formula.
Is every hardcoded value in a formula wrong?
Not necessarily. A deliberately embedded structural constant (a unit conversion factor, a mathematical constant intrinsic to the calculation) is a different case from a business assumption typed into a formula in place of a reference. FMAE's detection targets the latter — see the Hardcoded Formulas technical guide for the full distinction.
Related Articles
R002 — Broken Links
R002 (Broken Links) flags a formula cell whose reference has broken — pointing at a deleted named range, a deleted worksheet, a reference-error cell, or an external workbook link the parser could not confirm resolves. It is critical severity and one of five critical-override rules under the SM-2.0 scoring methodology, meaning a single R002 finding caps the model's overall letter grade below A or B regardless of its numeric score.
R004 — Formula Inconsistency
R004 (Formula Inconsistency) flags a formula cell whose logic differs from the dominant pattern the rest of its row otherwise follows — an extra term, a different function, or a shifted reference. It is the general case of R001, catching a different formula rather than a typed constant, and deliberately excludes hardcoded cells from its own sample so the two rules never double-count the same cell. R004 is critical severity and one of five critical-override rules under the SM-2.0 scoring methodology.
R006 — Propagated Errors
R006 (Propagated Errors) flags any cell — formula or hardcoded — whose last calculated value is an Excel error (such as #REF!, #VALUE!, or #DIV/0!). Because an error value is a deterministic, unambiguous fact already present in the workbook, every R006 finding carries high confidence. R006 is critical severity and one of five critical-override rules under the SM-2.0 scoring methodology, meaning a single R006 finding caps the model's overall letter grade below A or B regardless of its numeric score.
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.
FMAE Scoring Engine — SM-2.0 Methodology
FMAE computes a model's risk score as 100 minus the triggered rules' combined weight, normalized against a fixed basis, currently 207.0 under the active SM-2.0 methodology. SM-1.0, the engine's original scoring basis (170.0, covering R001–R021), is retained as a frozen historical reference rather than deleted from the record. Five rules — R001, R002, R004, R006, and R023 — are critical-override rules. If any of them triggers, the resulting letter grade is capped so a model cannot be graded A or B regardless of how high its numeric score is. This page documents the exact formula, the versioning between SM-1.0 and SM-2.0, and a fully worked example.
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.
Hardcoded Formulas in Financial Models
A hardcoded value in a financial model is a fixed numeric value embedded directly within a formula cell, rather than being referenced from a dedicated input or assumption cell. Hardcoded values in formula cells are a structural risk because they do not update when the model's assumptions change, they are invisible during normal model navigation, and they cannot be changed consistently through the model's standard input interface. The ICAEW Financial Modelling Code and the FAST Standard both explicitly prohibit hardcoded values within formulas, requiring that all input values be entered in a dedicated input cell and referenced by formulas rather than embedded within them.