개발노트

추정분할점수 계산기: 추정분할점수를 자동으로 계산해주는 방법은 없을까?

내가 정답률만 생각해도 수학이 나머지를 채워줄 수 있다

홍창욱Apr 8, 2026
개발 의사결정UX 설계분할점수
개발노트

추정분할점수 계산기: 추정분할점수를 자동으로 계산해주는 방법은 없을까?

DoRm이 교육 현장 문제를 어떻게 기술과 실험으로 풀어가는지 기록합니다.

shinnanchanguk.github.io/neis-cutscore-releases

이 글의 문제의식

시험을 출제한 교사에게 남는 일은 추정분할점수 입력입니다. 즉, "이번 시험에서 A는 몇 점부터, B는 몇 점부터로 잡을 것인가"를 NEIS에 입력하는 일입니다. 문항별 예상 정답률을 입력하면 NEIS에 넣을 추정분할점수를 자동으로 계산해주는 도구, 추정 분할 점수 계산기가 해드립니다.

왜 추정분할점수인가

성취평가제는 학생이 무엇을 알고 할 수 있는지를 절대적 기준으로 평가하는 제도입니다. 기본적으로 A는 원점수 90점 이상, B는 80점 이상 — 이른바 고정분할점수(90/80/70/60)를 사용합니다. 단순하지만, 이 방식에는 치명적인 맹점이 있습니다. 시험 난이도를 전혀 반영하지 못합니다.

쉬운 시험을 출제하면 학생 대부분이 A에 쏠립니다. 어려운 시험을 내면 D와 E만 가득합니다. 어느 쪽이든 등급이 학생의 성취 수준을 제대로 구분하지 못하게 됩니다. 추정분할점수는 이 문제를 해결하기 위해 도입된 장치입니다 — 시험 난이도를 고려해서, 교사의 전문적 판단으로 등급 경계를 조정하는 것. 취지 자체는 합리적입니다.

문제는 그 취지를 NEIS에 실현하는 입력 방식이 교사에게 너무 막막하다는 것입니다.

NEIS가 요구하는 것

NEIS의 추정분할점수 입력 화면(예상정답률입력)을 열면, 교사 앞에 빈 칸 15개짜리 표가 나타납니다. 세로축은 문항 난이도 3단계(쉬움 · 보통 · 어려움), 가로축은 성취도 등급 5단계(A · B · C · D · E). 각 칸에 채워야 하는 값은, 해당 난이도의 문항을 해당 등급에 간신히 도달하는 학생이 맞힐 것으로 예상되는 정답률입니다. 5% 단위로 입력해야 합니다.

예를 들어 "보통 난이도 × B등급" 칸에 65를 적는다면, "보통 문항을 B등급에 턱걸이한 학생이 65% 정도 맞힐 것이다"라는 뜻입니다. 이런 판단을 난이도 3개 × 등급 5개, 총 15칸에 대해 동시에 내려야 합니다. 칸끼리 논리적 정합성도 맞아야 합니다 — 쉬운 문항 정답률이 어려운 문항보다 낮을 수 없고, A등급 정답률이 B등급보다 낮을 수도 없습니다.

이것이 Modified Angoff 방법을 변형한 NEIS의 입력 방식인데, 본질은 결국 시험 난이도를 고려하여 각 성취수준의 경계를 교사가 전문적으로 추정하라는 것입니다. 취지는 분명한데, 그 추정을 15칸짜리 매트릭스로 표현해야 한다는 점에서 교사의 부담이 발생합니다.

교사가 실제로 가진 감각

문항을 출제한 교사가 자연스럽게 가지고 있는 감각은 이런 것입니다:

  • "1번 문항은 거의 다 맞을 거고, 8번은 절반 정도 맞을 것 같다" — 문항별 예상 정답률
  • "평균은 한 68점쯤 나오지 않을까" — 과목 평균에 대한 감
  • "A는 15% 정도, B는 30% 정도 되겠지" — 성취도별 비율 감각

이 세 가지는 교사의 출제 경험에서 자연스럽게 나오는 판단입니다. 그러나 NEIS가 요구하는 "보통 난이도 문항에 대해 C등급 최소능력자의 정답률"은 교사의 직관에 존재하는 단위가 아닙니다. 그래서 대부분의 교사는 감으로 숫자를 채우거나, 동료가 쓴 값을 복사하거나, 결과를 보고 거꾸로 고치는 시행착오를 반복합니다. 이 마찰은 매 시험마다 되풀이됩니다.

접근 방식

추정 분할 점수 계산기는 이 간극을 한 번의 변환으로 메웁니다. 교사가 이미 가지고 있는 감각 — 문항별 예상 정답률과 원하는 성취도별 비율 — 만 입력하면, NEIS에 바로 붙여넣을 수 있는 15칸 표로 환산해드립니다.

여기서 "원하는 성취도별 비율"을 함께 입력한다는 점이 중요합니다. "이번 시험에서 A가 15%, B가 30% 정도 나왔으면 좋겠다"는 교사의 의도를 반영해서, 그 비율이 실현되려면 NEIS 표를 어떻게 채워야 하는지까지 계산해줍니다. 단순히 15칸을 채워주는 것을 넘어, 교사가 머릿속에 그린 성취도 분포와 실제 시험 난이도 사이의 정합성을 미리 확인할 수 있는 도구이기도 합니다.

변환의 원리는 이렇습니다. 교사가 "이 문항은 60%쯤 맞힐 것 같다"고 적으면, 그것은 평균적인 학생의 정답률입니다. 여기에 성취도별 비율(A 15%, B 30%…)을 결합하면, 각 등급 경계에 서 있는 학생의 능력 수준을 표준정규분포로 환산할 수 있습니다. 그 능력 수준의 학생이 각 문항을 맞힐 확률을 1PL Rasch 모형으로 구하고, 같은 난이도끼리 배점 가중 평균을 내면 — NEIS가 요구하는 바로 그 "난이도별 × 등급별 최소능력자 예상 정답률"이 나옵니다.

수학을 복잡하게 갈지 단순하게 갈지는 초기부터 고민이었습니다. 단순 가중 평균으로도 대충 답은 나옵니다. 하지만 테스트를 하면 할수록, 통계 모형을 제대로 쓴 쪽이 현장 감각에 맞는 답을 냈습니다. 대신 그 복잡함은 교사에게 드러내지 않는 것을 목표로 삼았습니다.

구현 내용

앱을 열면 왼쪽에 입력, 오른쪽에 결과가 나란히 놓입니다.

입력은 두 가지뿐입니다. 먼저 성취도별 목표 비율(A · B · C · D · E)을 설정합니다 — 일반고 기본값이 이미 채워져 있으므로, 학교 사정에 맞게 조정만 하면 됩니다. 다음으로 문항을 한 줄씩 추가하며 난이도(쉬움 · 보통 · 어려움)와 배점, 예상 정답률을 슬라이더로 잡습니다. "이 문항은 대략 몇 % 정도 맞힐 것 같다"만 생각하면 됩니다.

결과는 즉시 나옵니다. 오른쪽에 NEIS 입력용 3×5 표가 실시간으로 계산됩니다. "NEIS에 복사하기" 버튼을 누르면 표 전체가 클립보드에 올라가고, NEIS 입력란에 그대로 붙여넣을 수 있습니다. 아래에는 예상 분할점수(A/B, B/C, C/D, D/E 경계 점수)와 함께, 목표로 설정한 성취도 비율과 실제 예상 분포의 비교도 보여줍니다.

추정분할점수를 넘어, 시험 난이도에 대한 감까지 잡힙니다. 정답률을 넣어보고 성취도 분포를 확인했더니 A가 너무 많이 나온다면, 시험이 원하는 것보다 쉽다는 뜻입니다. 정답률을 조정해보면서 "이 난이도면 원하는 비율이 나오는지"를 시험 시행 전에 미리 시뮬레이션할 수 있습니다. 추정분할점수 입력이 목적이었는데, 그 과정에서 오히려 적절한 시험 난이도에 대한 피드백까지 얻게 되는 셈입니다.

블랙박스는 만들지 않았습니다. 결과 표의 각 셀을 클릭하면, 해당 등급 경계 학생이 각 문항을 맞힐 확률이 어떻게 계산됐는지 전부 펼쳐서 보여줍니다. 분할점수는 학생의 성적표에 직접 닿는 숫자이기 때문에, "왜 이 숫자인가"를 교사 스스로 확인할 수 있어야 한다고 생각했습니다.

입력 검증도 얇게 한 겹 덧댔습니다. 등급 비율의 합이 100이 아니면 에러로 막고, 전체 정답률이 극단적이면 경고를 띄우고, 행·열 단조성이 깨지면 자동 보정합니다. 과하게 막지는 않되, 교사가 눈으로 놓칠 만한 입력은 앞에서 거르는 정도의 선입니다.

간편 모드 — 분할점수부터 거꾸로

위에서 설명한 흐름, 즉 문항별 정답률을 하나씩 입력하면 NEIS 표가 계산되는 방식은 정밀하지만, 모든 교사에게 항상 맞는 흐름은 아닙니다.

현장에서 보면 두 가지 상황이 있습니다. 하나는 문항별 정답률을 꼼꼼히 넣을 여유가 없는 경우입니다. 시험 출제 직후, NEIS 마감이 코앞인데 문항 20개의 정답률을 하나씩 생각하고 있을 시간이 없습니다. 다른 하나는 이미 분할점수에 대한 감이 있는 경우입니다. 경험이 쌓인 교사라면 "이번 시험은 A컷 92, B컷 80 정도면 되겠다"는 판단이 먼저 서 있고, 그 판단을 NEIS 표로 옮기기만 하면 되는 상황이 있습니다.

간편 모드는 이 두 상황을 위해 만들었습니다. 방향이 반대입니다. 상세 모드가 "문항별 정답률 → NEIS 표"라면, 간편 모드는 "원하는 분할점수 → NEIS 표"입니다.

입력은 세 가지입니다. 난이도별 배점합(쉬움 · 보통 · 어려움 각각 몇 점인지), 희망 분할점수(A · B · C · D · E 각 등급의 최소 점수), 그리고 난이도 차이 슬라이더(쉬운 문항과 어려운 문항 사이의 정답률 차이를 얼마나 벌릴지)입니다. 이것만 넣으면 NEIS 15칸 표가 바로 나옵니다.

장단점은 분명합니다. 상세 모드는 문항 하나하나를 반영하기 때문에 결과의 근거가 탄탄하고, 시험 난이도에 대한 피드백까지 얻을 수 있습니다. 간편 모드는 그런 정밀함 대신 속도를 택합니다. 개별 문항 수준의 시뮬레이션이 없으니 결과의 정밀도는 낮고, 난이도 차이를 교사가 직접 감으로 설정해야 합니다. 그 대신 입력 30초면 NEIS 표가 나옵니다.

헤더에 있는 상세/간편 토글로 언제든 전환할 수 있습니다. 시간이 있으면 상세 모드로 꼼꼼히, 급하거나 이미 감이 잡혀 있으면 간편 모드로 빠르게. 같은 도구가 교사의 상황에 맞게 두 가지 길을 제공합니다.

배운 점

교사의 언어와 시스템의 언어 사이에 번역기를 놓는 것이 설계의 핵심이었습니다. 교사는 "문항별 정답률"과 "과목 평균"으로 생각하고, NEIS는 "난이도별 × 등급별 최소능력자 정답률" 15칸을 요구합니다. 같은 시험을 두고도 전혀 다른 차원의 질문입니다. Rasch 모형을 노출했다면 아무도 안 썼을 거고, 단순 가중 평균만 돌렸다면 현장 감각과 어긋나는 답이 나왔을 겁니다. 수학의 존재감을 지우되 정밀도는 유지하는 것이 가장 어려운 균형이었습니다.

시각적 투명성이 신뢰를 만듭니다. 셀 팝오버를 열면 내부에서 돌아가는 계산 과정이 고스란히 드러납니다. 수학을 숨긴 게 아니라 "궁금하면 언제든 꺼내볼 수 있게" 뒤쪽에 정리한 것입니다. 이 숫자를 학생들 성적표에 적으려면, 교사에게 "이게 어디서 나온 건지 내가 설명할 수 있다"는 감각이 필요하기 때문입니다.

간편 모드를 추가하면서 느낀 것은, 같은 도구라도 교사의 상황에 따라 필요한 진입 경로가 다르다는 점입니다. 문항별 정답률을 정밀하게 넣을 여유가 있는 교사와, 이미 분할점수에 대한 감을 가지고 있어서 빠르게 NEIS 표만 확인하고 싶은 교사는 다른 흐름을 원합니다. 하나의 모드를 복잡하게 만드는 것보다, 단순한 모드 두 개를 나누는 것이 나았습니다.

다음 단계

지금 할 일은 현장 교사의 책상 위에서 이 앱이 어떻게 쓰이는지를 지켜보는 것입니다. 입력의 표현, 결과 표의 가독성, 실제 NEIS 붙여넣기 과정에서의 마찰 같은 부분을 피드백 받아 다듬을 예정입니다.

추정분할점수 입력은 교사의 여러 반복 업무 중 하나일 뿐입니다. 하지만 "내가 정답률만 생각하면 NEIS 표가 알아서 채워진다"는 경험이 자리 잡는다면, 교육 현장의 다른 마찰에도 비슷한 접근을 시도해볼 수 있을 겁니다. 교사의 감각은 감각의 자리에, 수학은 수학의 자리에 두고, 그 사이의 번역만 도구가 맡는 방식으로.

Knowledge Base

추정분할점수 계산기 지식 보기

추정분할점수 계산기 프로젝트에 대해 팀과 소통하기