On Hierarchy of Actuarial Objects: Aleksey Popelyukhin, Ph.D.

Download Report

Transcript On Hierarchy of Actuarial Objects: Aleksey Popelyukhin, Ph.D.

On Hierarchy of Actuarial Objects:
Data Processing from the Actuarial Point of View
Aleksey Popelyukhin, Ph.D.
SVP, Technology
[email protected]
Sam Sebe LLC
Credo
Statement:
Actuaries deserve a convenient tool
based on the latest computer technology
Proof:
 Actuaries are computer literate enough to use
and enjoy well integrated software solution
 Actuaries did a good job standardizing their
algorithms and data structures
 Competitive and regulatory pressures
require more work to be done faster
 Other professionals have it
1
Ideal Actuarial System
An ideal data processing solution is a
a) transparent to users
b) highly efficient
storage/retrieval system for
c) structured actuarial data (objects) with
d) an extremely flexible
e) computationally complete
f) open
calculation engine …
2a
Ideal Actuarial System
... that is, a system which speaks “actuarese” and
makes it very easy to express actuarial algorithms
and very hard to make mistakes.
 The paradigm where goals of
 abstraction,
 flexibility,
 simplicity and
 reliability
can be easily achieved is Object-Oriented model.
2b
OO computer system

What actuaries have to do about it:
 Demand it!
 Communicate specs to software engineers
 Classify
Actuarial Data Objects
 Classify Actuarial algorithms
Maintain and constantly improve it
 Use it and reap enormous benefits

3
Object Orientation


No system can be called object-oriented unless it supports

encapsulation (“code and data together”)

inheritance (“new features without rewriting old code”)

polymorphism (“same algorithm for different types of
objects”)
OO databases add requirements for


persistence (“objects exist even after program stops”)
identity (“way to differentiate objects and guarantee their
uniqueness”)
4
Main Statement


Any relationship (“parent-child”) generates a hierarchy
Any equivalence criteria (“same-different”) generates
factorization
That is exactly our situation:
Inheritance and polymorphism call for class
(“internal”) hierarchy,
 while the identity required by an OO database
calls for object (“external”) hierarchy

5
Data Objects
AY \ Age
1994
1995
<C lient >: XYZ
12 at e >: CT
<St
24
<LOB >: $ 75,305
WC
$ 84,454
…
$ 83,733
$ 84,911
1996
Losses
$ 86,663
$ 79,998
1997
$ 83,581
1998
$ 79,235
36
48
60
$ 80,885
$ 78,853
$ 78,444
$ 82,703
$ 73,172
$ 78,021
$ 81,435
AY \ Age
1994
1995
1996
1995
<C lient >: XYZ
12 at e >: CT
<St
24
<LOB >: $ 75,305
WC
$ 84,454
…
$ 83,733
$ 84,911
1996
$ 86,663
1997
$ 83,581
1998
$ 79,235
AY \ Age
1994


$ 79,998
ALAE
36
48
$ 80,885
$ 78,853
$ 82,703
$ 73,172
<C lient >: XYZ
12
24
:
CA
<St at e >$ 75,305
$ 84,454
<LOB >: WC
$ 83,733
$ 84,911
…
$ 86,663
Lo sses $ 79,998
$ 83,581
$ 81,435
36
48
60
$ 80,885
$ 78,853
$ 78,444
$ 82,703
$ 73,172
$ 78,021
1997
60
1998
$ 79,235
$ 78,444
$ 78,021
$ 81,435
chunks (arrays) of structured data,
each chunk with its own set of properties
6
Data Objects categories

How can we tell these 2 “triangles” apart?
1 1 p1

2 (total)
WC
2 r
e
NE
3
m
i
u
1 2 m3

2 (total)
AL
4 s
SW
3
factors
1. These
are not Triangles at all (Shape)
2. Cumulative
3. Worker’s
vs. Incremental (CurrentState)
Comp vs. Auto (LOB)
4. NorthEast vs. SouthWest
(Regions)
7
4 kinds of categories
While some categories reflect an “actuarial nature” of
the object, others are used just to distinguish similar
object of the same “nature”.
There are 4 major kinds of categories:
1. Those
which define object’s place in a class hierarchy
(class attributes)
2. Those which define object’s state
3. Those which serve identification purposes (dimensions)
4. Those used for grouping within dimension (generations)
8
“Internal” hierarchy
Actuarial Object
Actuarial Array
Actuarial Method
Row
Column
Triangle
Inflation
Ultimate
Diagonals
Counts
Open
Closed
Ratios
Loss
Diagonal
Dollars
ALAE
9a
“External” hierarchy
Regions
LOB
States
AL
GL
WC
UW Yrs
NorthEast
CT
1998
NJ
1998
NY
1997
1998
South
KS
1998
TX
1997
1998
9b
1st rule of thumb
To determine which hierarchy (“internal” or “external”) an
actuarial category belongs to, consider
How it will be used:
A.
B.
C.
whether or not different members of this category need
different algorithms to process them
 {“Counts” and “Dollars”} vs. {“NY,” “NJ” and “CT”}
whether or not different members of this category affect the
way algorithms are applied
 {“Cumulative” and “Incremental”}
whether or not members of the category are used to define
groups for possible aggregation into subtotals
 {“NorthEast” and “SouthWest”} subtotals “Locations”
10
Functional Classes


Classes in OO application can be used for different
purposes.
 Classes with the principal responsibility of maintaining
data information are called abstract data types (“Data
Objects”) or data managers.
 Classes with the principal responsibility of assisting in
the execution of complex tasks called functional classes
(“Engines”) or facilitators.
The distinction between abstract data types and functional
classes is somewhat similar to the distinction between
nouns and verbs in a sentence.
11
2nd rule of thumb
To decide which actuarial operation belongs to the data
object (i.e., has to be implemented as a method in the
abstract data type) vs. functional class, consider:
A.
whether or not the algorithm is subject to future modification(s)

B.
whether or not it is generic or specific

C.
always the same “accumulation of the triangle” vs. always
improving“calculation of the tail factor”
“summation of any two triangles” vs.“annualization of the inflation
rate” applicable only to inflation vector
whether or not it is interactive (user interruptible)

automatic “extraction of the last diagonal” vs. “loss development
method”, which requires user selection
12
Implementation

Possible design of an Ideal Actuarial System may
include the following tasks:





actuarial data arrays can be implemented as a hierarchy of
abstract data types
actuarial methods can be wrapped into functional classes
persistence can be achieved by storing objects in an
Object-Oriented (or Object-Relational or just plain
Relational) Database
links to Actuarial Data Mart can be added to import object’s
data and to export results of analysis
a flexible user interface can be added to finalize
construction of the OO actuarial system
13
Illustration
-syntax
(Spreadsheet)
=(sum(C35:C39)-max(C35:C39)-min(C35:C39))/3
(OO)
AgeToAgeFactors.Average (Type:=ExclHiLo, _
LastDiagonals:=5)
14a
Illustration
-abstraction through encapsulation
cell (i, j) of the triangle maps to cell k = (i + j - 2)(i + j - 1)/2 + i of the 1-D array
AY\Age
12
24
36
48
60
AY\Age
12
1994
$ 112,605
$ 100,406
$ 107,847
$ 105,138
$ 104,592
1994
$ 112,605
$ 100,406
$ 107,847
$ 105,138
1995
$ 111,644
$ 113,215
$ 110,271
$ 97,562
1995
$ 111,644
$ 113,215
$ 110,271
$ 97,562
1996
$ 115,551
$ 106,665
$ 104,029
1997
$ 111,442
$ 108,581
1998
$ 105,647
11
$ 97562
1
$ 112605
2
$ 100406
1996
1997
1998
3
$ 111644
4
$ 107847
5
$ 113215
6
$ 115551
7
$ 105138
8
$ 110271
1
3
$ 115,551
6
$ 111,442
10
$ 105,647
15
9
$ 106665
24
2
5
$ 106,665
9
$ 108,581
14
10
$ 111442
36
4
8
$ 104,029
13
$ 104592
this space-conscious arrangement doesn’t affect user or program
48
7
12
12
60
11
$ 104,592
13
$ 104029
14
15
14b
Illustration
-inheritance
Triangle is a Matrix (Range) with a few
extra Properties and Methods:







DiagonalsToColumns
DiagonalsToRows
RowsToDiagonals
ColumnsToDiagonals
DiagonalToVector(DiagonalNumber)
VectorToDiagonal(DiagonalNumber)
LastDiagonal
14c
Illustration
-inheritance (cont.)
$ 112,605
$ 100,406
$ 107,847
$ 105,138
$ 111,644
$ 113,215
$ 110,271
$ 97,562
$ 115,551
$ 106,665
$ 104,029
$ 111,442
$ 108,581
$ 104,592
$ 112,605
DiagonalsToRows
$ 105,647
Average of the last 3 Diagonals
(harder to implement)
DiagonalsToRows
$ 111,644
$ 100,406
$ 115,551
$ 113,215
$ 107,847
$ 111,442
$ 106,665
$ 110,271
$ 105,138
$ 105,647
$ 108,581
$ 104,029
$ 97,562
$ 104,592
Average of the last 3 Rows
(easier to implement)
14d
Illustration
-engine
Loss Development (Chain-Ladder) Method:
EstimateOfUltimate = InputTriangle.LastDiagonal(asColumn) * _
UserSelectedFactors (default:=
InputTriangle.AgeToAgeFactors.Average(Medial, 5))
14e
Recommended Reading
1.
2.
3.
David Brown. An Introduction to ObjectOriented Analysis. Objects in Plain English.
1997, Wiley
Mary E.S. Loomis. Object-Oriented Databases:
The Essentials. 1995, Addison-Wesley
Michael Bhala, William Premerlani. ObjectOriented Modeling and Design for Database
Applications. 1998, Prentice Hall
The Whole Picture
On Hierarchy
of Actuarial Objects
The Big Picture
Data Processing from the Actuarial Point of View, 1998
Actuarial Process From the Data Management Point of View, 1996
Watch Your TPA
A Practical Introduction to Actuarial Data Quality Management, 1997
Let Me See
Visualization and Presentation of Actuarial Results, 1999