BLOG: Digital Financial Reporting
This is a blog for information relating to digital financial reporting. This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting. This is my brain storming platform. This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.
Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.
Entries from November 17, 2013 - November 23, 2013
Understanding All Those Hypercubes in SEC XBRL Financial Filings
A hypercube is simply a table which can have any number of dimensions, or "n" dimensions. There are two constraints which must be differentiated in your mind: the medium using to display the information and the characteristics one is working with which describe the information.
A scalar is a piece of informtion which has no characteristics, it stands on its own. A scalar does not need to be characterized. For example, the value of pi is a scalar, it never changes; it always has the same value for everyone. (Pi or p is the ratio of a circle's circumference to its diameter and always has the value of equal to 3.14)
Visually, this is what a scalar looks like:
A list has one dimension. Dimensions are a model for expressing characteristics of information. Dimensions effectively conceptualized for unambiguous interpretation.
For example, the following is a list of numbers. But you don't know any more about the characteristics of the number. You don't know if the number is for, say, revenue, net income, assets; you don't know if the number is in US Dollars, Euros, or Yen; you don't know if the number is for Microsoft, Apple, IBM, or some other company. All you have is a list of numbers:
A table has two dimensions physical dimensions: rows and columns which intersect to form cells. A spreadsheet is a good example of presenting a table. Other terms used for table are matrix and array.
A table (spreadsheet, matrix, array) can have any number of rows and columns (or, to the limit of the software application; Excel for example does have limits).
So a table can hold pretty much any set of information and the characteristics which describe the information. But as the number of characteristics, rows, and columns increases; it gets harder and harder to work with the information. Also, if you are working with DIFFERENT tables which have different dimensions/characteristics things get more challenging.
This is why relational databases are so handy. Relational databases store information in the form of tables which can basically hold anything. But as the shapes of the tables change, it gets more and more challenging to put things into relational databases or manage all the things you have in a relational database.
Here is a small table with a value and four characteristics which conceptualize the value in the column "Fact Value":
A cube can be thought of as a three dimensional presentation of a table/matrix/array. "Space" has three dimensions. Paper only has two dimensions though. You can present three dimensional information on the two dimensional medium of paper by grouping information and printing one group, then the next, then the next linearly down the piece of paper. The software application Excel achieves three dimensions by adding the notion of a "sheet". In the old days of spreadsheets there was only one sheet. But today, Excel has the notion of a "workbook" which contains "sheets" which then contain rows and columns which intersect and form cells.
A pivot table is an approach to visualizing a complex table of information. There are two things going on with pivot tables. The first is the number of characteristics a value has and the second is how to show all of the information, including the characteristics, in usable ways. So you have both the information that you are dealing with and how to present the information. Again, a computer screen only has two dimensions, it is flat. It can be a challenge to render information which has more than two dimensions in a two dimensional space. A pivot table is one way of achieving that goal.
A hypercube is an "n" dimensional table/matrix/array. Where "n" represents any number of dimensions or characteristics. And so every table is basically a hypercube. Different tables or hypercubes can have different numbers of characteristics. It is easy to work with tables that have exactly the same characteristics or dimensions together. The more different the dimensions/characteristics, the more challenging it is to put different tables/hypercubes together.
Saying this another way, different tables/hypercubes have different shapes.
The more dimensions or characteristics that a hypercube has, the more challenging it is to rendering that information in two dimensional space such as paper or a spreadsheet. Computers can be better for presenting this sort of information to humans in readable forms because computers can be dynamic, like a pivot table.
Imagine an application which is good at handling n-dimensional information (i.e. any number of dimensions or characteristics. Consider this visualization of a four dimensional object or hypercube:
Or this visualization of a five dimensional object or hypercube:
Because a computer is dynamic, it is easier for a computer to take n-dimensional information and display it (a) in human readable terms and (b) dynamically, the user can change the representation to suit his or her specific preceived needs or demands.
A pivot table is one example of that sort of application.
SEC XBRL financial filings are nothing more than many, many hypercubes. Those hypercubes; referred to as explicit [Table]s or implied tables which have only reporting entity (or CIK), a period, and a concept which contextualize reported facts; must be managed by software application which work with the information.
Some of those software applications show static, unchangeable views of the information. The SEC Interactive Data Viewer is an example of a static application. Other applications let you change the view of the information, such as the XBRL Cloud Viewer or CoreFiling's Matnify.




Knowledge is Justified True Belief
An ontology seems to be a means to an end. Probably the most important notion to understand about digital financial reporting is that of secondary use ontologies. Secondary use ontologies are a currency of the information age. Understanding this currency is a key to thriving in the information age.
I don't have all of these pieces synthesized in my mind yet, like many of my blog posts this is more of a stream of consciousness dump on the journey toward understanding.
Something that I though was true may not be true at all. Or rather, it may only be partially true. The premise of "the semantic web" which was held by some is "anyone can say anything about anything." I thought that that statement was hogwash. Why? Well, think about the accounting equation: Assets = Liabilities and Equity. Who would dispute that fundamental building block of accounting?
Well, perhaps no one would dispute that specific fact. However, there are many other facts which exist which might be disputed by others. Said another way, there are likely some facts that few if anyone disputes and there are likely some facts that people do rightly dispute.
So what is the point? The point is this, maybe there is not just one financial report ontology. Maybe there are many. Perhaps there is some base ontology that everyone agrees on such as "Assets = Liabilities and Equity" and other fundamental accounting concepts and relations. Everyone agrees at this level. It is kind of like how two attorneys who are arguing a case establish the facts of a case, the things that neither side disputes. This allows them to focus on the things where they don't agree to be the focus of the case they are arguing.
This is actually not my notion; there are actually names for these different camps. Remember that an ontology is a description of the "things" and the "relations between things" which exist within a some determined field of study or "domain".
So, an ontology is a representation of something that exists in reality. An ontology is a "window on reality". There are two views of "reality" which are common in philosophy:
- Ontological materialism: The belief that reality exists regardless of human observers. (i.e. there is only ONE reality)
- Ontological idealism: The belief that reality is constructed in the mind of the observer. (i.e. reality is determined by the observer)
Does this mean that everyone can create their own reality? No. That is where epistemology comes in. Epistemology is the theory of knowledge.
So, what is knowledge? Some say that knowledge is "justified true belief". Basically, it seems that you need to have solid grounds for holding a belief and that you must be aware of such grounds. You can't just make stuff up. You must be able to justify your claims or beliefs.
How do you justify beliefs or claims? Evidence. Evidence must be of good quality and evidence should be logical and reasonable. Hard to argue with that. But how do you gather this evidence? Well, again from philosophy, there seems to be two approaches to that:
- Empiricism: Evidence of true knowledge is primarily found on input from our senses; by experience and by observations.
- Rationalism: Evidence of true knowledge is primarily found based on reasoning; by research results which are verified by reasoning.
How does knowledge differ from opinion or belief?
Epistemology has other aspects which explain how knowledge is obtained such as "propositional knowledge" which is the knowledge of facts and "practical knowledge" which is know how.
Why is knowledge important? Here is a great quote by Nicholas Rescher, a philosopher:
...Knowledge brings great benefits. The release of ignorance is foremost among them. We have evolved within nature into the ecological niche of an intelligent being. In consequence, the need for understanding, for "knowing one's way about," is one of the most fundamental demands of the human condition.
"Knowing one's way about." Before digital financial reporting, the only way one had to "know one's way about" was the information one had in their head. What one person had in their head may have been different than what another person had in their head.
The rigor and discipline of trying to articulate in the form of an ontology what is in your head yields two things as I see it. First, it yields clarity. Articulating this information in a form that both parties can better observe yields clarity. Second, it yields something that a computer can understand. Digitizing financial reports is a lot of work, but it makes it so computers can interact with those digital financial reports.
At some level, there needs to be agreement on "reality". For example, the fundamental accounting concepts and relations between those concepts of a financial report is such a level. At other levels, secondary use ontologies which build upon the fundamental level, there may be different views of "reality". Distinguishing between these two levels seems critical. It is highly likely that more variability will exist in secondary use ontologies. However, those creating those secondary use ontologies cannot just make things up. They must justify their beliefs and claims with quality evidence, logic, and reasoning.
I put together a play list of a handful of short videos which digs a little deeper into semantics, ontology, and epistemology. These are terms business people are not that comfortable enough with. Given that digital financial reporting is inevitable, perhaps business people need to get more comfortable.
Business people need to understand the currency of the information age. Computer readable knowledge is part of that currency.



