TT Lab
はじめる
学ぶ 学習パス コース

保険ドメイン深化

支払遅延のボトルネックを裾野から探す

TT Labで続きを見る

目標

支払い遅延の問い合わせを受けたとき、ひとまとめの時間ではなく区間とパーセンタイルに分けて、直す場所を指し示せるようになります。また、不支払いの理由コードから審査ルールの欠陥を読み取れるようになります。

なぜ重要なのか

支払い遅延のダッシュボードが目標値に収まっているのに、苦情が入り続ける状況はよくあります。苦情を入れる人は平均にいる人ではないからです。平均は短い案件が多いから低いのであって、長い案件がないから低いのではありません。

そして遅延を直すには、どの区間が時間を食ったのかまで行く必要があります。「受付から支払いまで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に段階別の件数5行(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行を書いてください。
  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=の7行を書いてください。
  6. 不支払い理由コード別の件数を/root/ins/denial.csvにcode,denied,appealed,overturnedとして書き、/root/ins/denial.txtにwrongful_denied=、wrongful_claimed_amount=、wrongful_code=の3行を書いてください。
  7. 支払期日を過ぎた案件の遅延利息を、/root/ins/interest.csvにclaim_no,over_days,paid_amount,interestとして書いてください。
  8. /root/ins/claim_report.mdに、## 확인한 것、## 지연은 어디서 생기는가、## 부당 부지급、## 권고、## 반출하지 않은 것の5つの節で報告書を書いてください(見出しは順に、韓国語で「確認したこと」「遅延はどこで生じるのか」「不当な不支払い」「勧告」「持ち出していないもの」を意味する語です)。

参考

請求データを作る

右の例にあるジェネレーターを/root/ins/make_claim.pyとして保存し、python3 make_claim.pyで実行してください。請求200件、段階履歴965行、異議8件が作られます。

ラボの案内にあるジェネレーターを/root/ins/make_claim.pyとして保存し、python3で実行してください。手で直すと、後のステップの数字がすべてずれます。

段階表と元帳をそれぞれ数える

/root/ins/funnel.txtに段階別の件数5行(stage_received= … stage_paid=)とledger_decided=、gap=を書き、元帳に載っていない案件を/root/ins/funnel_gap.csvにclaim_no,decided_tsとして残してください。

同じ「決定件数」を、claim_stageとclaim.decisionの2か所で数えてみてください。2つの数字が分かれたら、その差が誰も手を付けていない案件です。

所要時間を4つの区間に分ける

支払いまで進んだ請求の区間別の所要時間を、/root/ins/latency.csvにclaim_no,assign_h,investigate_h,review_h,pay_h,total_hとして書いてください。

段階の時刻がすべて正時なので、julianday同士の差に24を掛けて四捨五入すると、正確な整数時間が出ます。支払いまで進んだ請求だけが対象です。

平均の裏に隠れたテールを明らかにする

/root/ins/percentile.txtにn=、mean_h=、p50_h=、p90_h=、p99_h=の5行を書いてください。

パーセンタイルは最近接順位法で求めます。昇順に並べたあとの、ceil(p × n ÷ 100)番目の値です。平均は、合計を件数で割った商だけを取ってください。

テールの時間がどの区間に行ったかを指し示す

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=の7行を書いてください。

total_hがp90以上の案件だけを選び、区間別に合算してください。割合は、調査区間の合計に100を掛け、全体の合計で割った商です。

不支払いの理由と覆った案件を見分ける

不支払い理由コード別の件数を/root/ins/denial.csvにcode,denied,appealed,overturnedとして書き、/root/ins/denial.txtにwrongful_denied=、wrongful_claimed_amount=、wrongful_code=の3行を書いてください。

コード別の件数だけを見ると、均等に広がっているように見えます。異議申立ての件数と覆った件数を同じ行に並べると、1つのコードに集中しているのが見えます。

遅延利息を整数のウォンで計算する

支払期日を過ぎた案件の遅延利息を、/root/ins/interest.csvにclaim_no,over_days,paid_amount,interestとして書いてください。

支払期日は受付後240時間です。遅延日数は(所要時間 − 240)を24で割った商で、利息は支払額 × 54 × 遅延日数 ÷ 365000の商です。割り算は最後に1回だけ行ってください。

遅延と不当な不支払いの報告書を書く

/root/ins/claim_report.mdに、## 확인한 것、## 지연은 어디서 생기는가、## 부당 부지급、## 권고、## 반출하지 않은 것の5つの節で報告書を書いてください(見出しは順に、韓国語で「確認したこと」「遅延はどこで生じるのか」「不当な不支払い」「勧告」「持ち出していないもの」を意味する語です)。

5つの節が必要です。最後の節は、何を報告書に載せていないかを明らかにする場所です。このデータには診断コードが含まれています。