검증
다른 계산기와 값이 다를 때 누가 틀렸는지 가리는 법
연봉 8,000만원부터 국민연금이 갈렸다. 상대는 637만원, 우리는 659만원. 어느 쪽이 맞는지 따지는 과정.
값이 다르면 일단 내가 틀렸다고 본다
연봉 실수령액 계산기를 만들고 나서 다른 계산기들과 값을 맞춰 봤습니다. 이미 많은 사이트가 같은 계산을 제공하고 있으니, 크게 다르면 우리가 틀렸을 가능성이 큽니다.
결과는 갈렸습니다. 어떤 부분은 원 단위까지 같았고, 어떤 부분은 벌어졌습니다. 갈린 곳마다 왜 갈렸는지를 따져야 했습니다.
완전히 일치한 부분이 말해 주는 것
건강보험, 장기요양, 고용보험 세 항목은 9개 연봉 구간에서 한 원도 틀리지 않았습니다.
이게 중요한 이유가 있습니다. 이 계산에는 요율뿐 아니라단수 처리 방식이라는 가정이 들어갑니다. 10원 미만을 버리는지, 반올림하는지, 1원 단위까지 살리는지. 공식 규정 원문을 확보하지 못해 관행대로 10원 절사로 잡아 둔 상태였습니다.
세 항목이 원 단위까지 같다는 건 요율과 절사 방식이 둘 다 같다는 뜻입니다. 절사 방식이 달랐다면 세 항목 모두에서 10원 단위 차이가 났을 겁니다. 가정 하나가 이렇게 확인됐습니다.
637만원과 659만원
국민연금은 연봉 8,000만원부터 갈렸습니다.
| 기준소득월액 상한 | 연봉 1억 국민연금 | |
|---|---|---|
| 비교 대상 | 637만원 | 302,570원 |
| 우리 | 659만원 | 313,020원 |
국민연금은 소득 전액이 아니라 상·하한으로 자른 기준소득월액에 요율을 곱합니다. 그 상한값이 달랐던 겁니다.
여기서 결정적인 사실이 있습니다. 이 상·하한은 매년 7월 1일에 조정됩니다.637만원은 그해 상반기 값이고, 하반기부터는 659만원입니다. 공단 공고로 확인했고, 대조 시점은 하반기였습니다.
즉 비교 대상이 7월 갱신을 반영하지 않은 상태였습니다.다수가 쓰는 값이라고 해서 맞는 값은 아닙니다.
세 번째 사이트가 판정을 도왔다
두 사이트만 비교하면 누가 맞는지 가릴 수 없습니다. 세 번째를 봤습니다. 우리와 같은 요율을 쓴다고 명시한 곳이었는데, 결과가 19~61원 차이였습니다. 연봉을 12로 나눌 때 버리느냐 반올림하느냐 수준입니다.
흥미로운 건 그 사이트의 안내 문구에는 상한이 637만원으로 적혀 있었다는 점입니다. 그런데 실제 계산 결과는 우리와 맞았습니다. 문구만 갱신이 안 된 것이었습니다. 설명과 구현이 어긋나는 건 우리만의 문제가 아니었습니다.
비교 대상이 없을 때
월급여 1,000만원을 넘는 고소득 구간은 표가 아니라 공식으로 계산합니다. 이 구간은 마땅한 비교 대상을 찾기 어려웠습니다.
대신 내부 정합성을 검산했습니다. 공식은 여러 구간으로 나뉘어 있고, 각 구간에는 상수가 하나씩 붙어 있습니다. 그 상수는 앞 구간 공식을 경계까지 적용한 값과 같아야 합니다.
14,000천원 경계: 25,000 + 4,000,000×0.98×0.35 = 1,397,000 → 적힌 값 1,397,000
28,000천원 경계: 1,397,000 + 14,000,000×0.98×0.38 = 6,610,600 → 적힌 값 6,610,600다섯 경계가 전부 맞았습니다. 상수 하나라도 잘못 옮겼다면 여기서 어긋납니다. 외부 대조가 불가능한 구간을 데이터 자체의 구조로 검증한 셈입니다. 이 검산은 테스트로 고정해 두었습니다.
정리
값이 다를 때 확인할 순서는 대체로 이렇습니다.
- 완전히 일치하는 항목이 있는지 본다 — 일치하면 그 계산의 가정이 확인된 것이다
- 갈린 항목의 입력값을 의심한다. 계산식이 아니라 상수나 기준일인 경우가 많다
- 세 번째 출처를 찾는다. 둘만 비교하면 다수결도 안 된다
- 비교할 게 없으면 데이터 내부의 정합성을 검산한다