온라인쇼핑 전망은 올랐는데 왜 아직 비관적일까? 지수 82를 읽는 7단계
이 글과 연결된 글 보기
드래그로 이동 · 휠/두 손가락으로 확대 · 방향키로 글 선택 · 0으로 맞춤. 실선: 본문 링크, 점선: 시리즈·주제의 대표 연결.표시된 글 23편 목록
온라인쇼핑 전망은 좋아졌지만, 나빠질 것이라고 보는 기업이 여전히 더 많았습니다. 2026년 4분기 온라인쇼핑 경기전망지수는 74에서 82로 8포인트 올랐습니다. 그래도 기준선 100에는 못 미칩니다. 반대로 백화점은 139에서 130으로 떨어졌지만 기준선 위입니다. 같은 기사에서 “상승”과 “비관”, “하락”과 “낙관”이 함께 등장해도 모순은 아닙니다.

- 방향: 온라인쇼핑은 5개 업태 중 유일하게 전망지수가 올랐습니다. 74 → 82, +8포인트입니다.
- 위치: 82는 기준선 100 아래입니다. 다음 분기 경기가 악화할 것으로 보는 응답이 호전 응답보다 우세합니다.
- 반대 사례: 백화점은 −9포인트 하락한 130입니다. 지수는 낮아졌어도 호전 응답이 더 많습니다.
- 주의: 이 숫자는 기업의 경기 전망입니다. 매출 증감률이나 소비자 만족도가 아닙니다.
이 글은 이런 분께 필요합니다
“전망이 올랐다”는 기사만 보고 소비가 회복됐다고 이해한 적이 있다면, 숫자의 방향과 기준선을 따로 읽어볼 필요가 있습니다. 유통업 마케터와 자영업자는 자신이 속한 업태의 위치를, 데이터 분석 입문자는 공식 집계표를 검증하는 과정을 따라갈 수 있습니다.
아래 Colab에서 런타임 → 모두 실행을 선택하면 이 글의 차트 4개가 다시 만들어집니다. API 키 없이 공개 CSV를 읽습니다. 응답자별 원시자료를 공개하는 것이 아니라, 공식 PDF의 표와 그림에 있는 숫자를 전사한 데이터입니다.
Step 1. 기사 날짜와 조사 날짜부터 구분합니다
이번 주제는 10월 21일 아주경제와 이투데이가 보도한 소매유통업 경기전망입니다. 원문은 대한상공회의소 공식 보도자료입니다.
공식 페이지에는 10월 22일 자료로 올라와 있지만, PDF에는 인터넷 보도는 10월 21일 12시부터라고 적혀 있습니다. 발표일이 서로 다른 자료를 섞은 것이 아닙니다.
더 중요한 날짜는 조사기간입니다. 실제 조사는 8월 31일부터 9월 18일까지 진행됐습니다. 10월 22일의 실시간 반응으로 읽어서는 안 됩니다.
| 확인 항목 | 공식 원문에서 확인한 내용 |
|---|---|
| 조사대상 | 서울 및 6대 광역시 소재 소매유통업체 500곳 |
| 업태 | 백화점, 대형마트, 편의점, 슈퍼마켓, 온라인쇼핑 |
| 조사방법 | 유통업체 패널 대상 유선전화 및 온라인·모바일 조사 |
| 질문 | 2026년 3분기 대비 4분기 경기 전망 |
| 실제 응답 총수·업태별 응답 수 | 공개된 보도자료에 명시되지 않음 |
| 계절조정 | 하지 않은 원계열 |
500곳은 조사대상 수입니다. 이것을 확인 없이 “500곳 모두 응답했다”로 바꾸지 않습니다. 또 조사 지역에 제한이 있으므로 전국 모든 점포의 상태라고 일반화하지 않습니다.
Step 2. 지수 100의 뜻을 먼저 읽습니다
소매유통업 경기전망지수, RBSI는 다음 분기 경기를 어떻게 예상하는지 수치로 나타낸 것입니다. 공식 산출식은 다음과 같습니다.
RBSI = (호전예상 기업수 − 악화예상 기업수) / 응답기업수 × 100 + 100
- 100 초과: 호전을 예상한 기업이 악화를 예상한 기업보다 많습니다.
- 100 미만: 악화 예상이 더 많습니다.
- 100: 두 응답의 수가 같습니다. 모든 기업이 “변화 없다”고 답했다는 뜻은 아닙니다.
온라인쇼핑 지수 82를 “온라인 매출이 18% 감소한다”로 읽으면 안 됩니다. 이 지수는 응답의 균형을 나타내지, 매출 변동폭을 측정하지 않습니다. 같은 이유로 전망지수 130도 “매출 30% 증가”가 아닙니다.
Step 3. 원본 숫자를 작은 CSV로 옮기고 검증합니다
노트북은 rbsi_quarterly.csv에서 전체 지수 10개 분기, rbsi_sectors.csv에서 전체와 5개 업태의 두 분기 수치를 읽습니다. 원문 그림 1·2와 본문을 대조했고, CSV에는 쉼표나 단위 문자를 넣지 않았습니다.
| 구분 | 2026년 3분기 전망 | 2026년 4분기 전망 | 변화, 포인트 |
|---|---|---|---|
| 전체 | 92 | 88 | −4 |
| 백화점 | 139 | 130 | −9 |
| 대형마트 | 112 | 111 | −1 |
| 온라인쇼핑 | 74 | 82 | +8 |
| 편의점 | 127 | 79 | −48 |
| 슈퍼마켓 | 85 | 73 | −12 |
노트북의 analyze 함수는 열 이름, 행수, 중복, 결측, 0부터 200 사이의 값 범위를 확인합니다. 마지막 분기의 전체 지수가 업태별 표의 “전체” 값과 같은지도 검사합니다. 여기서 통과해야 차트를 그립니다.

차트 1은 원문에 있는 2024년 3분기부터 2026년 4분기까지 10개 관측치만 사용합니다. 이번 분기 88은 직전 전망 92보다 4포인트 낮고 기준선 아래입니다. 이것을 “실제 소비가 4% 감소했다”고 바꾸지는 않습니다. 각 분기의 숫자는 그때의 다음 분기 전망이므로, 같은 대상에 대한 실적 변화와도 다릅니다.
Step 4. 수준과 변화를 서로 다른 열로 계산합니다
노트북에서는 다음 두 열을 만듭니다.
sectors['change_points'] = sectors['q4_2026'] - sectors['q3_2026']
sectors['distance_from_100'] = sectors['q4_2026'] - 100
첫 번째는 이전 전망보다 좋아졌는가, 두 번째는 현재 전망에서 호전 응답이 우세한가를 묻습니다. 둘 다 숫자의 차이지만 질문이 다릅니다.

차트 2에서 백화점과 대형마트는 기준선 위이고, 온라인쇼핑·편의점·슈퍼마켓은 아래입니다. “온라인이 올랐다”는 정보만으로는 이 위치를 알 수 없습니다.

차트 3은 방향만 보여줍니다. 5개 업태 가운데 증가한 곳은 온라인쇼핑뿐입니다. 편의점의 하락폭이 가장 크지만, −48은 포인트 차이이지 매출 −48%가 아닙니다.
Step 5. 두 축을 한 그림에 놓습니다
차트 4의 가로축은 4분기 지수, 세로축은 직전 분기 전망 대비 변화입니다. 가로 기준선은 변화 0, 세로 기준선은 지수 100입니다.

- 온라인쇼핑: 왼쪽 위입니다. 이전보다 나아졌지만 악화 응답이 여전히 우세합니다.
- 백화점·대형마트: 오른쪽 아래입니다. 이전보다 낮아졌지만 호전 응답이 우세합니다.
- 편의점·슈퍼마켓: 왼쪽 아래입니다. 이전보다 낮아졌고 악화 응답도 우세합니다.
이 그림이 처음 가설의 답입니다. 개선 여부와 낙관 여부는 다르다는 것을 온라인쇼핑 사례에서 확인할 수 있습니다. 다만 온라인쇼핑 매출이 실제로 늘어날지, 백화점이 더 수익성이 좋을지는 이 자료로 답할 수 없습니다.
Step 6. 평균과 계절 효과를 의심합니다
5개 업태의 4분기 지수를 단순평균하면 95입니다. 그런데 공식 전체 지수는 88입니다. 3분기 단순평균도 107.4로 공식 전체 92와 다릅니다.
detail = sectors[sectors['sector'] != '전체']
print(detail['q3_2026'].mean(), detail['q4_2026'].mean())
# 107.4 95.0
따라서 전체 지수를 업태 5개의 산술평균으로 다시 만들면 안 됩니다. 업태별 응답 수와 세부 집계 정보를 모르는 상태에서 왜 차이가 나는지 정확하게 분해할 수도 없습니다. 우리는 공식 전체 값을 유지하고, 임의 가중치를 만들지 않았습니다.
또 이번 자료는 계절조정 전 원계열입니다. 편의점의 큰 변화에 대해 대한상의는 여름 특수와 동절기 비수기 등을 해석 요인으로 제시합니다. 하지만 이번의 작은 집계표만으로 날씨가 지수를 얼마나 움직였는지 추정할 수는 없습니다. 계절성과 구조적 변화를 분리하는 장기 분석도 하지 않았습니다.
| 함정 | 판정 | 이번 분석의 조치 |
|---|---|---|
| 기준 기간 | 걸림 | 조사일·발표일을 분리하고 서로 다른 분기 전망 비교임을 표시 |
| 절대값과 변화율 | 확인함 | 지수 수준, 포인트 변화, 매출 증감률을 구분 |
| 표본 크기 | 걸림 | 500곳은 조사대상으로 표기, 응답 수·오차범위 추정 금지 |
| 평균의 함정 | 걸림 | 업태 단순평균 95를 전체 88 대신 사용하지 않음 |
| 상관과 인과 | 걸림 | 날씨·소비심리를 독립적인 원인으로 입증하지 않음 |
| 단위 정의 | 확인함 | 단위는 업체의 경기 전망 지수, 소비자나 매출이 아님 |
| 지표 대리 오류 | 걸림 | 전망 개선을 실제 소비·매출 회복으로 바꾸지 않음 |
| 소스 편향 | 걸림 | 서울·6대 광역시 패널 범위를 명시 |
| 범위·상한 | 확인함 | 전체 10개 분기, 업태 5개·비교 2개 분기로 제한 |
| 구조 보정 | 걸림 | 계절조정 전임을 명시하고 미공개 가중치 추정 안 함 |
| 동음이의어·언급량 | 해당없음 | 검색어 분석이 아니라 공식 지수의 직접 비교 |
| 저빈도 노이즈 | 확인함 | 수요 점검의 작은 검색량을 화제성 급등의 증거로 쓰지 않음 |
| 상시와 신규 | 걸림 | 계절 요인을 영구적인 업태 변화로 단정하지 않음 |
| 매체 편향 | 확인함 | 언론은 시의성 근거, 계산값은 공식 원문 사용 |
| 팬데믹 기준연도 | 해당없음 | 2024년 3분기 이후 공개된 10개 관측치만 사용 |
Step 7. 같은 질문을 다른 지수에도 적용합니다
경제기사에서 숫자가 올랐다고 하면 세 가지를 먼저 확인해 보세요.
- 무엇을 잰 값인가? 실적, 전망, 검색 관심 중 무엇인지 확인합니다.
- 무엇과 비교했나? 직전 시점과 비교한 변화인지, 기준선과 비교한 수준인지 나눕니다.
- 분모와 조정은 무엇인가? 어떤 집단의 응답이고 계절을 보정했는지 확인합니다.
이번 분석에서 남길 문장은 “온라인쇼핑이 살아났다”가 아닙니다. **“전망지수는 개선됐지만, 악화 예상이 여전히 더 많다”**입니다. 숫자 하나를 더 계산하는 것보다, 서로 다른 질문을 섞지 않는 것이 더 중요했습니다.
자주 막히는 곳
| 증상 | 해결 |
|---|---|
| Colab에서 한글이 네모로 나옴 | Step 1의 나눔고딕 설치 셀부터 다시 실행합니다 |
| 로컬에서 데이터 경로를 못 찾음 | DATA_DIR을 패키지의 data 폴더 절대경로로 지정합니다 |
| 차트가 4개보다 적음 | Step 4 셀까지 실행합니다. 마지막 완료: 차트 4개 출력을 확인합니다 |
| PDF 다운로드가 로그인 화면으로 바뀜 | 코리안넷 공개 PDF를 확인합니다. 기존 CSV만으로 차트 재현은 가능합니다 |
| 전체 지수와 업태 평균이 다름 | 오류라고 단정하지 않습니다. 공개되지 않은 업태별 응답 구성 없이 재집계하지 않습니다 |
자료와 재현 범위
- 대한상공회의소, 「2026년 4분기 소매유통업 경기전망지수 조사」, 본문과 그림 1·2, 조사 개요. 공식 게시 2026-10-22, 인터넷 보도 허용 2026-10-21 12시.
- 원문 조회: 2026-10-22. PDF 해시·수집 URL·조사기간은 패키지의
source_metadata.json에 기록했습니다. - 패키지: CSV 2개, 출처 메타데이터, 노트북, README. 본문·원본 도표 이미지를 재배포하지 않고 수치를 재계산해 그렸습니다.
- 노트북 부록은 선택 실행하는 공식 PDF 수집 코드입니다. 기본 차트 재현에는 별도 인증이 필요하지 않습니다.
