9장. 보험료배분접근법(PAA)#

이 장에서 배우는 것

  • 보험료배분접근법(PAA)이 어떤 계약을 위한 간편법인가

  • 잔여보장부채(LRC)를 미경과보험료처럼 다루는 법

  • 보험수익을 보장 제공에 따라 인식하는 두 가지 기준

  • 손계산 예제 — 단일보험료 계약의 LRC가 쌓였다 풀리는 과정

  • paa.measure로 PAA를 측정하기

1장부터 8장까지 따라온 것은 일반모형(GMM)이었습니다. 미래 현금흐름을 추정하고, 할인하고, 위험조정을 얹고, FCF에서 CSM을 갈라내는 — 측정 네 단계를 모두 명시적으로 밟는 모형이죠. 1.5절에서 IFRS 17에는 회계모형이 셋 있다고 했습니다. 이 장과 다음 장에서 나머지 둘을 봅니다. 먼저 보험료배분접근법(PAA, Premium Allocation Approach) 입니다.

9.1 일반모형과 PAA#

PAA는 보장기간이 짧은 계약을 위한 간편법입니다. 1년 만기 여행자보험이나 일반손해보험처럼 보장이 한 해 안에 끝나는 계약이라면, 미래 현금흐름을 달마다 일일이 추정하고 할인하는 일반모형의 무게가 지나칩니다. 보장기간이 짧아 추정의 정교함이 결과를 크게 바꾸지도 않고요.

IFRS 17은 두 경우에 PAA를 허용합니다(53항). 보장기간이 1년 이하이거나(53항(b)), PAA로 측정한 잔여보장부채가 일반모형으로 측정한 것과 크게 다르지 않으리라 합리적으로 기대될 때(53항(a)) 입니다. 어느 쪽이든 PAA는 의무가 아니라 선택입니다.

차이의 핵심은 이렇습니다. 일반모형은 부채를 BEL·RA·CSM 세 조각으로 나눠 각각 명시적으로 계산했습니다. PAA는 잔여보장부채(LRC, Liability for Remaining Coverage) 하나로 다룹니다. 그리고 CSM이 없습니다 — 미룰 이익을 따로 떼어 담는 자리가 없죠. 이익이 어디로 가는지는 다음 절에서 봅니다.

9.2 잔여보장부채(LRC)#

잔여보장부채는 아직 제공하지 않은 보장에 해당하는 부채입니다. PAA는 이것을 미경과보험료(unearned premium — 받았지만 아직 보장으로 벌어들이지 않은 보험료)처럼 다룹니다.

원리는 단순합니다. 보험료가 들어오면 LRC가 쌓이고, 보장을 제공한 만큼 보험수익으로 풀려 나갑니다.

다음 달 LRC = 이번 달 LRC + 보험료 - 보험수익

최초 인식 시점의 LRC는 0입니다. 거기서 출발해 매달 들어온 보험료를 더하고 그달 벌어들인 보험수익을 뺍니다. 4장의 보유계약 재귀처럼, 이 규칙이 LRC를 보장기간 끝까지 한 달씩 이어 갑니다.

PAA는 이 LRC를 할인하지 않습니다. 보장 제공과 보험료 납입 사이의 시차가 1년 이내라면 화폐의 시간가치 조정을 생략할 수 있기 때문입니다(56항). 보장기간이 짧다는 전제가 계산을 이렇게 가볍게 만듭니다.

CSM이 없다고 했습니다. 그러면 이익은 어디로 갈까요? PAA에서는 이익을 따로 떼어 미루지 않습니다. 보험수익이 그달의 보험서비스비용(보험금과 사업비)보다 크면, 그 차이가 곧바로 그달의 이익 — 보험서비스결과 — 입니다.

보험서비스결과 = 보험수익 - 보험서비스비용

일반모형이 CSM에 담아 두었다가 보장단위에 비례해 풀던 이익을, PAA는 보험수익을 인식하는 순간 자연히 드러냅니다. 그래서 보험수익을 어떻게 인식하느냐가 PAA의 손익 시점을 정합니다. 다음 절입니다.

9.3 보험수익의 인식#

받은 보험료는 보장기간에 걸쳐 언젠가 모두 보험수익이 됩니다. 그래서 계약 전체로 보면 총보험수익 = 총보험료입니다. 남는 질문은 그 보험료를 보장기간의 어느 달에 얼마씩 인식하느냐죠.

IFRS 17은 두 가지 기준을 둡니다(B126).

시간 경과(B126(a))는 보험료를 보장기간에 걸쳐 직선으로 나눕니다. 4개월 계약이면 매달 보험료의 1/4씩이죠. fastcashflow의 기본값이며, paa.measure(model_points, basis)처럼 그냥 부르면 이 기준을 씁니다.

발생 예상(B126(b))은 보험금과 사업비가 발생하리라 예상되는 시기에 맞춰 보험료를 나눕니다. 위험이 보장기간에 고르게 퍼져 있지 않을 때 — 예컨대 사업비가 계약 초기에 몰리거나 보험금이 특정 시기에 쏠릴 때 — 씁니다. paa.measure(model_points, basis, revenue_basis="claims")로 선택합니다.

어느 기준이든 인식한 보험수익을 모두 더하면 총보험료와 같습니다. 기준은 그 총액을 시간에 어떻게 배분하느냐만 바꿉니다.

9.4 손계산 예제#

LRC가 쌓였다 풀리는 과정을 작은 계약 하나로 따라가 봅니다.

예제 설정

  • 보장기간 4개월의 단기 계약

  • 단일보험료 1,200,000을 계약 시점에 한 번에 납입

  • 보험수익은 시간 경과(B126(a))로 인식 — 매달 1,200,000 / 4 = 300,000

9.2절의 규칙 — 다음 달 LRC = 이번 달 LRC + 보험료 - 보험수익 — 을 한 달씩 적용하면 LRC는 이렇게 굴러갑니다.

월초 LRC

보험료

보험수익

월말 LRC

1개월

0

1,200,000

300,000

900,000

2개월

900,000

0

300,000

600,000

3개월

600,000

0

300,000

300,000

4개월

300,000

0

300,000

0

1개월 행을 봅시다. LRC는 0에서 출발합니다. 단일보험료 1,200,000이 통째로 들어와 LRC를 쌓고, 그달 보장을 제공해 300,000을 보험수익으로 인식합니다. 월말 LRC는 0 + 1,200,000 - 300,000 = 900,000이죠. 이 900,000이 곧 미경과보험료 — 4개월 가운데 3개월치 보장이 아직 남았으니, 그에 해당하는 보험료가 부채로 남은 것입니다.

2개월부터는 보험료가 더 들어오지 않으니(단일보험료니까요), LRC는 보험수익만큼 줄기만 합니다. 900,000에서 600,000, 300,000을 거쳐 보장이 끝나는 4개월 말에 정확히 0이 됩니다. 보험료로 쌓인 부채가 보장을 다 제공하고 나면 남김없이 풀립니다.

월 보험료를 다달이 내는 계약이라면 어떨까요? 매달 들어오는 보험료와 매달 인식하는 보험수익이 시간 경과 기준에서는 엇비슷해, LRC는 0 가까이 머뭅니다. LRC가 또렷이 쌓였다 풀리는 모습은 이렇게 보험료를 미리 받는 계약에서 잘 드러납니다.

9.5 paa.measure로 측정하기#

손으로 따라온 그 계약을 엔진으로 측정해 봅니다. PAA는 paa.measure로 측정합니다.

import numpy as np
import fastcashflow as fcf

# 사망률 함수 -- 연 0.1% 의 평탄 사망률 (모든 sex/age/duration 에 동일)
death_fn = lambda sex, issue_age, duration: np.full(issue_age.shape, 0.001)

# 해지율 함수 -- 해지 없음
lapse_fn = lambda sex, issue_age, duration: np.full(duration.shape, 0.0)

# 산출기초
basis = fcf.Basis(
    mortality_annual = death_fn,         # 보유계약 감쇠용 사망률 (연 0.1%)
    lapse_annual     = lapse_fn,         # 해지율 (해지 없음)
    discount_annual  = 0.03,             # 연 할인율 3%
    ra_confidence    = 0.75,             # 위험조정 신뢰수준 75%
    mortality_cv     = 0.10,             # 사망률 변동계수 10%
    coverages        = (
        fcf.CoverageRate("DEATH", death_fn),  # 사망 보장 1종 (청구 rate = death_fn)
    ),
)

# 모델 포인트 -- 4개월 단기 보장, 단일보험료 120만 일시납
model_points = fcf.ModelPoints.single(
    issue_age           = 40,                # 가입연령 40세
    sex                 = 0,                 # 성별 (0=남, 1=여)
    benefits            = {0: 100_000_000},  # 0번 보장 (= DEATH) 의 보험금 1억
    premium             = 1_200_000,         # 일시납 보험료 120만
    term_months         = 4,                 # 보험기간 4개월
    premium_term_months = 1,                 # 납입기간 1개월 = 일시납 (한 번 납입)
)

# 측정 -- PAA 경로
m = fcf.paa.measure(model_points, basis)
print(m.lrc_path[0])         # 잔여보장부채 궤적 (월말 LRC, 길이 = 보험기간+1)
print(m.revenue[0])          # 월별 보험수익
print(m.loss_component[0])   # 손실요소 (0 = 손실부담계약 아님)

premium=1_200_000 + premium_term_months=1로 일시납 단일보험료를, term_months=4로 4개월 보장을 지정했습니다. 8장의 일반모형과 입력은 같은 모양 — 모델포인트와 가정 둘 — 이고, 부르는 함수만 measure에서 paa.measure로 바뀝니다. 실행하면 이렇게 나옵니다.

[     0. 900000. 600000. 300000.      0.]
[300000. 300000. 300000. 300000.]
0.0

m.lrc_path[0]은 9.4절 표의 월말 LRC 그대로입니다 — 0, 900000, 600000, 300000, 0. m.revenue[0]은 매달 인식한 보험수익 300,000이고요. 손으로 구한 표를 엔진이 그대로 확인해 줍니다.

m.loss_component[0]은 0입니다. 이 계약이 손실부담계약이 아니라는 뜻입니다. PAA에도 손실부담계약 판정이 있습니다(57~58항). 계약 초기에, 남은 보장에 대한 이행현금흐름이 LRC보다 크면 — 곧 앞으로 받을 보험료보다 나갈 보험금·사업비가 크면 — 그 초과분을 손실요소로 즉시 인식합니다. fastcashflow는 이 판정에 일반모형의 최초 인식 시점 FCF를 그대로 씁니다. 7장에서 본 손실요소와 같은 개념이죠.

발생사고부채

이 장이 다룬 LRC는 아직 제공하지 않은 보장의 부채입니다. 짝이 되는 것이 발생사고부채(LIC, Liability for Incurred Claims) — 이미 발생했지만 아직 지급하지 않은 보험금의 부채입니다(59항(b)). fastcashflow는 보험금이 발생한 달에 곧바로 지급된다고 보면 LIC를 0으로 두고, 가정에 보험금 지급 패턴(settlement_pattern)이 있으면 그 패턴으로 LIC를 굴립니다. paa.measure의 결과에서 m.lic로 얻습니다.

9.6 다음 장#

PAA는 짧은 계약을 위한 간편법이었습니다. 부채를 잔여보장부채 하나로 다루고, 보험료를 보장 제공에 따라 보험수익으로 인식하며, CSM 없이 이익을 그때그때 드러냅니다.

다음 장은 세 번째이자 마지막 모형 — 변동수수료접근법(VFA)입니다. 계약자가 펀드의 운용성과를 나눠 갖는 변액보험 같은 계약에 쓰는 모형으로, 일반모형의 CSM이 한 번 더 변형됩니다.