뱅크샐러드
경력근거: 금융솔루션전문가의 상담·영업 시스템 고도화, AI OS 재구축 등 사업의 핵심 과제를 맡습니다.
※ 실제 산출물이 아닌 AI 예측 시안입니다.
뱅크샐러드는 계좌·카드·대출·보험 데이터를 한곳에 모아 자산관리와 금융상품 비교를 제공하는 개인 금융 앱이에요. 앱에서 보험 진단을 받고 상담을 신청한 고객은 자회사 뱅크샐러드금융서비스(뱅금서)의 금융솔루션전문가와 채팅으로 상담하고, 원하면 계약까지 이어가요.
공고는 FDE 가 '금융솔루션전문가의 상담·영업 시스템 고도화, AI OS 재구축 등 사업의 핵심 과제를 맡습니다'라고 쓰고, 이 사업을 '뱅크샐러드 앱에서 시작된 보험 경험을 비대면 상담으로 연결하고' 고객마다 맞춤 솔루션을 내는 일로 설명해요. 한 고객이 여러 보험사에 든 계약은 계약마다 갱신일과 보험료 납입일이 따로 돌아가서, 실손의료비 보장이 두 계약에 겹치거나 한 계약의 보험료가 밀려 있어도 계약 목록만 봐서는 잘 드러나지 않아요. 실손의료비는 여러 계약에 들어 있어도 실제로 낸 의료비 안에서 나눠 보상받기 때문에, 겹친 계약은 고객이 보험료만 더 내는 계약이 돼요.
공고는 이 자리가 맡을 핵심 과제로 금융솔루션전문가의 상담·영업 시스템 고도화와 AI OS 재구축을 꼽아요.
공고는 뱅크샐러드 앱에서 시작된 보험 경험을 비대면 상담으로 연결하고, 고객 한 사람 한 사람에게 맞춤 솔루션을 제공한다고 써요.
공고는 고객이 겪는 문제를 현장에서 직접 진단하고, 해결할 문제와 우선순위를 정의하는 일을 이 자리의 업무로 꼽아요. 엔지니어가 만든 제품은 다음 날 고객과 금융솔루션전문가의 현장에서 쓰인다고 써요.
금융솔루션전문가가 상담을 시작하기 직전에 여는 관리자 페이지예요. 그날 잡힌 상담 예약마다 고객이 가진 보험 계약을 모아 보여 주고, 실손의료비 보장이 두 계약 이상에 들어 있는지, 보험료 미납이 몇 회차 이어졌는지, 갱신이 상담 뒤 곧 돌아오는지 알려 줘요. 받은 데이터를 담을 DB 설계와 기술·구조, 그리고 보험료가 몇 회차 밀리면 알릴지와 갱신이 며칠 안에 돌아오면 알릴지는 지원자가 정해요.
뱅크샐러드금융서비스(뱅금서)에서 앱으로 보험 상담을 신청한 고객을 채팅으로 상담하는 금융솔루션전문가예요. 고객이 여러 보험사에 든 계약을 상담 전에 한눈에 보지 못하면, 실손의료비 보장이 겹친 계약이나 밀린 보험료, 곧 돌아올 갱신을 상담 중에 고객에게 하나씩 물어서 찾게 돼요.
고객이 앱에서 보험 상담을 신청해 잡힌 상담 예약이에요. 한 행이 예약 한 건이고 request_id 가 키예요. customer_id 는 상담을 신청한 고객 번호로 held_policies.customer_id 와 같은 번호이고, 이 기간에 고객 한 명은 예약이 한 번이에요. expert_id 는 이 상담을 맡은 금융솔루션전문가 코드예요. requested_at 은 고객이 상담을 신청한 시각, slot_start 는 상담을 시작하는 시각이고, 둘 다 상담 예약 시스템의 시계로 찍은 한국 시간이에요. 이 기능은 slot_start 를 '지금'으로 삼아요. 하루 예약에는 계약·보험료·갱신에서 먼저 볼 것이 있는 고객과 없는 고객이 섞여 있어요. 큰 데이터는 2026년 7월 20일부터 10월 16일까지 평일 60일 동안 금융솔루션전문가 18명에게 잡힌 예약 8,119건이고, 시작용은 마지막 날 FS-07 에게 잡힌 예약 9건 전부를 같은 ID·같은 값으로 잘라 낸 것이에요.
전체 9행 가운데 앞 5행이에요.
| request_id | customer_id | expert_id | requested_at | slot_start |
|---|---|---|---|---|
| CR-107965 | CU-307965 | FS-07 | 2026-10-12T21:55:18+09:00 | 2026-10-16T09:00:00+09:00 |
| CR-108102 | CU-308102 | FS-07 | 2026-10-15T12:01:56+09:00 | 2026-10-16T10:00:00+09:00 |
| CR-107919 | CU-307919 | FS-07 | 2026-10-12T13:24:48+09:00 | 2026-10-16T10:30:00+09:00 |
| CR-107688 | CU-307688 | FS-07 | 2026-10-10T12:45:49+09:00 | 2026-10-16T11:30:00+09:00 |
| CR-107975 | CU-307975 | FS-07 | 2026-10-12T23:53:20+09:00 | 2026-10-16T13:00:00+09:00 |
9행 전부를 JSON 파일 하나로 받을 수 있어요.
같은 형식으로 만든 8,119행이에요. 위 데이터가 이 안에 그대로 들어 있어요(한 줄에 한 행, gzip 압축).
미리보기와 내려받는 데이터 모두 이 형식(JSON Schema)을 따라요.
{
"type": "object",
"description": "상담 예약 한 건. 키는 request_id.",
"additionalProperties": false,
"required": [
"request_id",
"customer_id",
"expert_id",
"requested_at",
"slot_start"
],
"properties": {
"request_id": {
"type": "string",
"pattern": "^CR-[0-9]{6}$",
"description": "상담 예약 번호. 이 표의 키예요."
},
"customer_id": {
"type": "string",
"pattern": "^CU-[0-9]{6}$",
"description": "상담을 신청한 고객 번호. held_policies.customer_id 와 같은 번호이고, 이 기간에 고객 한 명은 예약이 한 번이에요."
},
"expert_id": {
"type": "string",
"pattern": "^FS-[0-9]{2}$",
"description": "이 상담을 맡은 금융솔루션전문가 코드(FS-01~FS-18)."
},
"requested_at": {
"type": "string",
"format": "date-time",
"description": "고객이 앱에서 상담을 신청한 시각. 상담 예약 시스템의 시계, 한국 시간(+09:00) ISO 8601, 초 단위."
},
"slot_start": {
"type": "string",
"format": "date-time",
"description": "상담을 시작하는 시각. 상담 예약 시스템의 시계, 한국 시간(+09:00) ISO 8601, 초 단위. 이 기능이 '지금'으로 삼는 시각이에요."
}
}
}상담을 신청한 고객이 가진 보험 계약이에요. 한 행이 계약 한 건이고 policy_id 가 키예요. customer_id 는 consult_requests.customer_id 와 같은 고객 번호이고, 한 계약은 한 고객에게만 속해요. 2025년 10월 1일부터 2026년 10월 18일 사이에 하루라도 유지된 계약이 모두 들어 있어서, 상담 전에 끝난 계약과 상담 뒤에 새로 든 계약도 있어요. contract_date 는 계약일이고, ended_on 은 해지 등으로 계약이 끝난 날짜로 그날부터 효력이 없어요. ended_on 이 비어 있으면 2026년 10월 18일까지 유지된 계약이에요. 상담 날짜에 계약하거나 끝난 계약은 없어요. insurer_id 는 보험사 코드이고, product_type 은 상품 종류예요. 실손의료보험이 아닌 종합건강보험에도 실손의료비 특약이 붙은 계약이 있어요. 오래된 실손의료보험을 새 실손의료보험으로 바꾼 고객, 실손의료비 보장이 두 계약에 들어 있는 고객, 납입기간이 끝난 계약을 가진 고객이 들어 있어요. 큰 데이터는 예약 고객 전원의 계약 21,749건이고, 시작용은 그중 FS-07 마지막 날 예약 고객 9명의 계약 23건 전부예요.
전체 23행 가운데 앞 5행이에요.
| policy_id | customer_id | insurer_id | product_type | contract_date | ended_on |
|---|---|---|---|---|---|
| PL-4020649 | CU-307688 | IS-21 | 실손의료보험 | 2012-10-26 | — |
| PL-4020650 | CU-307688 | IS-10 | 종신보험 | 2014-08-11 | — |
| PL-4020651 | CU-307688 | IS-18 | 운전자보험 | 2020-04-27 | — |
| PL-4021007 | CU-307825 | IS-19 | 실손의료보험 | 2015-06-25 | 2026-04-02 |
| PL-4021008 | CU-307825 | IS-01 | 암보험 | 2016-11-08 | — |
23행 전부를 JSON 파일 하나로 받을 수 있어요.
같은 형식으로 만든 21,749행이에요. 위 데이터가 이 안에 그대로 들어 있어요(한 줄에 한 행, gzip 압축).
미리보기와 내려받는 데이터 모두 이 형식(JSON Schema)을 따라요.
{
"type": "object",
"description": "고객 보험 계약 한 건. 키는 policy_id.",
"additionalProperties": false,
"required": [
"policy_id",
"customer_id",
"insurer_id",
"product_type",
"contract_date",
"ended_on"
],
"properties": {
"policy_id": {
"type": "string",
"pattern": "^PL-[0-9]{7}$",
"description": "계약 번호. 이 표의 키예요."
},
"customer_id": {
"type": "string",
"pattern": "^CU-[0-9]{6}$",
"description": "계약한 고객 번호. consult_requests.customer_id 와 같은 번호예요. 한 계약은 한 고객에게만 속해요."
},
"insurer_id": {
"type": "string",
"pattern": "^IS-[0-9]{2}$",
"description": "계약한 보험사 코드(IS-01~IS-24)."
},
"product_type": {
"type": "string",
"enum": [
"실손의료보험",
"종합건강보험",
"암보험",
"종신보험",
"운전자보험",
"상해보험"
],
"description": "상품 종류. 종합건강보험에도 실손의료비 특약이 붙은 계약이 있어요."
},
"contract_date": {
"type": "string",
"format": "date",
"description": "계약일(한국 날짜). 매달 보험료를 내는 날과 갱신일이 이 날짜의 일·월을 따라요."
},
"ended_on": {
"type": [
"string",
"null"
],
"format": "date",
"description": "해지 등으로 계약이 끝난 날짜(한국 날짜). 이 날부터 효력이 없어요. 비어 있으면 2026년 10월 18일까지 유지된 계약이에요."
}
}
}계약마다 든 담보예요. 한 행이 한 계약의 담보 하나이고, policy_id 와 coverage_code 묶음이 키예요. policy_id 는 held_policies.policy_id 를, coverage_code 는 coverage_codes.coverage_code 를 가리키고, 한 계약에 같은 담보는 한 번만 나와요. insured_amount_krw 는 가입금액(원)으로, 진단비·사망·후유장해는 받는 금액, 수술비는 수술 한 번 금액, 입원일당은 하루 금액, 실손의료비는 한 해 보상 한도, 운전자 비용은 사고 한 건 한도예요. renewal_cycle_years 는 갱신형 담보의 갱신 주기(년)이고, 이 데이터에서 갱신형 담보는 계약일부터 그 주기마다 계약일과 같은 월·일에 갱신돼요. 비어 있으면 갱신하지 않는 담보예요. 실손의료비 담보가 여러 개인 계약, 주계약은 갱신하지 않고 특약만 갱신되는 계약, 갱신 주기가 1년·3년·5년·10년·20년인 계약이 들어 있어요. 큰 데이터는 큰 데이터 계약의 담보 53,285행 전부이고, 시작용은 시작용 계약 23건의 담보 53행 전부예요.
전체 53행 가운데 앞 5행이에요.
| policy_id | coverage_code | insured_amount_krw | renewal_cycle_years |
|---|---|---|---|
| PL-4020649 | MED-INJ | 50,000,000 | 3 |
| PL-4020649 | MED-DIS | 50,000,000 | 3 |
| PL-4020650 | DTH-GEN | 50,000,000 | — |
| PL-4020651 | DRV-AID | 100,000,000 | — |
| PL-4020651 | DRV-FINE | 20,000,000 | — |
53행 전부를 JSON 파일 하나로 받을 수 있어요.
같은 형식으로 만든 53,285행이에요. 위 데이터가 이 안에 그대로 들어 있어요(한 줄에 한 행, gzip 압축).
미리보기와 내려받는 데이터 모두 이 형식(JSON Schema)을 따라요.
{
"type": "object",
"description": "한 계약에 든 담보 하나. 키는 (policy_id, coverage_code) 묶음.",
"additionalProperties": false,
"required": [
"policy_id",
"coverage_code",
"insured_amount_krw",
"renewal_cycle_years"
],
"properties": {
"policy_id": {
"type": "string",
"pattern": "^PL-[0-9]{7}$",
"description": "담보가 든 계약. held_policies.policy_id 를 가리켜요."
},
"coverage_code": {
"type": "string",
"pattern": "^[A-Z]+-[A-Z]+$",
"description": "담보 코드. coverage_codes.coverage_code 를 가리켜요. 한 계약에 같은 코드는 한 번만 나와요."
},
"insured_amount_krw": {
"type": "integer",
"minimum": 1,
"description": "가입금액(원, 정수). 진단비·사망·후유장해는 받는 금액, 수술비는 수술 한 번 금액, 입원일당은 하루 금액, 실손의료비는 한 해 보상 한도, 운전자 비용은 사고 한 건 한도예요."
},
"renewal_cycle_years": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "갱신형 담보의 갱신 주기(년). 계약일부터 이 주기마다 계약일과 같은 월·일에 갱신돼요. 비어 있으면 갱신하지 않는 담보예요."
}
}
}계약마다 매달 내야 하는 보험료 회차와 그 납입 기록이에요. 한 행이 한 계약의 한 회차이고, policy_id 와 installment_no 묶음이 키예요. policy_id 는 held_policies.policy_id 를 가리켜요. installment_no 는 계약일에 낸 첫 회차부터 센 번호이고, due_date 는 그 회차를 내야 하는 날(납입기일)로 매달 계약일과 같은 날이에요. premium_krw 는 그 회차에 청구된 보험료(원)이고 갱신한 뒤 회차부터 바뀌어요. paid_at 은 보험사가 그 회차 납입을 확인한 시각이에요. 보험사 시스템의 시계로 찍었고 slot_start 와 같은 한국 표준시예요. paid_at 이 비어 있으면 2026년 10월 18일이 끝날 때까지 납입되지 않은 회차예요. 밀린 회차는 나중에 한꺼번에 내서, 같은 계약에서 앞 회차가 밀린 채 뒤 회차만 낸 기록은 없어요. 납입기일이 2025년 10월 1일부터 2026년 10월 18일까지인 회차가 모두 있고, 계약 전과 계약이 끝난 뒤, 납입기간이 끝난 뒤에는 회차가 없어요. 한두 달 밀렸다가 나중에 낸 회차, 아직 내지 않은 회차, 상담 날 상담 전이나 뒤에 낸 회차, 납입기일이 상담 날인 회차가 들어 있어요. 큰 데이터는 233,498회차 전부이고, 시작용은 시작용 계약 23건의 회차 가운데 납입기일이 2026년 9월 1일부터 10월 18일까지인 33회차 전부예요.
전체 33행 가운데 앞 5행이에요.
| policy_id | installment_no | due_date | premium_krw | paid_at |
|---|---|---|---|---|
| PL-4020649 | 168 | 2026-09-26 | 26,490 | 2026-09-26T08:08:46+09:00 |
| PL-4020651 | 78 | 2026-09-27 | 13,310 | 2026-09-27T08:56:32+09:00 |
| PL-4021008 | 119 | 2026-09-08 | 51,380 | 2026-09-08T10:56:36+09:00 |
| PL-4021008 | 120 | 2026-10-08 | 51,380 | 2026-10-08T08:45:29+09:00 |
| PL-4021009 | 90 | 2026-09-16 | 79,680 | — |
33행 전부를 JSON 파일 하나로 받을 수 있어요.
같은 형식으로 만든 233,498행이에요. 위 데이터가 이 안에 그대로 들어 있어요(한 줄에 한 행, gzip 압축).
미리보기와 내려받는 데이터 모두 이 형식(JSON Schema)을 따라요.
{
"type": "object",
"description": "한 계약의 보험료 한 회차. 키는 (policy_id, installment_no) 묶음.",
"additionalProperties": false,
"required": [
"policy_id",
"installment_no",
"due_date",
"premium_krw",
"paid_at"
],
"properties": {
"policy_id": {
"type": "string",
"pattern": "^PL-[0-9]{7}$",
"description": "보험료를 내는 계약. held_policies.policy_id 를 가리켜요."
},
"installment_no": {
"type": "integer",
"minimum": 1,
"description": "회차 번호. 계약일에 낸 첫 회차가 1이고 한 달에 하나씩 늘어요."
},
"due_date": {
"type": "string",
"format": "date",
"description": "그 회차를 내야 하는 날(납입기일, 한국 날짜). 매달 계약일과 같은 날이에요."
},
"premium_krw": {
"type": "integer",
"minimum": 1,
"description": "그 회차에 청구된 보험료(원, 정수). 갱신한 뒤 회차부터 바뀌어요."
},
"paid_at": {
"type": [
"string",
"null"
],
"format": "date-time",
"description": "보험사가 그 회차 납입을 확인한 시각. 보험사 시스템의 시계로 찍었고 slot_start 와 같은 한국 표준시예요. 한국 시간(+09:00) ISO 8601, 초 단위. 비어 있으면 2026년 10월 18일이 끝날 때까지 납입되지 않은 회차예요."
}
}
}담보 코드와 이름, 담보 분류를 적은 기준표예요. 한 행이 담보 하나이고 coverage_code 가 키예요. coverage_group 은 담보 분류로 실손의료비·진단비·수술비·입원일당·사망·후유장해·운전자 비용 가운데 하나예요. 이름에 '질병'이나 '상해'가 같이 들어가도 분류가 다른 담보가 있어요. 큰 데이터와 시작용은 같은 14행이에요.
전체 14행 가운데 앞 5행이에요.
| coverage_code | coverage_name | coverage_group |
|---|---|---|
| MED-INJ | 상해 실손의료비 | 실손의료비 |
| MED-DIS | 질병 실손의료비 | 실손의료비 |
| MED-NONPAY | 비급여 실손의료비 특약 | 실손의료비 |
| CAN-DX | 암 진단비 | 진단비 |
| STK-DX | 뇌혈관질환 진단비 | 진단비 |
14행 전부를 JSON 파일 하나로 받을 수 있어요.
같은 형식으로 만든 14행이에요. 위 데이터가 이 안에 그대로 들어 있어요(한 줄에 한 행, gzip 압축).
미리보기와 내려받는 데이터 모두 이 형식(JSON Schema)을 따라요.
{
"type": "object",
"description": "담보 코드 하나. 키는 coverage_code.",
"additionalProperties": false,
"required": [
"coverage_code",
"coverage_name",
"coverage_group"
],
"properties": {
"coverage_code": {
"type": "string",
"pattern": "^[A-Z]+-[A-Z]+$",
"description": "담보 코드. 이 표의 키예요."
},
"coverage_name": {
"type": "string",
"description": "담보 이름."
},
"coverage_group": {
"type": "string",
"enum": [
"실손의료비",
"진단비",
"수술비",
"입원일당",
"사망",
"후유장해",
"운전자 비용"
],
"description": "담보 분류."
}
}
}