Information Pattern Types

In about 2002 as part of the effort to create XBRL I started creating something which I called "the patterns document".  I barely understood what I was doing.  I intuitively understood that it was important.  To make a much longer story shorter, I recognized that there were different patterns of information. In software developer lingo, there are different "types of information".  A "roll up" was one type; a "roll forward" was a different type.  I called these different types of information, these different patterns "concept arrangement patterns".

But XBRL did not describe things in this  manner.  In 2003, XBRL defined a global standard multidimensional fact model.  But XBRL did not define a standard approach to representing dimensions.  That global standard approach to representing dimensions was provided with XBRL Dimensions in 2006. But XBRL did not define a standard approach to representing rules.  That global standard approach to representing rules was provided with XBRL Formulas in 2011.

So while XBRL International provided the tools for working with facts, dimensions to describe facts, and rules to describe assertions, restrictions, and constraints; those lower-level tools worked, but they were hard to use.  What I wanted was the capability to work with different types of information and let software figure out the low level details.  I understood the types of information we dealt with in accounting: roll ups, roll forwards, restatements, differences, arithmetic, sets.  What I wanted is the facts, dimensions, and rules that related to these different types or patterns of information. 

Basically, I wanted things organized differently and easier to use.

Patterns and types are important. In his article, Describing Reality, Graham Berrisford explains typification and patterns. Atomic Design Methodology provided an approach for thinking about such patterns and  types.

Berrisford describes a pattern as (emphasis is mine), "A pattern in the interactions of elements that produces some emergent effect(s) of interest to an observer. It can be a pattern in the interactions between actors, the effects of events on entities, the inter-operations of objects, or the flows between stocks."

Berrisford describes a type as, "an abstract description or definition of what instances or occurrences have in common." He goes on to say that typification is a tool.

Paraphrasing Berrisford, there are countless potentially describable things that exist.  Some of those things are explicitly described, others are not explicitly described.  They don't need to be "explicitly described" to be useful; they only need to be empirically verifiable to possess factual significance.

And so, again paraphrasing Berrisford; information can be objective as well as subjective. You simply could not function if some information in your memory did not correspond to reality. Verification of a description is first and foremost empirical. A description of X should help you recognize an X when you see it, and perhaps also predict what an X will do next, and perhaps even what it will do after you act on it.

Saying this another way and applying this to my realization that there were patterns in information; those patterns exist whether they are explicitly typified or not and that typification is not subjective and dependent on the viewer; that typification is objective.

And thus, it is absolutely the case that different patterns of information, different types of information  patterns exist and those information patterns can be reliably identified, whether they are explicitly typed or not. (See this analysis of 6,000 XBRL-based 10-K financial reports submitted to the SEC.)

This idea information pattern types forms a useful model which can be leveraged.  For one thing, you understand what the information is representing.  But another very important idea is that you can understand how to format the information in a projection of that information in the form of a rendering which is understandable to a human trying to interpret that information.

Why is this important?  This is important because if you use this model, the information provided in the global industry standard technical format XBRL which is reliably interpretable by a machine, can also be reliably interpretable to a human.

Further, while it has been the case that viewing or READING of this information by both a machine or human for interpretation has been achievable using this model for quite some time; it is now also the case that the model enables not only the capability to READ this information but also for both a machine and a human to WRITE information into this model.

This is not conjecture, this is provable. I will get to that shortly.  But first, Tony Seal in a post on LinkedIn where he discusses a "second brain" points out the importance of a model. Interestingly, Graham Berrisford posted a comment and he referenced that article I mentioned above, Describing Reality.

Now back to the proof.  As I stated, it is not conjecture that XBRL is both machine interpretable and also human interpretable.  It is not the XBRL physical format that makes this true.  What makes this true is (a) the fact that the XBRL physical format exits, (b) the fact that a logical conceptualization of a business report exists (e.g. XBRL International's Open Information Model), and (c) the fact that in reality and in nature there are in fact different objective information patterns are verifiable, and finally (d) the fact that I have consciously understood these different types and have explained to software engineers how each of the information patterns can be rendered such that a human can reliably interpret that information.

The proof is that (a) all four of these separate software implementations of READING these explicitly identifiable information patterns (XBRL Cloud, Pesseract, XBRLQuery, Auditchain Pacioli) the identified information patterns (see this conformance suite) and (b) I can now add a FIFTH software vendor which can both READ the information and PROJECT the exact same human readable renderings but also that newest implementation can WRITE BACK TO THE GRAPH!!!

This has profound implications as I see it.  What this means is that digital information organisms can be created and both a machine can interpret those information organisms and humans can likewise interpret the exact same version of that information via a projection of that knowledge graph of information. That is the "meat and potatoes" here.  The "gravy" is that the technical format is a global open industry standard that is semantic oriented, XBRL, and it is also the case that the XBRL can be reliably converted to RDF bidirectionally, that XBRL can be bidirectionally converted to GQL which is used by labeled property graphs.

This is not enabled by the technical syntax.  This is enabled by (a) the reality that these information pattern types exist in nature and (b) leveraging the Atomic Design Methodology to create a model that explains this, and (c) explicit and implied common knowledge.

This is the best experience of working with a digital information organism.  This basic viewer does not let you edit the information, just view it.  But I can confirm that editing works very well.  It is the combination of the  "natural" or "neutral" or "logic driven" rendering; the ability to PIVOT and FILTER the information and implementation of the model within the software which makes this capability effective:

Roll up:


Roll Forward:


Arithmetic:


Restatement (a.k.a. Adjustment):


Difference (a.k.a. Variance):


Set (a.k.a. Hierarchy):


Member Aggregation (a.k.a. dimensional roll up):


Text Block (a.k.a. escaped HTML, Prose):


Grid:

So, there are a few additional information patterns. Each pattern is a pattern because it acts a little bit differently from other patterns.  Accountants have common knowledge of how information is represented; for example, the use of single and double underscores to indicate totals and subtotals.  These patterns might seem simple, but as Gall's Law states, "A complex system that works has evolved from a simple system that worked." These basic information patterns can be combined into more complex patterns such as a combination roll forward and roll up.

Roll Forward and Roll Up Combined:


In addition, any number of information blocks can be combined to form a set of information blocks that makes up a report such as a financial statement or an entire closing book. You can find many more examples here.

One final point. While the examples I have created are financial reporting related because I am an accountant; these ideas are not limited to financial reporting.  A financial report is a "type" of the more general business report.  While financial accounting does have a rich set of high level rules it can leverage to create models; this same idea relates to numbers and words generally. My final example is Lorem Ipsum text which is simply made up placeholders.

Lorem Ipsum:

And so in summary; leveraging patterns and types can make working with what would otherwise be complicated technical artifacts significantly easier.  Patterns, types, and a clever use of the Atomic Design Methodology can truly make "graph-first" pretty easy.

Additional Information:


Comments

Popular posts from this blog

Reference Reporting Frameworks

Overview

Core Pattern