교육자료 · 구축 과정 복기

고장 통계를 사고 예측으로
바꾸기까지, 열 개의 정거장

원인 분석(FTA)과 결과 분석(보타이)이 하나의 위험사건에서 만나기까지 무엇을 어떤 순서로 결정했는지, 그리고 각 결정이 왜 필요했는지를 따라가는 자료입니다. 사전 지식 없이 위에서부터 읽으면 됩니다.

기준 자료FTA 기본사건 3,749건
결과 자료안전연쇄 후보 6,176건
연결 키Trigger_ID (위험사건 코드)
작업 기간2026.07.20 → 07.23
01 설비·사람·환경 고장 원인 기본사건 환승 위험사건 (Top Event) 전개사건 사고 피해
01

반쪽짜리 위험도

2026.07.20 · 출발점

여기까지 만들어 둔 두 자료는 각각 위험도 평가의 서로 다른 절반을 담당하고 있었습니다. 한쪽은 "왜 일어나는가"만, 다른 쪽은 "무엇으로 이어지는가"만 알고 있었죠.

구분자료답할 수 있는 질문
좌측 · 원인FTA 기본사건 전개 3,749건 위험사건이 일어나는가 — 발생빈도
우측 · 결과안전연쇄 후보 6,176건 위험사건이 무엇으로 전개되는가 — 전이·영향도
왜 문제인가 — 두 자료가 따로 놀면 위험도는 R = 발생가능성 × 영향도 로만 계산되고, 이때 영향도는 담당자가 매번 주관적으로 넣는 숫자입니다. "고장이 잦다"는 알아도 "그래서 어떤 사고가 얼마나 늘어나는가"는 답할 수 없습니다.
두 자료는 Trigger_ID(위험사건 코드)를 공유합니다. 이 하나의 공통 열쇠가 있었기에, 새로 조사하지 않고 결합만으로 국제 표준 구조인 보타이(Bow-tie)를 완성할 수 있었습니다.
02

두 자료가 만나다 — 조인 검증

환승역 · 결합 전 사전 확인

결합하기 전에 먼저 확인해야 할 것이 있었습니다. 두 자료가 같은 코드 체계를 쓴다고 믿고 있었을 뿐, 실제로 맞물리는지는 검증되지 않았기 때문입니다. 프로그램으로 전수 대조했습니다.

해보기위험사건 코드가 실제로 맞물리는가
Trigger_ID
검증 항목확인한 내용결과
코드 정합결과측 154종이 원인측 156종 안에 모두 들어 있는가 이상 없음
결측 사유빠진 2종(승무원 지연 · 해당 없음)의 성격 확인 사고 비전이성
명칭 일치같은 코드에서 위험사건 문구가 좌·우 동일한가 100% 일치
참조 무결성연결 대상이 없는 고아 데이터가 있는가 위반 0건
왜 중요한가 — 결측 2종이 오류가 아니라 합리적인 결측임을 확인한 것이 핵심입니다. 승무원 지연은 그 자체로 사고가 되지 않으므로 결과측이 비어 있는 게 정상입니다. 숫자가 안 맞을 때 "틀렸다"가 아니라 "왜 다른가"를 먼저 묻는 것이 데이터 검증의 기본입니다.
명칭이 100% 일치한 것은 우연이 아니라, 두 자료를 만들 때 같은 용어 사전을 재사용했기 때문입니다. 표준 용어를 먼저 만들어 둔 투자가 여기서 회수되었습니다.
03

조인 폭발을 막다 — 3계층 설계

규모 설계

두 자료를 있는 그대로 곱하면 어떻게 될까요. 원인 3,749건 × 후보 6,176건 = 약 2,315만 행. 열어볼 수도, 다룰 수도 없는 크기입니다. 그래서 목적에 따라 집계 단위를 세 층으로 나누는 설계를 했습니다.

해보기각 층을 눌러 용도를 확인하세요
위 막대를 선택하면 해당 계층의 용도가 표시됩니다.
왜 세 층인가 — 용도가 다르기 때문입니다. 경영보고에는 위험사건 단위(156)면 충분하고, 실제 위험도 입력은 사고연쇄 단위(552)에서 하며, 원인 추적은 전 경로(8,632)가 필요합니다. 하나의 표로 모든 걸 하려 하면 어느 쪽에도 맞지 않는 표가 됩니다.
가장 큰 층(8,632행)은 운영 DB에 실제로 저장하지 않고 뷰(View)로 생성하도록 설계했습니다. 마스터가 바뀌면 자동으로 따라 바뀌므로, 갱신 누락으로 두 자료가 어긋나는 사고를 원천 차단합니다.
04

심각도를 자동으로 — 영향도 제안

개선 ①

종전에는 사고의 심각도(영향도 1~5)를 담당자가 매번 판단해 넣었습니다. 사람이 바뀌면 숫자가 바뀌고, 부서가 다르면 기준도 달라졌죠. 이를 사고 유형 29종의 기본등급 + 상황에 따른 ±1 보정으로 자동화했습니다.

해보기영향도 자동 제안 계산기
기본등급
상황 보정
제안 영향도 (1~5)

상·하한 클램프 적용 — 보정 후에도 1 미만·5 초과가 되지 않습니다.

규칙적용 조건보정
R1비영업 통제구역에서 발생 — 피해 대상이 적음− 1 등급
R2여객·일반인이 노출된 구역 — 인명 피해 확대+ 1 등급
R3그 외 일반 상황보정 없음
확정권은 기관에 있습니다. 위 등급은 국제 사례를 참고한 제안값이며, 화면과 표에서 주황색으로 구분 표기됩니다. 기관 위험도 기준표가 제정되면 확정값으로 교체하는 것을 전제로 설계했습니다.
무엇이 달라졌나 — 담당자의 일이 "판단해서 입력"에서 "제안값을 확인하고 확정"으로 바뀝니다. 552개 연쇄 전부에 제안값이 붙어 있으므로, 빈칸에서 시작하지 않습니다.
05

아차사고의 쓸모 — 전이확률의 분모

개선 ②

이 자료에서 가장 중요한 발상 전환입니다. 사고연쇄 552종은 실제 사고로 이어지는 375종과, 사고 없이 종결되는 미실현(HES) 177종으로 나뉩니다. 종전에는 후자를 "사고가 아니니까" 버렸지만, 확률을 계산하려면 분모가 반드시 필요합니다.

해보기전이확률 계산기
100
전체 발생건수
0.050
전이확률 P
5.0%
사고로 번질 비율

왜 결정적인가 — 아차사고 보고가 늘어날수록 분모가 커지고 예측이 정밀해집니다. 즉 안전보고 문화를 장려하는 것이 곧 데이터 품질 향상이 되는 구조입니다. 종전에는 아차사고를 많이 보고해도 평가에 아무 영향이 없었지만, 이제는 직접 반영됩니다.
지금은 전이확률을 전문가 판단으로 넣고, 태깅이 쌓이면 P = 실현 ÷ (실현 + 미실현) 로 실측 대체합니다. 데이터 구조가 이미 그 형태로 준비되어 있어, 별도 개발 없이 전환됩니다.
06

근거의 등급 — 승격 거버넌스

개선 ③

모든 사고연쇄가 같은 무게를 갖지는 않습니다. 국제 사고조사 사례로 확립된 것도 있고, 국내 상황을 추정해 확장한 것도 있습니다. 이를 증거등급 A~S로 구분해 두었습니다.

현황후보 6,176건의 증거등급 구성
  • A + B = 5.6% — 국제적으로 확립된 근거에 기반한 연쇄는 아직 소수입니다.
  • D등급(국내 확장 추정)이 1,592건으로 가장 두터운 층을 이룹니다.
  • D등급 연쇄에서 실제 태깅 실적이 관측되면 그 자체가 승격 심사의 증거가 되도록 설계했습니다.
설계의 묘 — 위험도 평가를 하면 할수록 근거 데이터가 쌓이고, 그 데이터가 곧 등급 승격 심사자료가 됩니다. 심사를 위한 별도 조사가 필요 없는 양방향 구조입니다. 평가 업무와 거버넌스 업무가 하나의 흐름이 됩니다.
07

도구를 하나로 — 통합 시뮬레이터

2026.07.21 · 데이터 통합 이후의 과제

데이터는 합쳐졌지만 도구는 여전히 둘이었습니다. FTA 시뮬레이터에서 계산한 발생빈도를 담당자가 눈으로 읽어 보타이 탐색기에 다시 입력해야 했죠. 옮겨 적기 오류가 날 수밖에 없는 구조였습니다.

구분종전 (도구 2개)통합 후
발생빈도 전달화면에서 읽어 다른 파일에 재입력 원인측 입력이 즉시 결과측 계산에 반영
화면파일 2개를 번갈아 열기 한 화면에서 좌·우 동시 확인
자료 수정개발자가 도구 내부 데이터를 재생성 기관이 파일 업로드 → 전 구간 자동 재구축

화면 구조 Top Event 중앙 정렬

◀ 원인측 — FTA 트리 ■ 위험사건 (최상위) ① 기술·설비 설비 → 기본사건 [ 건수 ] ⑥ 원인 미상 TOP EVENT 위험사건 Λ 자동 산출 ▶ 결과측 — 사고연쇄 열차 탈선 · 영향도 4 · P전이 [ 0.05 ] 열차 간 충돌 · 영향도 4 · P전이 [ 0.02 ] 미실현 종결 — 입력칸 없음 (분모)
재현성 검증 — 갱신 기능으로 현행 자료를 그대로 다시 올려 재구축한 결과가 기존 산출물과 전 항목 일치(위험사건 156종 · 기본사건 3,749건 · 연쇄 552종, 불일치 0건)했습니다. 도구가 임의로 결과를 바꾸지 않는다는 뜻이며, 감사·심사 대응 시 재현성 근거가 됩니다.
왜 이걸 먼저 했나 — 원래 계획에는 없던 작업입니다. 다만 자료를 아무리 잘 만들어도 담당자가 매번 숫자를 옮겨 적고 수정할 때마다 개발 의뢰를 해야 한다면 실무에서 쓰이지 않습니다. 쓰이지 않는 체계는 없는 것과 같다고 판단해 우선 처리했습니다.
08

단위 읽는 법 — 왜 '건/백만시간'인가

자주 나오는 질문

시뮬레이터가 내놓는 발생빈도 Λ의 단위는 건/백만시간입니다. 낯선 단위라 오해가 잦아 정리합니다.

① 백만은 물리적 필연이 아니라 읽기 편하게 만든 배율입니다

신뢰성공학의 기본 단위는 시간당 고장률(/h)입니다. 그런데 실제 설비 고장률은 0.0000012 같은 숫자라 그대로 쓰기 어렵습니다. 여기에 100만을 곱해 1.2로 읽는 것이 전부입니다.

해보기단위 스케일 — 슬라이더를 움직여 보세요
2.5
건 / 백만시간
0.017
건 / 년 (영업 6,900h)
46
평균 간격 (년)

파란 마커 Λ는 위험사건의 빈도, 주황 마커 Λ×P는 사고로 전이되는 빈도입니다. 아래 SIL 대역(허용 위험률 THR)과 비교해야 하는 것은 주황 마커입니다 — 이유는 아래 ③에서 설명합니다.

② 진짜 쟁점은 "왜 100만"이 아니라 "분모가 시간이어야 하는가"입니다

대상 시설군적합한 노출량이유
신호 · 통신 · 전차선 · 전력운영시간 (h)상시 통전 — 시간에 비례
차량 (주행 관련)열차-km마모·피로는 거리에 비례
궤도 · 토목통과톤수 (MGT)축중 누적이 열화 동인
승강장안전문 · 승강기 · 분기기동작 횟수사이클 수가 동인 — 시간 무관
인적 오류취급 건수요구당 실패 개념
궤도 결함과 승강장안전문 끼임을 같은 '운영시간'으로 나누면 두 값은 서로 비교할 수 없는 숫자가 됩니다. 시설군별 분모 정의를 기관 기준으로 확정하고, 산출값마다 어떤 분모를 썼는지 함께 기록해야 합니다.

③ Λ는 '고장률'이지 '사고 발생률'이 아닙니다

SIL4의 허용 위험률(THR)은 0.001~0.01 건/백만시간입니다. 시뮬레이터의 발생가능성 등급 경계(최고 100)와 비교하면 네 자릿수 이상 차이가 나는데, 이는 오류가 아닙니다. Λ는 위험사건(아직 사고 아님)의 빈도이고, THR은 사고로 이어지는 빈도의 허용 한계이기 때문입니다.

이 간극을 메우는 것이 전이확률입니다. Λ × P전이는 "위험사건이 실제 사고로 전이되는 빈도"로, 차원상 THR과 정확히 같은 양입니다. 전이확률이 실측되는 시점에 위험도 등급표를 국제기준(EN 50129) 기반으로 재정의하는 경로가 이미 열려 있습니다.

09

위험도 계산 실습

종합

지금까지의 요소를 모두 합치면 위험도가 나옵니다. 시뮬레이터가 하는 계산을 축소해 옮겼습니다. 값을 바꿔 가며 등급이 어떻게 움직이는지 확인해 보세요.

해보기Λ × P전이 × 영향도 → 위험도 등급
0.125
위험빈도 = Λ × P전이
3
빈도등급 (1~5)
12 High
위험도 = 빈도등급 × 영향도
단계규칙 (예시 기준 · 기관 확정 전제)
빈도등급 변환≥10 → 5 · ≥1 → 4 · ≥0.1 → 3 · ≥0.01 → 2 · 그 외 → 1
위험도 판정≥20 Critical · ≥10 High · ≥5 Medium · 그 외 Low
해석의 요령 — 전이확률이 실측되기 전이므로, 산출된 등급은 절대값보다 사건 사이의 상대 비교 목적으로 읽어야 합니다. 또 Λ가 등급 경계(0.1 · 1 · 10) 부근인 사건은 몇 건의 태깅만으로 등급이 뒤집히므로 재검토 대상입니다.
10

남은 과제 — 지금 어디에 있는가

2026.07.23 기준

도구와 데이터 구조는 준비되었습니다. 남은 다섯 가지는 모두 기관의 의사결정이 필요한 사항이며, 결정만 되면 즉시 반영되도록 만들어져 있습니다.

산출물 현재

통합 위험도 시뮬레이터 (.html)좌 FTA · 중앙 위험사건 · 우 보타이 통합 화면, 자료 갱신·검증 기능 포함
보타이 통합테이블 (.xlsx)정의 · 156행 · 552행 · 8,632행 · 영향도 제안기준 — 5개 시트
개발 결과보고서 (.docx)기술 상세 · 활용 안내 · 단위 해설 (12쪽)
경영진 활용계획 (.docx)도입 로드맵 · 부서별 활용 · 협조 요청 (5쪽)
본 교육자료 (.html)구축 과정 단계별 해설 — 신규 담당자 인수인계용
기록 문서 갱신 필요 — 최초 기록(보타이_통합_구축과정_및_결과.md)은 7월 20일에 멈춰 있어 다음 세 가지가 빠져 있습니다. ① 경로 기여율에 원인미상 경로 포함으로 기준 변경 ② Λ × P전이 = THR 동일 차원 명시 ③ 시설군별 노출량 정의 과제 신설. 다음 세션에서 기록이 유실되어도 복원되도록 반영해 두어야 합니다.
이해도 확인

다섯 문제로 점검하기

답을 고르면 바로 해설이 나옵니다. 틀려도 다시 고를 수 있습니다.

푼 문제 0 / 5 · 정답 0