Taxonomy SummitMethodology for architecting EIOPA taxonomies
Eric JARRY – March 22, 2012
2
WhatWhatWhatWhatWhatWhatWhatWhat isisisisisisisis EIOPA?EIOPA?EIOPA?EIOPA?EIOPA?EIOPA?EIOPA?EIOPA?
� European System of Financial Supervision◦ European Supervisory Authorities� EBA: European Banking Authority
� EIOPAEIOPAEIOPAEIOPA: European Insurance and OccupationnalPensions 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)
3
Reporting Reporting Reporting Reporting flowsflowsflowsflows
……
EBA
EIOPA
ESMA
ESRB
EuropeCountries
European
SystemicRisksBoard
Reporters NSAs ESAs
4
ReportingsReportingsReportingsReportings
� Solvency II directives
� Financial stability
� Statistics for ECB (European Central Bank)
� …
� Reportings from undertakings to NSAs
� Reportings from NSAs to EIOPA
5
ChoiceChoiceChoiceChoice of XBRLof XBRLof XBRLof 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)
6
Taxonomy Taxonomy Taxonomy Taxonomy generatedgeneratedgeneratedgenerated fromfromfromfromtemplates templates templates templates
Abstract primary
items
(label or alias)
Primary items
(label or alias)
Dimension
Domain, value or
list of values
Types
Pop-up window
showing P.Item +
Characteristics + Dim.
combinaison(s)
Header dimension(s)
Line dimension(s)
Column dimension(s)
7
A real templateA real templateA real templateA real template
8
Transposition fileTransposition fileTransposition fileTransposition fileCharacteristicsCharacteristicsCharacteristicsCharacteristics and and and and hierarchieshierarchieshierarchieshierarchies
9
Transposition fileTransposition fileTransposition fileTransposition fileDimensionalDimensionalDimensionalDimensional aspectaspectaspectaspect
10
CommonalitiesCommonalitiesCommonalitiesCommonalities withwithwithwith EBA taxonomiesEBA taxonomiesEBA taxonomiesEBA taxonomies
� Some firms must send reports to bothbanking 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
11
Use of codes for conceptsUse of codes for conceptsUse of codes for conceptsUse of codes for concepts
� Codes are used as tag names for concepts◦ To get usable names (not too log)
◦ To be language-agnostic
◦ The codes used are those that are defined by the business people in the Quantitative Reporting Templates (regulatory document)
◦ There are not Excel cell coordinates !
12
� 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 + 25days
� 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)
FilingFilingFilingFiling indicatorsindicatorsindicatorsindicators and assertionsand assertionsand assertionsand assertions
13
+
=
+
+
=
+
+
=
+
[CE1] [CE2] [CE_]
[PE1][PE2][PE3][SOL]
[OC1]
[OC2]
[OC_]
Numeric checks generation Numeric checks generation Numeric checks generation Numeric checks generation Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)
14
=
+
+
+
+
+
+
=
+
+
+
+
+
+
=
+
+
+
+
+
+
[CE1] [CE2] [CE_]
[PE1][PE2][PE3][SOL]
[OC1]
[OC2]
[OC_]
Numeric checks generation Numeric checks generation Numeric checks generation Numeric checks generation Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)Primary Item Aggregation (PIA)
15
[CE1] [CE2] [CE_]
[PE1][PE2][PE3][SOL]
[OC1]
[OC2]
[OC_]
<=
+
<=
+
<=
+
Numeric checks generationNumeric checks generationNumeric checks generationNumeric checks generationOf Which Checks (OWC)Of Which Checks (OWC)Of Which Checks (OWC)Of Which Checks (OWC)
16
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
=+ +
+
=
+
+
=
+
+
=
+
[PE1][PE2][PE3][SOL]
[OC1]
[OC2]
[CE1] [CE2] [CE_]
[OC_]
dimension valueunderlined
dimension valueunderlined
Numeric checks generationNumeric checks generationNumeric checks generationNumeric checks generationDimensional Item Aggregation (DIA)Dimensional Item Aggregation (DIA)Dimensional Item Aggregation (DIA)Dimensional Item Aggregation (DIA)
17
� 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)
� Primary items, or closure with list of primary items
� [Dimensional characteristics: set of dimension values]
� Constants
SpecificSpecificSpecificSpecific Condition CheckCondition CheckCondition CheckCondition Check
18
Expression of validationsExpression of validationsExpression of validationsExpression of validations
19
Value assertion patternValue assertion patternValue assertion patternValue assertion pattern
xlink:type: arcxlink:arcrole:…//variable-set(order: nnn)
xlink:from
variable:arc
xlink:to
id:implicitFiltering: trueaspectModel: dimensionaltest:{generated}
xlink:label:
va:valueAssertion
%1
%1xlink:type: arcxlink:arcrole:…//element-labelorder: nnn
xlink:from
generic:arc
xlink:to
%1
%1_Message
xlink:type: resourcexml:lang: frxlink:role: ="http://www.xbrl.org/2010/role/message"
xlink:label:
msg:message
%1_Message
xlink:type: arcxlink:arcrole:…//variable-set-preconditionorder: nnn
xlink:from
generic:arc
xlink:to%1
xlink:type: resource
test: //…IndicateurDeRemise..=‘OUI’
xlink:label:
variable:precondition
PreCond_%FilingInd
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label % 1DetailConcFilter
xlink:type: arcxlink:arcrole:…//variable-setname: xxxx(order: nnn)
xlink:from
variable:arc
xlink:to%1
%1Total
xlink:type: resourcedf:dimensiondf:member
df:explicitDimension
xlink:label %1DetailDimFilter
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnnxlink:from
variable:variableFilterArc
xlink:to %1DetailConcFilter
%1Detail
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnn
xlink:from
variable:variableFilterArc
xlink:to%1_%pi[_%dv[_%dv…]]
xlink:type: resourcetest: xpath expression
gf:general
xlink:to Generql_filter
S_0032
xlink:type: resourcebindAsSequence: false/trueselect:{generated}xlink:label:
variable:generalVariable
Assertion Messages
Filing Indicators
Concept Variables
General variables
Concept Filters
Concept Dimension Filters
General Filter
S_0011
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)
xlink:from
variable:arc
xlink:to
id:test:{generated}
xlink:label:
variable:precondition%1
Preconditions
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
PreCond_%FilingInd
General_filter
xlink:type: resourcebindAsSequence: false/true
variable:factVariable
xlink:label: %1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnnxlink:from
variable:variableFilterArc
xlink:to %1DetailDimFilter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)
xlink:from
variable:arc
xlink:to
id:xlink:type: resourcetest:: …
xlink:label:
Period/Unit_Filter
Period/Unit filter
Period/Unit_Filter
pf:period/uf:singleMeasure
Period/Unit_Filter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)xlink:from
variable:arc
xlink:to
S_0041 id:xlink:type: resourcetest:: …
xlink:label:
Period/Unit_Filter S_0040
Period/Unit filter
Period_Filter
pf:period/uf:singleMeasure
Period/Unit_Filter
%1_%pi[_%dv[_%dv…]]
xlink:type: resourcedf:dimension
df:explicitDimension
xlink:label %1DetailDimFilter
S_0032
Exclusion Dimension Filter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: truecover: trueorder: nnn
xlink:from
variable:variableFilterArc
xlink:to %1DetailDimFilter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-filtercomplement: falseorder: nnn
xlink:from
variable:variableSetFilterArc
xlink:to
%1_%pi[_%dv[_%dv…]]
xlink:type: resourcedf:dimensiondf:member (0…n)
df:explicitDimension
xlink:to Group_filter
Group Filters
Group_filter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label Group_filter
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label Group_filter
Unit filter can only be used for numeric variables
xlink:type: arcxlink:arcrole:…//variable-set(order: nnn)
xlink:from
variable:arc
xlink:to
id:implicitFiltering: trueaspectModel: dimensionaltest:{generated}
xlink:label:
va:valueAssertion
%1
%1id:implicitFiltering: trueaspectModel: dimensionaltest:{generated}
xlink:label:
va:valueAssertion
id:implicitFiltering: trueaspectModel: dimensionaltest:{generated}
xlink:label:
va:valueAssertion
%1
%1xlink:type: arcxlink:arcrole:…//element-labelorder: nnn
xlink:from
generic:arc
xlink:to
%1
%1_Message
xlink:type: arcxlink:arcrole:…//element-labelorder: nnn
xlink:from
generic:arc
xlink:to
xlink:type: arcxlink:arcrole:…//element-labelorder: nnn
xlink:from
generic:arc
xlink:to
%1
%1_Message
xlink:type: resourcexml:lang: frxlink:role: ="http://www.xbrl.org/2010/role/message"
xlink:label:
msg:message
%1_Message
xlink:type: resourcexml:lang: frxlink:role: ="http://www.xbrl.org/2010/role/message"
xlink:label:
msg:message
xlink:type: resourcexml:lang: frxlink:role: ="http://www.xbrl.org/2010/role/message"
xlink:label:
msg:message
%1_Message
xlink:type: arcxlink:arcrole:…//variable-set-preconditionorder: nnn
xlink:from
generic:arc
xlink:to%1
xlink:type: arcxlink:arcrole:…//variable-set-preconditionorder: nnn
xlink:from
generic:arc
xlink:to%1
xlink:type: resource
test: //…IndicateurDeRemise..=‘OUI’
xlink:label:
variable:preconditionxlink:type: resource
test: //…IndicateurDeRemise..=‘OUI’
xlink:label:
variable:precondition
PreCond_%FilingInd
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label % 1DetailConcFilter
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label % 1DetailConcFilter
xlink:type: arcxlink:arcrole:…//variable-setname: xxxx(order: nnn)
xlink:from
variable:arc
xlink:to%1
%1Total
xlink:type: resourcedf:dimensiondf:member
df:explicitDimension
xlink:label %1DetailDimFilter
xlink:type: resourcedf:dimensiondf:member
df:explicitDimension
xlink:label %1DetailDimFilter
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnnxlink:from
variable:variableFilterArc
xlink:to %1DetailConcFilter
%1Detail
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnnxlink:from
variable:variableFilterArc
xlink:to %1DetailConcFilter
%1Detail
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnn
xlink:from
variable:variableFilterArc
xlink:to%1_%pi[_%dv[_%dv…]]
xlink:type: resourcetest: xpath expression
gf:general
xlink:to Generql_filter
S_0032
xlink:type: resourcebindAsSequence: false/trueselect:{generated}xlink:label:
variable:generalVariable
Assertion Messages
Filing Indicators
Concept Variables
General variables
Concept Filters
Concept Dimension Filters
General Filter
S_0011
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)
xlink:from
variable:arc
xlink:to
id:test:{generated}
xlink:label:
variable:precondition%1
Preconditions
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
PreCond_%FilingInd
General_filter
xlink:type: resourcebindAsSequence: false/true
variable:factVariable
xlink:label: %1_%pi[_%dv[_%dv…]]
xlink:type: resourcebindAsSequence: false/true
variable:factVariable
xlink:label: %1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: falsecover: trueorder: nnnxlink:from
variable:variableFilterArc
xlink:to %1DetailDimFilter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)
xlink:from
variable:arc
xlink:to
id:xlink:type: resourcetest:: …
xlink:label:
Period/Unit_Filter
Period/Unit filter
Period/Unit_Filter
pf:period/uf:singleMeasure
Period/Unit_Filter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-precondition(order: nnn)xlink:from
variable:arc
xlink:to
S_0041 id:xlink:type: resourcetest:: …
xlink:label:
Period/Unit_Filter S_0040
Period/Unit filter
Period_Filter
pf:period/uf:singleMeasure
Period/Unit_Filter
%1_%pi[_%dv[_%dv…]]
xlink:type: resourcedf:dimension
df:explicitDimension
xlink:label %1DetailDimFilter
xlink:type: resourcedf:dimension
df:explicitDimension
xlink:label %1DetailDimFilter
S_0032
Exclusion Dimension Filter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label %1DetailDimFilter
xlink:type: arcxlink:arcrole:…//variable-filtercomplement: truecover: trueorder: nnn
xlink:from
variable:variableFilterArc
xlink:to %1DetailDimFilter
%1_%pi[_%dv[_%dv…]]
xlink:type: arcxlink:arcrole:…//variable-set-filtercomplement: falseorder: nnn
xlink:from
variable:variableSetFilterArc
xlink:to
%1_%pi[_%dv[_%dv…]]
xlink:type: resourcedf:dimensiondf:member (0…n)
df:explicitDimension
xlink:to Group_filter
Group Filters
Group_filter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label Group_filter
xlink:type: resourcedf:dimension
df:typedDimension
xlink:label Group_filter
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label
xlink:type: resourcecf:concept:cf:qname: XXX
cf:conceptName
xlink:label Group_filter
Unit filter can only be used for numeric variables
20
� Data modelling is used to determinecharacteristics of a data
� Data Point Modelling uses XBRL dimensions to express all characteristics (so called hiddendimensions)
� In highly dimensional taxonomies, eachconcept is exploded along all its dimensions (hidden or not) and the "logical concept" doesnot appear any more
Data Point ModellingData Point ModellingData Point ModellingData Point Modelling
21
ExampleExampleExampleExample: Solvency II : Solvency II : Solvency II : Solvency II Balance Balance Balance Balance sheetsheetsheetsheet templatetemplatetemplatetemplate
22
� Concept A10 no longer expressed
◦ No labels
◦ No references
◦ No documentation
◦ No more hierarchical presentation
� 11 dimensions
◦ Expression of checks very long
◦ Possible problems with mix of dimensions in assertions
Origin: BMA Solvency II taxonomy POC
Data Point Modelling inData Point Modelling inData Point Modelling inData Point Modelling inhighlyhighlyhighlyhighly dimensionaldimensionaldimensionaldimensional taxonomiestaxonomiestaxonomiestaxonomies
23
Data Point Modelling
FromFromFromFrom business concept to data business concept to data business concept to data business concept to data point point point point modelledmodelledmodelledmodelled conceptconceptconceptconcept
Derivatives, Investments
other than held for index-
linked or unit-linked funds
BS_C1:A10A
Solo or Group
Solo
Group
Solo or Group
Periodicity
Annually
Quarterly
Monthly
Ad hoc
Valuation method
Solvency II
CRD
Statutory
Ring fence scope
Value
Line of business
TotalNon-life, non SLT healthSLT health
LifeNon-SLT health
…
Investment or own useInvestmentOwn use
Not unit-linked, not index-linked
Linking
Unit-linked or index-linked
CounterpartiesTotal…
Issuer or residence countryTotal…
Country of custodyTotal…
Type of amountCarrying amount…
Original currencyTotal…
…
AssetsDimensions used as internal
(hidden dimensions in data point modelling)Dimensions used as external
Marked to market
Marked to model
24
"Semantic" linkbase, "Semantic" linkbase, "Semantic" linkbase, "Semantic" linkbase, bridge to data bridge to data bridge to data bridge to data modelledmodelledmodelledmodelled items items items items
Possible ways for conversion:
◦ XBRL formulas
◦ XBRL Versioning
◦ Taxonomy comparison
25
Possible was for conversion
◦ XBRL formulas
◦ XBRL Versioning
◦ Taxonomy comparison
26
Thank you
Any questions?