보험 도메인 심화 · 청구가 지급까지 가는 길 · 실습
지급 지연의 병목을 꼬리에서 찾기
목표
지급 지연 신고를 받았을 때 통짜 시간이 아니라 구간과 백분위수로 쪼개어 고칠 자리를 지목할 수 있게 되고, 부지급 사유 코드에서 심사 규칙의 결함을 읽어 낼 수 있게 됩니다.
왜 중요한가
지급 지연 대시보드가 목표치 안에 들어와 있는데 민원은 계속 들어오는 상황이 흔합니다. 민원을 넣는 사람은 평균에 있는 사람이 아니기 때문입니다. 평균은 짧은 건이 많아서 낮은 것이지 긴 건이 없어서 낮은 것이 아닙니다.
그리고 지연을 고치려면 어느 구간이 먹었는지까지 가야 합니다. "접수부터 지급까지 20일" 로는 아무도 못 고치고, "조사에서 18일" 이라야 조사 배정 규칙을 손보자는 말이 나옵니다. 접수-배정 구간이 길면 인력 문제이고 결정-지급 구간이 길면 정산 시스템 문제라, 구간을 안 나눈 보고는 엉뚱한 팀에 일을 던지게 만듭니다.
이 실습에서 쓰는 정의를 못박아 둡니다.
백분위수 오름차순 정렬 후 ceil(p × n ÷ 100) 번째 값 (최근접 순위법)평균 합을 건수로 나눈 몫. 소수점은 버린다지급기일 접수 후 240시간지연일수 (접수→지급 시간 − 240) ÷ 24 의 몫. 음수면 0지연이자 지급액 × 54 × 지연일수 ÷ 365000 의 몫 (연 5.4% 일할, 원 단위 내림)금액은 처음부터 끝까지 정수 원으로 다룹니다. 실수로 계산하면 대사가 1원씩 어긋나고, 그 1원의 원인을 찾는 데 며칠이 갑니다.
단계
1. 오른쪽 예시의 생성기를 /root/ins/make_claim.py 로 저장하고 python3 make_claim.py 로 실행하세요. 청구 200건, 단계 이력 965행, 이의 8건이 만들어집니다.
2. /root/ins/funnel.txt 에 단계별 건수 다섯 줄(stage_received= … stage_paid=)과 ledger_decided=, gap= 을 적고, 원장에 안 실린 건을 /root/ins/funnel_gap.csv 에 claim_no,decided_ts 로 남기세요.
3. 지급까지 간 청구의 구간별 소요 시간을 /root/ins/latency.csv 에 claim_no,assign_h,investigate_h,review_h,pay_h,total_h 로 적으세요.
4. /root/ins/percentile.txt 에 n=, mean_h=, p50_h=, p90_h=, p99_h= 다섯 줄을 적으세요.
5. total_h 가 p90 이상인 건만 골라 /root/ins/bottleneck.txt 에 tail_n=, tail_total_h=, tail_assign_h=, tail_investigate_h=, tail_review_h=, tail_pay_h=, tail_investigate_pct= 일곱 줄을 적으세요.
6. 부지급 사유 코드별 건수를 /root/ins/denial.csv 에 code,denied,appealed,overturned 로 적고, /root/ins/denial.txt 에 wrongful_denied=, wrongful_claimed_amount=, wrongful_code= 세 줄을 적으세요.
7. 지급기일을 넘긴 건의 지연이자를 /root/ins/interest.csv 에 claim_no,over_days,paid_amount,interest 로 적으세요.
8. /root/ins/claim_report.md 에 ## 확인한 것, ## 지연은 어디서 생기는가, ## 부당 부지급, ## 권고, ## 반출하지 않은 것 다섯 절로 보고서를 쓰세요.
참고
- 두 시각의 정수 시간 차이는
CAST(ROUND((julianday(a)-julianday(b))*24) AS INTEGER)로 구합니다. - SQLite 는 정수끼리 나누면 몫만 남깁니다. 이 실습의 계산은 전부 그 성질을 이용합니다.
- 흔한 실수 1: 3단계에 부지급 건까지 넣는 것. 지급 시각이 없는 건은 소요 시간을 잴 수 없습니다.
- 흔한 실수 2: 5단계에서 p90 을 넘는 건만 세는 것. 정의는 p90 '이상' 입니다.
- 흔한 실수 3: 이자 계산에서 나눗셈을 먼저 하는 것.
지급액 ÷ 365000 × 54 × 일수로 계산하면 대부분 0 이 나옵니다. - 흔한 실수 4: 보고서에 진단 코드를 옮겨 적는 것. 조사에서 보는 것과 문서로 내보내는 것은 다른 일입니다.
단계 8개
- 청구 데이터 만들기
- 단계표와 원장을 각각 세기
- 소요 시간을 네 구간으로 쪼개기
- 평균 뒤에 숨은 꼬리 드러내기
- 꼬리의 시간이 어느 구간으로 갔는지 지목하기
- 부지급 사유와 뒤집힌 건 가려내기
- 지연이자를 정수 원으로 계산하기
- 지연과 부당 부지급 보고서 쓰기