The law of conservation of complexity states:
"Every application has an inherent amount of irreducible complexity. The only question is: Who will have to deal with it-the user, the application developer, or the platform developer?"
I put together a video and a slide deck that helps professional accountants understand the multidimensional model. Understanding the multidimensional model is important if you want to correctly understand digital financial reports. Understanding the model also helps you understand how to look at software to see if the creators of that software chose to have you deal with complexity of if they dealt with complexity for you.
Just like an electronic spreadsheet has a model (workbook, spreadsheet, row, column, cell); a digital financial report has a model. Here are the high-level pieces of a digital financial report:
- Fact: A fact defines a single, observable, reportable piece of information contained within a financial report, or fact value, contextualized for unambiguous interpretation or analysis by one or more distinguishing characteristics. Facts can be numbers, text, or prose.
- Characteristic: A characteristic describes a fact (a characteristic is a property of a fact). A characteristic provides information necessary to describe a fact and distinguish one fact from another fact. A fact may have one or many distinguishing characteristics.
- Fact Table: A fact table is a set of facts which go together for some specific reason. All the facts in a fact table share the same characteristics.
- Relation: A relation is how one thing in a business report is or can be related to some other thing in a business report. These relations are often called business rules. There are three primary types of relations (others can exist):
- Whole-part: something composed exactly of their parts and nothing else; the sum of the parts is equal to the whole (roll up).
- Is-a: descriptive and differentiates one type or class of thing from some different type or class of thing; but the things do not add up to a whole.
- Computational business rule: Other types of computational business rules can exist such as “Beginning balance + changes = Ending Balance” (roll forward) or “Net income (loss) / Weighted average shares = Earnings per share”.
- Grain: Grain is the level of depth of information or granularity. The lowest level of granularity is the actual transaction, event, circumstance, or other phenomenon represented in a financial report.
Believe it or not, but 100% of XBRL-based public company financial reports fit into that rather simple model. A handful of software vendors have implemented that model. It is very easy to create something that is complicated. It is a lot harder to create something that is simple.
I will continue to improve and otherwise tune this model. If you have feedback or suggestions, please send them along. The next step is for me to improve the document Understanding Blocks, Slots, Templates, and Examplars. That explains the next layer of the model.