When a filer uses tags that are not part of the annually updated GAAP Financial Reporting Taxonomy, the filer defines those tags in an extension taxonomy. Values with such “custom” tags are included in our construction of higher-level financial constructs in four steps:
Step 1: Remove redundant custom tags. For each custom tag, search for its child tag(s) using the firm’s self-disclosed extension taxonomy. A custom tag is redundant if all its child tags are standard tags. If one or more child tags are custom tags, then determine whether those custom child tags are redundant. Remove tags iteratively until there are no redundant tags.
Step 2: Determine the parent tag. For each remaining custom tag, find its immediate parent tag according to the extension taxonomy. If the immediate parent tag is a custom tag, then find the parent’s parent tag. Stop when the found tag is a standard tag.
Step 3: Create a pool of candidate standard tags. For each non-redundant custom tag, peer tags are the standard tags that are descendants (i.e., child tags, grandchild tags, and so on) of the found parent tag. This is the initial pool of candidate standard tags. Remove from the pool (i) any peer tag (and its descendants) if the filing assigns a value to that tag and (ii) any peer tag having a “debit/credit” balance type different from the custom tag.
Step 4: Identify the nearest equivalent standard tag. For each custom tag, find the best-matching peer tag using keyword matching. Keywords are from the tag’s label. Among all resulting custom-peer tag pairs, choose the peer tag with the most common keywords provided there are at least two common keywords and the matching ratio is at least 0.5. The matching ratio is the number of common keywords divided by the lesser of (i) the number of peer tag keywords and (ii) the number of custom tag keywords. In the case of a tie, select the least specific peer tag. If this matching process fails, disregard the custom tag.