한국 선거 관리 위원회(선관위)가 법에 따라 공개하는 개표 결과, 여론조사, 투표율 등 주요 선거 데이터는 그동안 접근성이 낮아 활용에 어려움이 많았습니다. 선거통계시스템(info.nec.go.kr)은 자동 접근을 차단하고, 데이터 형식도 제각각이며, 여론조사는 PDF 형태로만 제공되는 등 개발자나 데이터 분석가가 데이터를 체계적으로 수집하고 분석하기에는 많은 수작업이 필요했습니다. 이러한 문제를 해결하기 위해 개발된 'k-vote-cli'는 API 키나 복잡한 절차 없이도 한 번의 명령으로 한국 선거 데이터를 쉽게 받을 수 있는 명령줄 인터페이스(CLI) 도구입니다.
k-vote-cli의 주요 기능으로는 'kvote nec corpus --normalize' 명령을 통해 역대 주요 개표 결과(대선, 총선, 지방선거)를 투표구 단위의 JSONL 형식으로 정규화하여 다운로드할 수 있습니다. 이 과정에서 EUC-KR 인코딩 문제, 동명 투표구 중복, 본투표/사전투표 분리 등의 복잡한 처리도 자동으로 이루어집니다. 또한, 'kvote nesdc sync' 명령으로 여론조사 데이터를 전수 수집하여 정당 지지율 시계열 데이터와 표본 구성 교차표를 얻을 수 있으며, 'kvote nec turnout-analysis'로는 성별·연령대별 투표율을 정규화하여 인구통계학적 분석을 가능하게 합니다. 수집된 데이터는 로컬 SQLite에 적재하여 SQL 질의로 탐색할 수 있으며, 클로드 코드(Claude Code)와 같은 AI 에이전트가 직접 데이터를 탐색하고 수집, SQL 질의까지 수행하도록 돕는 MCP 서버 내장 기능도 제공합니다.
이 도구는 원자료를 그대로 보존하고, 투표율, 득표율, 유효표와 같은 표준 계산값만 추가하는 명확한 설계 원칙을 따릅니다. 이는 어떤 해석이나 판단도 개입하지 않고, 같은 명령을 실행하면 누구에게나 동일한 데이터를 제공하여 데이터의 신뢰성과 재현성을 높이는 데 기여합니다. k-vote-cli는 macOS, Linux, Windows를 지원하며, Homebrew나 go install을 통해 쉽게 설치할 수 있어 한국 선거 데이터에 대한 접근성을 획기적으로 개선하고, 정치학 연구, 언론 보도, 데이터 저널리즘 등 다양한 분야에서 심층적인 분석과 활용을 촉진할 것으로 기대됩니다.