Skip to content

필사 모드: 보험 도메인 완전 가이드 — 생명보험부터 손해보험, 보험료 산출까지

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

들어가며

은행, 증권과 함께 금융 3대 축 중 하나인 **보험**. 하지만 개발자에게 보험 도메인은 낯설기만 합니다. 언더라이팅? 보험계리? 손해율? 이 글에서 보험의 A to Z를 정리합니다.

보험의 기본 원리

대수의 법칙 (Law of Large Numbers)

개인의 사고는 예측 불가, 하지만 집단의 사고율은 예측 가능!

n_people = [10, 100, 1000, 10000, 100000]

accident_rate = 0.05 # 실제 사고율 5%

for n in n_people:

accidents = np.random.binomial(n, accident_rate)

observed_rate = accidents / n

print(f" {n:>7}명: 관측 사고율 = {observed_rate:.4f} (오차: {abs(observed_rate - accident_rate):.4f})")

10명: 0.1000 (오차: 0.0500) ← 부정확

100000명: 0.0498 (오차: 0.0002) ← 거의 정확!

→ 가입자가 많을수록 보험사의 예측이 정확해짐

수지상등의 원칙

총 수입 보험료 = 총 지급 보험금 + 운영비

보험료 = 순보험료(위험보험료) + 부가보험료(사업비)

├── 보험금 지급 재원 ├── 설계사 수수료

└── 보험 리스크 대비 ├── 회사 운영비

└── 이윤

보험의 3대 분류

1. 생명보험 (Life Insurance)

**사람의 생사**에 관한 보험.

종류:

├── 종신보험: 사망 시 보험금 (평생 보장)

│ └── 보험료 비쌈, 상속/유족 보장 목적

├── 정기보험: 일정 기간 내 사망 시 보험금

│ └── 보험료 저렴, 20~30년 설정

├── 양로보험: 사망 또는 만기 시 보험금

│ └── 저축 + 보장 결합

└── 연금보험: 일정 나이부터 연금 지급

└── 노후 대비, 세제 혜택

정기보험료 산출 (간략 모델)

def term_insurance_premium(age, coverage, term_years, mortality_table):

"""

순보험료 = Σ (사망확률 × 보험금 × 할인율)

"""

premium = 0

discount_rate = 0.035 # 예정이율 3.5%

for year in range(term_years):

current_age = age + year

mortality = mortality_table[current_age] # 연령별 사망률

해당 연도 사망 시 보험금의 현재 가치

pv = coverage * mortality / (1 + discount_rate) ** (year + 1)

premium += pv

연납 순보험료 = 총 PV / 연금현가

annuity_factor = sum(1 / (1 + discount_rate) ** y for y in range(1, term_years + 1))

annual_premium = premium / annuity_factor

부가보험료 추가 (사업비율 ~30%)

gross_premium = annual_premium / 0.7

return gross_premium

30세, 1억 보장, 20년

premium = term_insurance_premium(30, 100_000_000, 20, mortality_table)

2. 손해보험 (Property & Casualty Insurance)

**재물, 배상책임, 비용**에 관한 보험.

종류:

├── 화재보험: 건물, 동산 화재 피해

├── 자동차보험

│ ├── 대인배상 I/II: 타인 사망/상해

│ ├── 대물배상: 타인 재물 손해

│ ├── 자기신체: 내 상해

│ ├── 자차: 내 차 수리

│ └── 무보험차: 무보험 상대방 사고

├── 배상책임보험: 제3자에게 끼친 손해

├── 해상보험: 선박, 화물

└── 보증보험: 채무 불이행 보증

자동차 보험료 산출 요소

auto_insurance_factors = {

"차량": {

"차종": "K5 (중형)",

"연식": 2024,

"차량가액": 30_000_000,

"용도": "출퇴근",

},

"운전자": {

"나이": 30,

"성별": "남",

"면허_종류": "1종보통",

"사고_이력": 0, # 최근 3년

"보험_가입_기간": 5, # 년

},

"할인/할증": {

"무사고_할인": -15, # %

"블랙박스_할인": -5,

"마일리지_할인": -10,

"다자녀_할인": 0,

"사고_할증": 0,

}

}

손해율 = 지급보험금 / 경과보험료 × 100%

합산비율(Combined Ratio) = 손해율 + 사업비율

< 100%: 보험 영업으로 이익

> 100%: 투자 수익으로 메워야 함

3. 제3보험 (생손보 경계)

생명보험도 아니고 손해보험도 아닌 "사람의 신체"에 관한 보험:

├── 실손의료보험: 실제 치료비 보상 (가장 중요!)

├── 상해보험: 외부 사고로 인한 상해

├── 질병보험: 암, 뇌졸중, 심근경색 등

├── 간병보험: 장기 요양 상태

└── 치아보험: 치과 치료

보험 핵심 용어

| 용어 | 의미 | 개발자 비유 |

| ---------------- | --------------------------- | ------------------- |

| **보험료** | 가입자가 내는 돈 | 구독료 |

| **보험금** | 사고 시 받는 돈 | SLA 보상금 |

| **보험가액** | 보험 대상의 실제 가치 | 서버 교체 비용 |

| **보험가입금액** | 보험 계약 금액 | 보상 한도 |

| **면책기간** | 보장 시작 전 대기 기간 | 쿨다운 |

| **면책금(공제)** | 보험금에서 빼는 자기 부담금 | 최소 과금 단위 |

| **언더라이팅** | 가입 심사 | 입력 검증 |

| **보험계리사** | 보험료/준비금 계산 전문가 | 데이터 사이언티스트 |

보험료 산출 구조

총 보험료 (Gross Premium)

├── 순보험료 (Net Premium) — 보험금 지급 재원

│ ├── 위험보험료: 사망/사고 확률 기반

│ └── 저축보험료: 만기 환급금 재원 (저축성 보험)

└── 부가보험료 (Loading) — 회사 운영비

├── 신계약비: 설계사 수수료 (첫 해 집중)

├── 유지비: 매년 관리 비용

└── 수금비: 보험료 수납 비용

보험료 산출의 3대 기초율

class InsuranceBasicRates:

1. 예정위험률 (Mortality/Morbidity Rate)

→ 나이/성별/직업별 사망·사고 확률

→ 생명표, 경험통계 기반

mortality_30_male = 0.00098 # 30세 남성 연간 사망확률 0.098%

2. 예정이율 (Assumed Interest Rate)

→ 보험사가 운용 수익으로 벌 것으로 예상하는 이율

→ 높을수록 보험료 ↓ (미래 수익으로 상쇄)

assumed_rate = 0.025 # 2.5% (현재 저금리 시대)

3. 예정사업비율 (Expense Ratio)

→ 보험료 중 사업비 비율

expense_ratio = 0.25 # 25%

보험사 경영 지표

손해율 (Loss Ratio)

def loss_ratio(claims_paid, earned_premium):

"""손해율 = 지급보험금 / 경과보험료 × 100"""

return (claims_paid / earned_premium) * 100

자동차보험: 손해율 80% (높음)

생명보험: 손해율 50% (낮음)

실손보험: 손해율 120% (적자!)

합산비율 (Combined Ratio) — 보험사의 성적표

def combined_ratio(loss_ratio, expense_ratio):

"""합산비율 = 손해율 + 사업비율"""

return loss_ratio + expense_ratio

< 100%: 보험 영업만으로 이익 (언더라이팅 이익)

= 100%: 손익분기

> 100%: 적자 → 투자 수익으로 메워야 함

한국 손해보험 평균: ~105% (영업은 적자, 투자로 보전)

지급여력비율 (RBC, Risk-Based Capital)

보험사의 건전성 지표 (금감원 감독)

def rbc_ratio(available_capital, required_capital):

"""지급여력비율 = 가용자본 / 요구자본 × 100"""

return (available_capital / required_capital) * 100

최소 100% 이상 유지 필수

150% 이상: 건전 (금감원 권고)

100% 미만: 적기시정조치 대상!

InsurTech — 보험 + 기술

전통 보험 → InsurTech

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

대면 설계사 영업 → 앱/웹 다이렉트 가입

종이 청구서 → OCR + AI 자동 심사

일률적 보험료 → IoT + AI 맞춤 보험료

수동 사기 탐지 → ML 이상 탐지

수개월 보험금 지급 → 실시간 자동 지급

AI 보험 사기 탐지 모델 (개념)

features = {

"claim_amount": 50_000_000, # 청구 금액

"days_since_policy": 30, # 가입 후 경과일 (너무 빠른 청구?)

"previous_claims": 5, # 과거 청구 횟수

"medical_consistency": 0.3, # 진단서-청구 일관성 (낮으면 의심)

"provider_fraud_score": 0.8, # 해당 병원의 사기 이력 점수

"claimant_network_risk": 0.6, # 청구자 네트워크 위험도

}

XGBoost / LightGBM으로 사기 확률 예측

fraud_probability = model.predict(features)

> 0.7이면 SIU(특별조사팀) 자동 이관

개발자가 알면 좋은 보험 시스템

보험 시스템 아키텍처:

├── 계약 관리 (Policy Admin)

│ └── 가입, 변경, 해지, 갱신

├── 언더라이팅 (Underwriting)

│ └── 가입 심사, 위험 평가

├── 보험료 산출 (Rating Engine)

│ └── 보험계리 기반 보험료 계산

├── 보험금 청구 (Claims)

│ └── 접수, 심사, 지급, 사기 탐지

├── 수금 (Billing)

│ └── 보험료 수납, 미납 관리

├── 재보험 (Reinsurance)

│ └── 위험 분산 (보험사의 보험)

└── 계리 (Actuarial)

└── 준비금 산출, 상품 설계

**Q1.** 보험의 기본 원리인 "대수의 법칙"이란?

||개별 사건은 예측 불가하지만, 충분히 큰 집단에서는 사고 발생률이 통계적으로 안정적으로 수렴한다는 법칙. 가입자가 많을수록 보험사의 리스크 예측이 정확해짐||

**Q2.** 순보험료와 부가보험료의 차이는?

||순보험료: 보험금 지급 재원 (위험보험료 + 저축보험료). 부가보험료: 회사 운영비 (신계약비 + 유지비 + 수금비). 총 보험료 = 순보험료 + 부가보험료||

**Q3.** 합산비율(Combined Ratio)이 105%인 보험사의 상태는?

||보험 영업만으로는 5% 적자. 지급보험금 + 사업비가 수입보험료보다 5% 많음. 투자 수익으로 메워야 흑자 달성 가능||

**Q4.** 실손의료보험의 손해율이 120%를 넘는 이유는?

||의료비 상승 + 과잉 진료 + 도덕적 해이. 보험금 지급액이 수입보험료를 크게 초과. 보험사들이 보험료를 지속 인상하는 이유||

**Q5.** 예정이율이 높아지면 보험료는?

||낮아진다. 보험사가 운용 수익을 더 많이 벌 것으로 예상하므로, 가입자에게 미리 할인해주는 효과||

**Q6.** RBC 비율이 100% 미만이면?

||금감원의 적기시정조치 대상. 보험금 지급 능력이 부족한 상태로, 신규 영업 제한/자본 확충 명령 등을 받음||

현재 단락 (1/151)

은행, 증권과 함께 금융 3대 축 중 하나인 **보험**. 하지만 개발자에게 보험 도메인은 낯설기만 합니다. 언더라이팅? 보험계리? 손해율? 이 글에서 보험의 A to Z를 정리합...

작성 글자: 0원문 글자: 4,731작성 단락: 0/151