Issues in Comparing SEC XBRL Filings
Wednesday, December 1, 2010 at 09:40AM
Charlie in Creating Investor Friendly SEC XBRL Filings, Modeling Business Information Using XBRL, Techniques and Trends, XBRL General Information, comparability

It is getting a little easier to communicate issues relating to XBRL reports. The biggest problem in doing this is that most people don't know how to "read" XBRL.  But as software applications become available being able to understand these sorts of issues will become easier.

There are a number of issues relating to doing basic comparisons of SEC XBRL filings. I am fortunate enough to have been dinking around with XBRL for over 12 years now, I can pretty much look at XBRL instances and taxonomies and figure most things out.  During this time I have built a multitude of software applications to help me read XBRL easier and communicate information to others.  I have taken that up a notch, combining about 10 different software tools into one tool which I call my XBRL audit or query or analysis tool.

That XBRL audit/query/analysis tool can generate a report which focuses on networks (i.e. extended links), hypercubes (i.e. [Table]s in SEC XBRL filings) and dimensions (i.e. [Axis] in SEC XBRL filings). 

Here are six different reports which I will use to make a few points. The analysis reports show different characteristics. The  focus here is comparability of the XBRL instance information.  I will look at how networks, hypercubes (i.e. called [Table]s in SEC filings), and dimensions (i.e. called [Axis] in SEC XBRL filings) impact comparability. So here are the reports with a bit of information about each report.

  1. Analysis of Apple SEC filing: Actual SEC filing.  Note that all concepts reported are modeled within [Table]s, in the case of this filing, the [Table]s are always the same, "Statement [Table]".
  2. Analysis of Heinz SEC filing: Actual SEC filing.  Note that not all concepts reported are modeled withn a [Table], you will see that many networks say "xbrl:No [Table] (None)" in the column headed "[Table] (i.e. Hypercube).
  3. Analysis of SEC Model Filing I created: Test SEC filing I created to make some points. Note that every concept is modeled within a [Table] which is similar to the Apple filing, but in my case every [Table] has a unique name which identifies the concepts in the [Table], rather than using "Statement [Table]" for every [Table]/hypercube.
  4. Analysis of Comparison Example ABC Company: Prototype GAAP filing created to test comparability.  This was build to be comparable with the XYZ Company and QQQ Company filings below. Note that all three filings use [Table]s (which are called Fact Groups as they follow the straw man implementation of the Business Reporting Logical Model (BRLM).
  5. Analysis of Comparison Example XYZ Company: Prototype GAAP filings, built to be comparable with ABC Company above.
  6. Analysis of Comparison Example QQQ Company: Prototype GAAP filings, built to be comparable with ABC Company above.

To start off let me say that this is not about my personal view as to what should or should not be comparable, that is not the point.  The point here is this: if you want comparability, there are ways to get it and there are ways to make comparability more difficult to achieve.

You may want to start off doing two things.  First, scan each of the reports which I have linked to noting what you have in each report.  Then, compare the reports looking for similarities and differences between the reports.  If you are really interested in this and want to do some extra credit work, note that each of the analysis reports links to the actual XBRL instance. Take the actual XBRL instances and try to compare them in some XBRL analysis tool.  Try to compare 1, 2, and 3.  Then try and compare 4, 5, and 6.

OK, so to my points (it helps to open all 6 reports above in your browser and bounce between them as you read this):

Some people say that you can throw software at the issues shown above and let computers sort all this out. That can happen to a degree.  For example, clearly you can write a program to go find "Assets" and "LiabilitiesAndEquity" and there is a good chance you found the balance sheet.  But maybe not, you may have found a segment breakdown.  Some things are possible using brute force and software, but one will still have to define the sets somehow.

Particularly for less sophistocated users trying to glean information from these filings, it would be better to use networks, hypercubes, and dimensions to define information rather than fight with them.  The first three XBRL instances show the hard way, the last three show an easier way. 

Which approach do you feel is best?

Article originally appeared on XBRL-based structured digital financial reporting (http://xbrl.squarespace.com/).
See website for complete article licensing information.