기술

전년비 총계가 본사 엑셀과 달랐다 — 범인은 계산식이 아니라 모집단이었다

2026.07.225분 읽기

본사 엑셀과 우리 시스템의 전년비 총계가 달랐습니다. 같은 기간, 같은 매출 데이터인데 두 숫자가 다르면 의사결정은 그 자리에서 멈춥니다. 어느 쪽을 믿고 다음 계획을 세울 것인가. 프랜차이즈 ERP의 전년비 리포트를 운영하다가 이 질문을 정면으로 받았습니다.

처음엔 매출 계산식을 의심했습니다. 총계가 다르면 누구나 로직부터 헤집게 됩니다. 집계 쿼리를 다시 읽고, 반올림 지점을 찾고, 세금 처리를 되짚는 길입니다. 그런데 그 길은 며칠짜리 수렁이 될 수 있어서, 들어가기 전에 한 가지를 먼저 확인했습니다.


원 단위 대사가 로직과 모집단을 갈랐습니다

지역별로 우리 집계와 본사 엑셀을 화폐 최소 단위, 그러니까 원 단위까지 맞춰봤습니다. 결과는 의외였습니다. 여러 지역이 원 단위까지 완전히 일치했습니다.

개별 항목이 원 단위로 맞는다는 건 매출 계산 로직이 엑셀과 동일하다는 뜻입니다. 로직이 다르면 어딘가에서 1원이라도 어긋나기 마련입니다. 그렇다면 총계 차이는 100% '어떤 매장을 포함했나', 즉 모집단의 문제로 좁혀집니다. 계산식을 헤집는 대신 포함 기준만 보면 되는 상황으로, 문제의 위치가 반나절 만에 정해졌습니다.

1.png


매장 17곳의 행방을 원인별로 분해했습니다

존속점 코호트가 우리 시스템은 158곳, 본사 엑셀은 175곳이었습니다. 17곳 차이를 뭉뚱그리지 않고 매장 단위로 하나씩 갈랐습니다.

개설일 NULL 매장 8곳 — '개설일 < 기준일' 조건에서 통째로 탈락. 데이터 정비 대상으로 분리했습니다.

개설일 리셋 의심 — 리뉴얼 재오픈으로 개설일이 최근 날짜로 찍혀, 오래된 존속점이 신규점처럼 보였습니다.

지역 분류 기준 차이 — 우리는 주소 기준, 엑셀은 담당 기준. 지역별 숫자는 갈리지만 총량엔 영향이 없었습니다.

같은 '17곳 차이'라도 성격이 전부 다릅니다. 첫 번째는 데이터 결측, 두 번째는 이력 관리, 세 번째는 분류 합의의 문제입니다. 원인을 갈라놓지 않으면 '숫자가 안 맞는다'는 한 문장으로 뭉개지고, 각각 다른 처방이 필요하다는 사실도 묻힙니다.


존속점은 '지금'이 아니라 '그때'로 판정합니다

분해 과정에서 우리 쪽 정의의 결함도 드러났습니다. 기존점(like-for-like)을 '현재 폐점 상태가 아닌 매장'으로 판정하고 있었습니다. 한 시점(as-of)의 상태로 기간 전체의 소속을 결정한 셈입니다.

이 정의는 비교 기간 내내 영업하다가 최근에 폐점한 매장을 부당하게 뺍니다. 작년에도 올해도 비교 기간에 매출을 냈는데, 지난주에 문을 닫았다는 이유로 전년비에서 사라지는 것입니다. 정의를 '폐점 아님, 또는 폐점일이 비교 종료일 이후'로 바꿨고, 코호트가 178곳에서 179곳으로 바뀌었습니다.

한 곳 차이가 작아 보일 수 있지만 방향이 중요합니다. 폐점 직전 매장은 대개 매출이 꺾여 있어서, 이런 매장을 빼면 전년비가 실제보다 좋아 보입니다. 정의 하나가 지표를 낙관 쪽으로 밀고 있었던 셈입니다.

2.png


NULL은 에러 없이 매장을 지웁니다

가장 조용한 범인은 NULL이었습니다. '개설일 < 기준일' 같은 조건에서 개설일이 NULL인 행은 참도 거짓도 아니라서 결과에서 그냥 빠집니다. 에러도 없고 경고도 없습니다.

그렇게 8곳이 통째로 모집단에서 사라져 있었습니다. 매출 데이터는 멀쩡히 쌓이는데 비교 대상에서만 빠지니, 리포트 화면만 봐서는 알아챌 방법이 없습니다. 비교의 구멍은 계산이 아니라 결측에서 옵니다.

같은 매출 데이터에서 결측과 부재는 다른 방식으로도 함정을 만듭니다. 이번엔 NULL이 매장을 비교에서 조용히 지웠지만, 반대로 '들어와야 할 매출이 안 들어온 것' 자체가 운영 이상의 신호가 되기도 합니다.

3.png


숫자가 안 맞을 때 확인할 것들

총계가 어긋날 때 계산식보다 먼저, 원 단위 대사로 로직과 모집단을 분리 진단했는가

존속점(like-for-like) 정의가 as-of 한 시점이 아니라 비교 기간과의 겹침으로 되어 있는가

필터 조건에 걸리는 컬럼(개설일 등)의 NULL 현황을 파악하고 있는가

리뉴얼·재오픈 시 개설일이 리셋되는지, 원 개설일 이력이 복원 가능한지 확인했는가

지역·조직 분류 기준(주소 vs 담당)이 비교 상대와 합의되어 있는가

매출 로직은 결국 한 줄도 고치지 않았습니다. 고친 것은 존속점의 정의와 데이터 정비 목록이었습니다. 물론 원 단위 대사는 기준이 될 양쪽 원천이 있어야 가능하고, 존속점 정의도 분석 목적에 따라 달라질 수 있어 '정답'보다 '합의된 정의'가 필요합니다. 다만 순서는 분명합니다. 총계가 다르다고 계산식부터 헤집기 전에 개별 항목을 원 단위로 맞춰보면, 문제의 절반은 그 자리에서 위치가 정해집니다.

#전년비#like-for-like#존속점#모집단#원단위대사#NULL결측