1998, the Computer Science Council of the Society
of Actuaries revisited the task of defining a standard for the
interchange of table data. The focus of this work was to be on the format
of the data itself and not the tools to maintain or update the data.
In 2000, a Data Standards Committee was formed. This Committee
was headed by Jacques Rioux (Drake University). Mark Horowitz
(Towers Perrin) and Cynthia Jeness (Golden Code Development Corporation)
also participated on the Committee. This Committee determined that there
was already an open W3C standard, XML, which could be used for actuarial
tabular data. Using XML as the standard, the Committee developed a
preliminary dialect and presented the results to the Computer Science
Council. Subsequent discussions with members of the SOA led to the
submission of the XML standard for adoption by ACORD.
On March 21-22, 2002, Members of the SOA and other insurance industry
professionals met with ACORD in Westwood, MA. At this meeting the
original standard was generalized and improved so that it would apply
across a range of actuarial tabular data needs. The improved version,
XTbML, went through the approval process at the ACORD meeting in June, 2002
and was adopted on a pilot basis by ACORD. The pilot period is intended
to provide time for interested parties to use the standard and submit
comments before it is officially adopted as a standard in November, 2002.
In September, 2002, another ACORD meeting was held to define the
transactional interaction for XTbML.
Utilizing this transactional standard, tabular data could
be stored in a central repository and transferred to a requesting
computer utilizing various industry standard protocols such as SOAP and
HTTP GET/POST. This should extend the utility of the standard from the
realm of human interaction to computer-computer interaction.
ACORD XTbML Standard
The primary documentation of the XTbML standard from ACORD consists of
The second document is available from the ACORD site and may be downloaded
by anyone who is willing to register. In terms of the XTbML standard,
the following type code groups are the most important:
- Content Type Codes
- Nation Type Codes
- Scale Type Codes
Beyond the documents sited above, ACORD does not provide information
related to how to successfully implement the standard. They look to the
users themselves to provide this type of information. Because the
ACORD standard is very general and also because it takes a different
approach to storing data than did Table Manager, some more specific standards
need to be adopted in order to facilitate the exchange of tabular data.
ACORD Standard: Table Structure
The XML structure underlying the ACORD standard may be represented
diagrammatically as follows:
Under this scheme, the XTbML element contains a ContentClassification
element and one or more Table elements. Each Table element contains
both a Metadata element and a Values element. The Values
element contains one or more Axis elements and these elements actually
store the values. This assumes that the indexes to the values are number (e.g.
age). Non-numeric indexes (e.g. gender) require the use of both KeyDef's and Key's. For the purpose of the SOA table database the use of
these elements is deemed unnecessary.
The purpose of each of the elements shown in the diagram may be summarized as follows:
- ContentClassification - Identifies the tabular data and provides
general descriptive information.
- Table- This is the container for the tabular data.
In some cases, it is more convenient to use multiple
"tables" to represent a set of tabular data. For example, a select
and ultimate table may be best represented by two-dimensional select Table
plus a one-dimensional aggregate Table.
- Table:MetaData - This describes the attributes of the data
stored within the Table; e.g., the minimum and maximum values
for the indexes, the type of data, etc.
- Table:Values - This is the top-level container for the data
- Table:Values:Axis - This is the container for one dimension
of the data. A one-dimensional table would have one Axis while
a two-dimensional table would have one Axis which contains a
second Axis. The lowest level Axis will contain a series
of Y elements which actually house the data.
For the purpose of the SOA project, the types of tables stored by Table
Manager will be structured in XTbML as follows:
- Aggregate Tables - A single Table element with one
- Select and Ultimate Tables - Two Table elements.
The select part of the table is represent by one of these. This
Table will have two Axis elements. The outermost
Axis will be indexed on age and the innermost axis will be
indexed based on the duration. The second Table element
will contain the ultimate data which will be handled just like
an Aggregate Table.
Since the ACORD standard is so generic, there are other structures which
could be used to represent the SOA data. The proposed scheme is recommended
because it is simple and consistent with the pre-cursor to the ACORD standard
developed by the Computer Science Council. There was considerable
discussion and development around the pre-cursor standard.