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.

Understanding Answer Set Programming

So you have a thick metadata layer that describes reports, you have highly-expressive ontologies that describe reported information, and you have all the reported facts themselves that are provided in the report.  But you are still missing two things from your knowledge based system.

  1. You need software to process all that information (i.e. rules engine).
  2. You need a mechanism to help the user of the software understand the results of the processing (i.e. justification mechanism).

As I pointed out before, XBRL Formula processors have specific defeciencies in their capabilities so they alone will not do.

So what do you do?

Well, you could build your own rules engine to process everything. After all, everything distills down to logic gates that are used for processing. What it is possible to build your own rules engine, creating a rules engine is not a trivial task.

What about using existing processing tools?  That can work.  You could convert everything to the semantic web stack of technologies and use existing semantic reasoners.  That could work.

I thought that PROLOG or DATALOG could work. Those could work, but as I understand it PROLOG uses backward chaining and you will need forward chaining for many of the types of problems you need to solve.

Another approach that I have heard of is answer set programming.  The best description of answer set programming that I have run across is this: (from Answer Set Programming: A Primerby Thomas Eiter, Giovambattista Ianni, and Thomas Krennwallner)

Answer Set Programming (ASP) is a declarative problem solving paradigm, rooted in Logic Programming and Nonmonotonic Reasoning, which has been gaining increasing attention during the last years.

The article Answer Set Programming at a Glance by GERHARD BREWKA, THOMAS EITER, AND MIROSLAW TRUSZCZYNSKI explains the motivation benind and key concepts of answer set programming which is a promising approach to declarative problem solving.

Answer set programming seems to be related to PROLOG.

There are free answer set programming processors such as Potassco. (you can download Potassco here) DLVHEX is another.  Here is a comparison of implementations.

You can do an online demo here.

Posted on Friday, May 10, 2019 at 02:41PM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Achieving High Expressiveness on the Ontology Spectrum with XBRL

I have mentioned the ontology spectrum. I have mentioned that "AI is taxonomies and ontologies coming to life", meaning that artificial intelligence will only work to the extent that you have high-quality and extensive set of metadata.  For example, this framework.

But, can you provide this high-quality and extensive set of metadata using XBRL?  If so, how the heck do you do that?  Well, here is the answer to this question: Yes you can and here is how you do it.

First, have a look a this graphic.  In particular, look at the gray boxes at the bottom.  I will show you how to achieve each of those items on the ontology spectrum using XBRL by providing an existing example that works.  (I am going to take as many examples as possible from my IPSAS prototype.)

If you cannot express what you need to express using the basic parts of XBRL 2.1, XBRL Dimensions, and XBRL Formula; there is one additional option.  That option is XBRL Generic Links.  With XBRL Generic Links you can define pretty much anything you want. Generic Links, like XBRL itself, uses XLink to define functionality.

Also, I would point out that XBRL complies with ISO Standards since XBRL is based on the W3C XML 1.0 technical syntax and XML is SGML:  (ISO 8879:1986 Information processing -- Text and office systems -- Standard Generalized Markup Language (SGML)

Further, XBRL is complies with W3C standards because XBRL uses the W3C standards: XML, XML Schema, XLink, XPath, XPointer, XML Base, and XML Names.

Posted on Thursday, May 9, 2019 at 08:31AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Digital Maturity

In their book The Technology Fallacy, authors Gerald C. Kane, Anh Nguyen Phillips, Jonathan R. Copulsky, and Garth R. Andrus dispel the myth that technology is behind digital transformation and shows how people are the real key.  The authors define digital maturity:

Digital maturity is primarily about people and the realization that effective digital transformation involves changes to organizational dynamics and how work gets done.

Everyone is creating their buzz words so you know things are starting to get serious.  PWC packages these changes as 4IR (i.e. the fourth industrial revolution). KPMG calls it Industry 4.0. EY is onboard with the Fourth Industrial Revolution. Deloitte calls it Industry 4.0 also.

As I have pointed out in the past, XBRL has a role in the fourth industrial revolution.  That role is getting clearer and clearer.  On slide 12 of this presentation, Carol Smith points out that "AI is taxonomies and ontologies coming to life (NOT like humans learn)". The ontology spectrum explains what is necessary to create expressive taxonomies/ontologies.

If you still don't understand this stuff, if you want to increase your digital maturity; consider reading the information I have collected over the past 10 years and summarized in the document Computer Empathy.

Here is my ontology.  A financial report is not one big thing, it is made up of many pieces that are individually identifiable. Many pieces, highly expressive ontology, software that understands the pieces and the ontology, Lean Six Sigma process measurement and control philosophies and techiques.  Think about that.

Posted on Thursday, May 9, 2019 at 07:19AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Machine Learning Problem

This blog post summarizes information about a machine learning problem that a group of us is solving.  If you want to find out more or participate, please contact me.

PROBLEM: The problem is that XBRL-based financial reports submitted to the SEC using US GAAP or IFRS do not have explicit identifiers in them to allow you to easily extract information from the report.  For example, you cannot simply say "give me the balance sheet" or "give me the reconciliation of income taxes between expected statutory rates and actual rates."  You have to provided more detailed rules to overcome the missing unique identifiers.

SOLUTION: The solution is to use prototype theory to identify the pieces that make up the specific disclosure within an XBRL-based financial report and then use that information to identify each specific disclosure so you can extract that information.  To do this you need:

TECHNIQUE: The objective is to get every disclosure and the rules to identify that disclosure in XBRL-based financial reports.

  1. Starter list of companies: Here is a list of US GAAP XBRL-based financial rerports, all 10-Ks in machine readable RSS. We will add companies to that list as the process gets dialed in.
  2. Start with one rule for a common disclosure: Start with this first rule which 100% of companies have this "document information" disclosure.
  3. Read XBRL presentation relations: If you iterate through each of the reports in the list (#1) and change the name from "*.xml" to *_pre.xml", so the Microsoft 10-K XBRL instance, you get the company XBRL taxonomy XBRL presentation relations that supports that Microsoft 10-K, this will give you a sense for the task.
  4. Read XBRL calculation relations: Changing the XBRL instance from "*.xml" to "*_cal.xml" will give you the XBRL calculation relations.  Those have roll up information that is very helpful in identifying disclosures that are roll ups.
  5. Use information in rules to find disclosure: Use a disclosure rule to find the network that contains the disclosure that matches that disclosure rule.  Mark the network indicating that what is represented by the network (i.e. which disclosure).  Once you discover what a network represents, you don't ever need to read that network again.
  6. Repeat: Repeat this process for every report and every disclosure.  Ultimately, we will add more reports and more disclosures.
  7. Back into new rules using machine learning (likely clustering): Steps 1 through 6 are just a mechanical process, but it helps you truly understand the task.  Once all the disclosures for which there are rules have been identified (this is is the result); the task is to get the machine learning AI to use this information to find smilar pattrens using clustering.
  8. Name and tweak machine learning results: The AI will likely be able to find disclosure patterns, but it will not be able to give that pattern a name.  Humans will do that.  The named disclosure gets added to the list along with the rules to discover the disclosure.

So that is the initial process.  Once this process is understood, we will build on that process.  The networks that contain the presentation relations will work to a degree and is a good starting point; but using the network level will fall apart. Why?  Because sometimes networks contain multiple disclosures.  The solution?  Use the "fact set" level.

Eventually, we will want to tune this further by separating the reporting entities into different lists.  For example, banks have different disclosures that software companies. Insurance companies are unique from banks and software companies.  Understanding these uniquenesses helps one understand how this information will be used.

Once we get all this working for US GAAP reports; we will repeat this process for IFRS reports.

Posted on Saturday, May 4, 2019 at 03:06PM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

AGA: Building Momentum: Preparing for XBRL in Government

The AGA (Association of Government Accountants), in their spring issue of Journal of Government Financial Management, published the article Building Momentum: Preparing for XBRL in Governmentwritten by Jacqueline Reck, Ph.D., CPA; Shannon N. Sohl, Ph.D., CPA; and Tammy R. Waymire, Ph.D., CPA.

The article is very accurate and realistic; it is worth reading.

Posted on Wednesday, May 1, 2019 at 06:54AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint