새 분류 절차를 적용한 뒤 건당 처리시간이 19.5분에서 14.5분으로 줄었어요. 5분 감소했으니 절차의 효과가 5분이라고 보고해도 될까요? 같은 시기에 다른 팀도 빨라졌고, 도입 팀에는 사람이 추가됐다면 원인을 나눠 확인해야 해요. 이번에는 관측 변화, 다른 설명, 추가로 필요한 검증을 연결한 효과 검토 메모를 만들어요.
첨부 링크는 이 글의 예제 ZIP으로 연결돼요. 압축을 푼 뒤 링크에 표시된 파일을 열면 입력·코드·완성 자료를 함께 사용할 수 있어요.
가상의 업무 처리팀 A와 B를 네 주 동안 관측한 합성 자료를 사용해요. A는 W3부터 새 분류 절차를 도입하고, B는 도입하지 않았다고 가정해요. 모든 집단·주에서 완료 건수가 100건이고, 지표는 완료 건당 실제 작업시간이에요. 대기시간과 미완료 업무는 들어 있지 않아요. 실제 도구의 도입 성과나 저자의 경험을 보고하는 글이 아니에요.

먼저 관측된 변화만 정확하게 계산해요
주별 원자료 (ZIP: weekly.csv)의 총 처리시간을 건수로 나누면 다음 평균이 나와요. 이전은 W1~W2, 이후는 W3~W4예요.
| 주 | A팀 평균 | B팀 평균 | 새 절차 |
|---|---|---|---|
| W1 | 20분 | 18분 | 미도입 |
| W2 | 19분 | 17분 | 미도입 |
| W3 | 15분 | 15분 | A만 도입 |
| W4 | 14분 | 14분 | A만 도입 |
A의 이전 총시간은 3,900분, 완료 200건이므로 평균 19.5분이에요. 이후는 2,900분/200건=14.5분이에요. 변화는 −5분, 이전 대비 약 25.64% 감소예요. B는 3,500분/200건=17.5분에서 14.5분으로 −3분이에요.
이번에는 각 주의 건수가 같아 주 평균을 단순 평균해도 기간 평균과 같아요. 건수가 다르면 총시간을 합친 뒤 전체 건수로 나눠야 해요. 쉬운 주와 바쁜 주에 같은 가중치를 주면 ‘모든 완료 건의 평균’이 되지 않기 때문이에요.

같은 시기에 바뀐 것을 한 줄씩 붙여요
변경 기록 (ZIP: events.csv)을 함께 열면 W3에 새 절차 외의 변화가 있었어요.
| 변화 | A팀 | B팀 | 지금 해석에 미치는 영향 |
|---|---|---|---|
| 새 분류 절차 | 도입 | 미도입 | 확인하려는 변화 |
| 담당 인력 | 3명→4명 | 3명 유지 | A만의 다른 설명 |
| 공통 접수 양식 단순화 | 적용 | 적용 | 두 팀이 함께 빨라질 수 있는 설명 |
| 단순 업무 비중 | 40%→65% | 50%→60% | 난도 구성이 서로 다르게 변함 |
인력 증원이 실제 작업시간을 반드시 줄인다고 단정하는 것은 아니에요. 역할 분담이나 숙련도가 달라질 수 있다는 후보 설명이에요. 공통 양식의 효과도 측정하지 않았어요. 변경 기록은 원인을 확정하는 표가 아니라, 현재 비교에서 분리하지 못한 요인을 보여주는 표예요.
평균만 보지 않고 업무 유형과 비중을 보는 이유는 집단 구성비 비교에서 계산한 것과 같아요. 지금 자료에는 유형별 총시간이 없으므로, 단순 업무 비중만 가지고 난도 조정 평균을 계산할 수는 없어요. 없는 데이터를 채워 정교한 효과값을 만들지 않아요.
비교 팀을 빼도 곧바로 효과값이 되지는 않아요
A의 변화 −5분에서 B의 변화 −3분을 빼면 −2분이에요.
변화의 차이 = (14.5−19.5) − (14.5−17.5) = −2분
같은 결과를 두 팀의 격차로도 확인할 수 있어요. 이전 격차는 19.5−17.5=2분, 이후 격차는 14.5−14.5=0분이므로 격차 변화가 0−2=−2분이에요. 이 대조는 계산이 맞는지 확인해주지만 원인이 분리됐다는 증거는 아니에요.
차이의 차이를 인과 효과로 해석하려면, 도입이 없었을 때 두 집단이 비슷한 추세로 변했을 것이라는 가정 등이 필요해요. 세계은행 DIME의 연구 설계 안내는 이러한 평행 추세 가정을 설명해요. 이번 사례에서는 A만 인력이 늘고 업무 구성 변화도 달라서 B의 −3분이 A의 ‘도입이 없었을 변화’를 대신한다고 확신할 수 없어요.


도입 전 두 주 사이에 A와 B가 각각 1분 줄어 평행해 보이지만, 한 번의 변화만으로 이후에도 같은 흐름이 유지됐을 것이라고 확인할 수는 없어요. B가 A의 새 절차를 일부 따라 썼는지, 기록 방식이 W3에 달라졌는지, 어려운 업무가 미완료 상태로 남았는지도 확인해야 해요.
다음 검증을 자료 요청으로 바꿔요
‘더 조사하자’에서 멈추지 않도록 후보 설명별 필요한 자료와 확인 방법을 연결해요.
| 후보 설명 | 더 받을 자료 | 확인할 내용 |
|---|---|---|
| 공통 양식 영향 | 두 팀의 적용일·변경 범위 | 같은 시점에 같은 양식이 적용됐는지 |
| 인력 증원 영향 | 담당자·근무시간·배정 기록 | A의 업무 배분이 어떻게 달라졌는지 |
| 업무 난도 변화 | 건별 유형·처리시간·완료 여부 | 같은 유형 비교와 고정 구성비 비교 |
| 관측·기록 변화 | 시간 기록 정의·수정 이력 | 시작·종료 기준이 유지됐는지 |
| 원래 추세·계절 변화 | 더 긴 도입 전 기록·휴일 정보 | 도입 전 격차와 추세가 안정적이었는지 |
추가 자료를 얻어도 새 절차와 인력 증원이 항상 함께 움직였다면 두 효과를 분리하기 어려울 수 있어요. 그때는 ‘절차 단독 효과’를 약속하지 말고 두 변화가 함께 있는 운영 결과로 한정해야 해요. 앞으로 별도로 시험할 수 있다면 같은 조건의 대상에 도입 순서를 무작위로 배정하는 방안이나, 충분한 사전 기록을 갖춘 비교 집단 설계를 검토할 수 있어요. 업무가 팀 간에 섞이면 배정 단위도 팀 또는 업무 묶음으로 설계해야 해요. 실제 실행 권한과 측정 설계는 별도 결정 사항이에요.
현재 보고 가능한 메모는 다음과 같아요.
A의 완료 건당 처리시간은 도입 전 19.5분에서 이후 14.5분으로 5분 감소했어요. 같은 기간 B도 3분 감소해 변화의 차이는 −2분이에요. 다만 A의 인력 증가와 다른 업무 구성 변화가 겹쳐 새 분류 절차만의 효과는 식별하지 못했어요. 도입 전 기록, 건별 업무 유형과 배정 자료를 확보한 뒤 비교 범위를 다시 정해요.
검증 코드 (ZIP: verify.py)는 Python 3.12.3 표준 라이브러리에서 실행했어요. python3 assets/verify.py로 기간 집계 (ZIP: period-results.csv), 변화 비교 (ZIP: change-comparison.csv), 실행 기록 (ZIP: results.json)을 다시 만들 수 있어요. 이번 계산에는 표준오차나 유의성 검정이 없고, 완료 건수 800건을 독립된 실험 단위 800개로 간주하지도 않아요. 실제 연구에서는 처리가 배정된 단위와 반복 관측 구조에 맞는 추론이 필요해요.
자기 업무에 적용할 때는 ‘관측된 변화는 얼마인가’와 ‘그중 도입 때문인 부분을 구분할 설계가 있는가’를 나눠 적어보세요. 데이터 정의가 팀마다 다르다면 KPI 정의서부터 맞추는 것이 먼저예요. 합성 자료·계산·원고는 2026년 10월 13일 Codex가 작성했으며 실제 인과 효과를 검증한 사례로 사용하지 않아요.
예제 파일을 한 번에 받아 다시 확인해요
이 글의 입력·코드·완성 자료 ZIP을 새 폴더에 풀면 R23/README.txt, replay.py, assets 폴더가 함께 생겨요. 개별 코드 파일만 저장하면 보조 모듈이나 입력이 빠질 수 있으므로 처음에는 이 묶음을 사용하세요. R23 폴더에서 다음 명령을 실행하면 본문에 사용한 검사를 순서대로 수행해요.
python3 replay.py
확인할 결과는 A −5분·B −3분·변화 차이−2분, 인과효과 미확정예요. 명령이 성공해도 이 값과 본문의 적용 범위를 함께 대조하세요. 실행 안내 (ZIP: README.txt)에 필요한 파일과 개별 명령을 적었어요. 실행 코드는 verify.py (ZIP: verify.py)에서 직접 볼 수 있어요. Python3.12의 표준 라이브러리를 사용하며, 명령이 실패하면 ZIP의 폴더 구조와 오류에 나온 파일부터 확인해요. 실제 앱 실행에 필요한 프로그램은 원래 설명을 따르세요.
설명 삽화 2장은 GPT로 생성한 개념 설명이에요. 실제 예제의 작업 화면과 실행 결과는 기존 그림·첨부 자료에서 따로 확인할 수 있어요.