R016 — Missing Assumptions Tab
Executive Summary
Key Takeaways
- ✓ R016 is a workbook-level check producing at most one finding, asking whether the model has any identifiable dedicated input or assumptions layer at all.
- ✓ Three independent detection tiers are checked before concluding no input layer exists — sheet-name keywords, a structural hardcode-density signature, and the worksheet classifier's own output — so a non-standard tab name alone does not cause a false positive.
- ✓ The check is suppressed entirely for workbooks below a minimum sheet count, since a very small model is too small to warrant a dedicated assumptions tab.
- ✓ R016 and R018 (High Hardcode Density) can both fire on the same workbook — a sheet that is 60-69% hardcoded is dense enough for R018 but not dense enough to qualify as this rule's identified input layer, so the workbook can correctly be flagged as having neither a clean model sheet nor a clear input tab.
Purpose¶
R016 is a workbook-level check asking whether the model has any identifiable dedicated input or assumptions layer at all — a worksheet whose purpose is to hold the model's controllable assumptions, separate from its calculation logic.
Detection Logic¶
The check runs through three independent tiers, any one of which is sufficient to conclude an input layer exists (in which case R016 does not fire): a name-based tier checking whether any sheet name contains a recognized keyword associated with input, assumption, or control-panel naming conventions; a structural tier checking whether any sheet's hardcoded-cell density and sample size meet a threshold consistent with a predominantly input-driven sheet, regardless of its name; and a classifier tier checking whether the worksheet-classification stage independently identified any sheet as an Input or Interface type with sufficient confidence. The entire check is suppressed for workbooks below a minimum sheet count, since a very small model does not warrant a dedicated tab as a matter of course.
Why It Matters¶
A model with no identifiable input layer has its assumptions scattered across formula sheets rather than centralized somewhere a reviewer, or the model's own author revisiting it later, can quickly locate every controllable input. This makes the model harder to audit, harder to scenario-test (since there is no single place to vary inputs and observe the effect), and more prone to the kind of scattered-hardcode risk R001, R010, and R019 each separately detect at the cell level.
Evidence Produced¶
A triggered R016 finding's evidence names how many sheets were checked and lists every sheet name, together with a description stating that no sheet was identified as a dedicated input layer and that model inputs embedded across formula sheets are harder to locate, audit, or scenario-test.
Severity¶
Medium. Weight 6.5. R016 is not one of the five critical-override rules. Confidence is always medium.
Example¶
Trigger. A ten-sheet model has sheets named "Revenue," "Costs," "Debt," "Summary," and similar calculation-oriented names, with growth rates and cost assumptions typed directly into formulas across those sheets. No sheet name matches a recognized input keyword, no sheet is predominantly hardcoded, and the worksheet classifier does not identify any sheet as Input or Interface. R016 fires, naming all ten sheets checked.
Non-trigger. The same model, but with one sheet named "Key Drivers" holding the model's rate and growth assumptions as controlled input cells. The name-based tier recognizes "Drivers" as an input keyword, so R016 does not fire, regardless of whether the sheet's specific formatting matches any particular convention.
Recommended Remediation¶
Create a dedicated input or assumptions worksheet, and relocate the model's controllable assumptions to it as named, referenced input cells, replacing any scattered hardcoded values found elsewhere in the model.
Related Rules¶
R016 shares the Structural taxonomy category with the other Structural-category rules published in the Rule Reference, and is closely related in concept to R018 — High Hardcode Density — see the Rule Taxonomy page for the full category membership.
Related Articles¶
No existing Knowledge Centre technical guide addresses assumptions-tab governance specifically as of this writing; this section will be updated with a link in the same edit that publishes one.
Version History¶
No version-specific changes to R016'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 R016 check for?
Whether the workbook has any worksheet that can be identified as a dedicated input or assumptions layer — checked through sheet-name keywords, a structural hardcode-density signature, and the worksheet classifier's own output, so a non-standard tab name does not by itself cause a false positive.
Does R016 require the tab to be literally named "Assumptions"?
No. A sheet named "Control Panel," "Drivers," "Scenario Manager," or similar recognized naming conventions satisfies the name-based tier. Even without a recognized name, a sheet that is predominantly hardcoded values, or one the worksheet classifier independently identifies as an input or interface layer, also satisfies the check.
Why is this check suppressed for small workbooks?
Because a model with very few sheets is too small to warrant a dedicated, separate assumptions tab as a matter of course — requiring one on a two-sheet model would be a stylistic preference, not a genuine governance gap.
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.
R018 — High Hardcode Density
R018 (High Hardcode Density) evaluates each worksheet's overall hardcode density — the share of its non-blank cells that are typed constants rather than formulas. A sheet at or above a density threshold is flagged, since a genuine model sheet should be predominantly formula-driven; a sheet dominated by hardcoded values is functioning as a static data table, whether or not that was the intention. Sheets with too few populated cells to be meaningfully assessed are excluded.