Taxonomy Summit Methodology for architecting EIOPA taxonomies Eric JARRY March 22, 2012
What is EIOPA? European System of Financial Supervision European Supervisory Authorities EBA: European Banking Authority EIOPA: European Insurance and Occupationnal Pensions Authority ESMA; European Securities and Markets Authority National Supervisory Authorities, examples: Finland: FIN-FSA (EBA, EIOPA and ESMA) Spain: Banco de España (EBA), Ministry of Economy (EIOPA) France: ACP Banque de France (EBA and EIOPA) 2
Reporting flows Countries Europe Reporters NSAs ESAs EBA EIOPA ESRB ESMA European Systemic Risks Board 3
Reportings Solvency II directives Financial stability Statistics for ECB (European Central Bank) Reportings from undertakings to NSAs Reportings from NSAs to EIOPA 4
Choice of XBRL Complex reportings Structured XML, first chosen, is not adequate Choice of XBRL, over an EIOPA-specific flat XML langage : YARL (Yet Another Reporting Language) 5
Taxonomy generated from templates Dimension Domain, value or list of values Types Abstract primary items (label or alias) Primary items (label or alias) Header dimension(s) Column dimension(s) Line dimension(s) Pop-up window showing P.Item Characteristics Dim. combinaison(s) 6
A real template 7
Transposition file Characteristics and hierarchies 8
Transposition file Dimensional aspect 9
Commonalities with EBA taxonomies Some firms must sendreports to both banking and insurance regulators Some software vendors sell products or solutions for banks and insurance companies Commonalities between EBA and EIOPA taxonomies are desirable: Common dimensions Data Point Modelling Common data types Taxonomy architecture Base primary items Label constructions Tools etc 10
Use of codes for concepts Codes are used as tag names for concepts To get usable names (not toolog) To be language-agnostic The codes used are those thatare defined by the business people in the Quantitative Reporting Templates (regulatory document) There are not Excel cell coordinates! 11
Filing indicators and assertions A reporter must file: several "templates" at several moments; and / or the same template at several moments, depending on one or more dimensions value e.g.: Balance sheet for "France" at T0 10 days Balance sheet for "Other countries" at T0 25 days Each template is associated to one or more filing indicators: template set of zero, one or more dimension values Assertions are dependant of the presence of one or more filing indicators (precondition) 12
Numeric checks generation Primary Item Aggregation (PIA) [SOL] [PE1][PE2][PE3] [CE1] [CE2] [CE_] [OC1] [OC2] [OC_] 13
Numeric checks generation Primary Item Aggregation (PIA) [SOL] [PE1][PE2][PE3] [CE1] [CE2] [CE_] [OC1] [OC2] [OC_] 14
Numeric checks generation Of Which Checks (OWC) [SOL] [PE1][PE2][PE3] [CE1] [CE2] [CE_] < < < [OC1] [OC2] [OC_] 15
Numeric checks generation Dimensional Item Aggregation (DIA) [SOL] [PE1][PE2][PE3] [CE1] [CE2] [CE_] dimension value underlined dimension value underlined [OC1] [OC2] [OC_] 16
Specific Condition Check Using codes, giving labels Restrictions [Dimensional restrictions: set of dimension values > combinations] [Precondition(s): set of conditions] [Externally controlled condition] Tolerance margin Condition (may be expressed with XPath) Value assertion Factors Template (for documentation) Primaryitems, or closurewith list of primary items [Dimensional characteristics: set of dimension values] Constants 17
Expression of validations 18
Value assertion pattern Assertion va:valueassertion id: %1 implicitfiltering: true aspectmodel: dimensional test:{generated} Messages generic:arc xlink:type: arc xlink:arcrole: //element-label order: nnn xlink:from %1 msg:message xml:lang: fr xlink:role: "http://www.xbrl.org/2010/role/message" xlink:label: %1 %1_Message xlink:label: %1_Message Filing Indicators generic:arc xlink:type: arc xlink:arcrole: //variable-set-precondition order: nnn xlink:from %1 PreCond_%FilingInd variable:precondition test: // IndicateurDeRemise.. OUI xlink:label: PreCond_%FilingInd Concept Filters variable:variablefilterarc xlink:type: arc xlink:arcrole: //variable-filter complement: false cover: true order: nnn xlink:from %1Detail %1DetailConcFilter cf:conceptname cf:concept: cf:qname: XXX xlink:label % 1DetailConcFilter Concept Variables variable:arc xlink:type: arc xlink:arcrole: //variable-set name: xxxx (order: nnn) xlink:from %1 %1Total General variables variable:arc xlink:type: arc xlink:arcrole: //variable-set (order: nnn) xlink:from Preconditions variable:arc variable:factvariable S_0011 bindassequence: false/true xlink:label: %1_%pi[_%dv[_%dv ]] variable:generalvariable bindassequence: false/true select:{generated} xlink:label: variable:precondition Concept Dimension Filters df:explicitdimension variable:variablefilterarc df:dimension xlink:type: arc S_0032 df:member xlink:arcrole: //variable-filter complement: false xlink:label %1DetailDimFilter cover: true order: nnn xlink:from %1_%pi[_%dv[_%dv ]] df:typeddimension %1DetailDimFilter df:dimension xlink:label %1DetailDimFilter General Filter variable:variablefilterarc gf:general xlink:type: arc xlink:arcrole: //variable-filter complement: false test: xpath expression cover: true order: nnn Generql_filter xlink:from %1_%pi[_%dv[_%dv ]] General_filter xlink:type: arc xlink:arcrole: //variable-set-precondition (order: nnn) xlink:from Group Filters variable:variablesetfilterarc xlink:type: arc xlink:arcrole: //variable-set-filter complement: false order: nnn xlink:from %1_%pi[_%dv[_%dv ]] Group_filter id: %1 test:{generated} xlink:label: df:explicitdimension df:dimension df:member (0 n) Group_filter df:typeddimension df:dimension xlink:label Group_filter cf:conceptname cf:concept: cf:qname: XXX xlink:label Group_filter Period/Unit filter variable:arc xlink:type: arc xlink:arcrole: //variable-set-precondition (order: nnn) xlink:from %1_%pi[_%dv[_%dv ]] Period/Unit_Filter Exclusion Dimension Filter Unit filter can only be used for numeric variables pf:period/uf:singlemeasure id: Period/Unit_Filter test:: xlink:label: Period/Unit_Filter pf:period/uf:singlemeasure variable:variablefilterarc variable:arc df:explicitdimension xlink:type: id: Period/Unit_Filter resource S_0040 xlink:type: arc S_0041 S_0032 df:dimension xlink:arcrole: //variable-filter Period/Unit filter test:: xlink:label //variable-set-precondition complement: true %1DetailDimFilter (order: cover: true nnn) xlink:from order: nnn xlink:label: Period_Filter %1_%pi[_%dv[_%dv ]] df:typeddimension xlink:from %1_%pi[_%dv[_%dv ]] Period/Unit_Filter %1DetailDimFilter df:dimension xlink:label %1DetailDimFilter 19
Data Point Modelling Data modelling is used to determine characteristics of a data Data Point Modelling uses XBRL dimensions to express all characteristics (so called hidden dimensions) In highly dimensional taxonomies, each concept is exploded along all its dimensions (hidden or not) and the "logical concept" does not appear any more 20
Example: Solvency II Balance sheet template 21
Data Point Modelling in highly dimensional taxonomies Concept A10 no longer expressed No labels No references No documentation No more hierarchical presentation 11 dimensions Expression of checks very long Possible problemswith mix of dimensions in assertions Origin: BMA Solvency II taxonomy POC 22
From business concept to data point modelled concept Dimensions used as internal (hidden dimensions in data point modelling) Line of business Total Non-life, non SLT health SLT health Non-SLT health Life Investment or own use Investment Own use Linking Unit-linked or index-linked Not unit-linked, not index-linked Counterparties Total Country of custody Total Issuer or residence country Total Type of amount Carrying amount Original currency Total Assets Data Point Modelling Solo or Group Solo Group Periodicity Annually Quarterly Monthly Ad hoc Valuation method Solvency II CRD Statutory Ring fence scope Value Dimensions used as external Marked to market Marked to model Derivatives, Investments other than held for indexlinked or unit-linked funds BS_C1:A10A 23
"Semantic" linkbase, bridge to data modelled items Possible ways for conversion: XBRL formulas XBRL Versioning Taxonomy comparison 24
Possible was for conversion XBRL formulas XBRL Versioning Taxonomy comparison 25
Thank you Any questions? 26