TL;DR
- 노트 #01(2026-07-17)에서 7일 예측의 계절 나이브 대비 우위를 9.33%p로 공개했습니다. 2026-07-25 기준 그 폭은 4.76%p입니다. 약 절반으로 줄었습니다.
- 분해해 보면 기준선이 좋아진 것(19.89% → 18.09%, 1.80%p)보다 우리 모델이 나빠진 것(10.56% → 13.33%, 2.77%p)이 더 큽니다. 축소분의 약 3분의 2가 우리 쪽 원인입니다.
- 비교를 시작한 이래 6개 시점 모두에서 모델 오차가 기준선보다 낮았습니다. 다만 6개 점은 추세라 부르기에 여전히 부족하고, 우위 폭이 2.98%p까지 좁아진 날도 있었습니다.
- 이 노트의 목적은 해명이 아니라 기록입니다. 수치가 우리에게 불리하게 움직였을 때 무엇을 공개하는지가, 유리할 때 무엇을 공개하는지보다 중요하다고 봅니다.
무슨 일이 있었나 — 8일간의 기록
아래는 계절 나이브 병렬 채점을 시작한 2026-07-17부터 2026-07-25까지, 실제 평가가 이뤄진 모든 날짜입니다. 표본이 없는 날(주말·비거래일)은 애초에 점을 찍지 않으므로 빠져 있고, 빈 날을 임의로 이어 붙이지 않았습니다.
| 기준일 | 모델 MAPE | 계절 나이브 MAPE | 차이(모델이 낮음) |
|---|---|---|---|
| 2026-07-17 | 10.56% | 19.89% | 9.33%p |
| 2026-07-21 | 11.78% | 20.19% | 8.41%p |
| 2026-07-22 | 13.83% | 19.19% | 5.36%p |
| 2026-07-23 | 15.24% | 18.22% | 2.98%p |
| 2026-07-24 | 12.78% | 17.76% | 4.98%p |
| 2026-07-25 | 13.33% | 18.09% | 4.76%p |
표본은 6개 시점 모두 19건으로 동일합니다. 대상 품목이 바뀌어서 생긴 변화가 아니라, 같은 품목군에서 오차 자체가 움직였다는 뜻입니다.
폭이 어디에서 줄었나 — 분해
"우위가 줄었다"는 문장은 두 가지로 갈립니다. 기준선이 좋아졌을 수도, 우리가 나빠졌을 수도 있습니다. 둘은 전혀 다른 이야기라 반드시 나눠 봐야 합니다.
| 구분 | 2026-07-17 | 2026-07-25 | 변화 |
|---|---|---|---|
| EcoChain 모델 MAPE | 10.56% | 13.33% | +2.77%p (나빠짐) |
| 계절 나이브 MAPE | 19.89% | 18.09% | −1.80%p (좋아짐) |
| 우위 폭 | 9.33%p | 4.76%p | −4.57%p |
축소분 4.57%p 중 2.77%p는 우리 모델의 오차 증가에서, 1.80%p는 기준선의 오차 감소에서 왔습니다. 기준선이 좋아진 것 자체는 나쁜 소식이 아닙니다 — 작년 같은 달 값이 올해와 비슷해지는 구간에 들어섰다는 뜻이고, 그런 구간에서는 단순 기준선을 앞서기가 원래 어렵습니다. 반면 우리 모델 오차가 커진 것은 설명이 필요한 쪽입니다.
평균이 아니라 분포를 보면
| 지표 (2026-07-25 · 7일 예측 · 표본 19건) | 값 |
|---|---|
| 평균 오차(MAPE) | 13.33% |
| 중앙값 오차 | 6.19% |
| 가장 잘 맞은 품목 | 쌀 0.26% · 콩 0.37% · 녹두 0.40% |
| 가장 빗나간 품목 | 상추 71.25% · 수박 36.15% · 오이 35.64% |
평균 13.33%와 중앙값 6.19%의 간격이 이 표의 핵심입니다. 절반이 넘는 품목은 오차가 6% 안쪽인데, 소수의 큰 오차가 평균을 두 배 넘게 끌어올리고 있습니다. 상추 한 품목(71.25%)만으로도 19개 평균이 3%p 넘게 밀립니다. 우리가 실적 페이지에 평균과 중앙값을 나란히 놓는 이유가 이것입니다 — 평균만 보면 모든 품목이 고르게 나쁜 것처럼 오해하게 됩니다.
우리 해석 — 아직 가설입니다
오차가 커진 품목은 상추·수박·오이·시금치·양배추처럼 여름 잎채소와 과채에 몰려 있습니다. 곡물류(쌀·콩·녹두·감자)는 같은 기간 1% 안쪽을 유지했습니다. 이 편중 자체는 데이터로 확인된 사실입니다.
여기서부터는 가설입니다. 7월 중순 이후 장마·폭염 구간에서 엽채류 도매가의 일별 출렁임이 커지면, 7일 앞을 맞히는 난도도 함께 올라갑니다. 우리 모델에는 폭염·강수 hinge 외생변수가 들어가 있지만, 그 장치는 "임계를 넘는 극한 사건"을 잡도록 설계돼 있어 임계 아래의 잦은 변동까지 흡수하지는 못합니다. 이 설명이 맞는지는 여름이 지난 뒤 같은 품목의 오차가 내려오는지를 봐야 확인됩니다.
그래서 지금은 이것을 "원인"이 아니라 "가설"로 적습니다. 몇 주 뒤 이 가설이 틀린 것으로 보이면, 틀렸다고 다음 노트에 적겠습니다.
이런 상황을 위해 미리 걸어둔 장치
수치가 나빠지는 것을 사람이 눈으로 발견하는 구조라면 발견이 늦거나 아예 안 됩니다. 그래서 모델 품질 워치독을 매일 자동으로 돌립니다.
- 연속 상태는 달력일이 아니라 실제 평가가 이뤄진 날 기준으로 셉니다(데이터 공백이 있는 날에 착시가 생기지 않도록).
- 평균 오차가 25%를 넘는 평가일이 연속 2회면 warning, 45%를 넘거나 25% 초과가 연속 4회면 decayed로 전이합니다.
- 계절 나이브 기준선에 연속 3회 뒤지면 warning, 4회면 decayed입니다. 즉 이 노트가 다루는 "우위 축소"가 실제 역전으로 이어지면 자동으로 감지됩니다.
- 전이가 일어난 날에만 알림이 나갑니다. 하루짜리 스파이크로는 전이하지 않습니다(2026-06-11에 하루 79.51%까지 튄 적이 있는데, 그런 단발은 무시하도록 설계했습니다).
- 이 장치는 알림과 기록까지만 합니다. 모델을 자동으로 끄거나 예측을 감추지 않습니다 — 판단은 사람이 하고, 그 사이에도 수치는 그대로 공개됩니다.
2026-07-25 기준 워치독 상태는 healthy이고 연속 카운트는 전부 0입니다. 우위가 줄기는 했지만 아직 임계에 닿지 않았다는 뜻입니다.
Caveats — 이 노트를 어디까지 믿어야 하나
- 6개 점으로는 추세를 말할 수 없습니다. 노트 #01에서 "단일 시점"이라 했던 것이 6개 시점이 됐을 뿐입니다. 9.33%p에서 4.76%p로 줄어든 것도, 그 사이 2.98%p까지 좁혀졌다가 다시 벌어진 것도, 통계적 판단을 하기엔 이릅니다. 여기에 "하락 추세"라는 이름을 붙이지 않겠습니다.
- 여전히 7일 단기뿐입니다. 30일·90일 예측의 실적은 아직 표본 축적 중이라 이 노트에 없습니다. 구매·계약 판단에 정작 필요한 구간이 검증 전이라는 사실은 노트 #01 이후 달라지지 않았습니다.
- 표본 19건은 작습니다. 19건이고 서로 얽힌 시계열입니다. 우리는 이 수치에 통계적 유의성 배지를 붙이지 않습니다.
- "6개 시점 모두 기준선보다 나았다"를 과대 해석하지 마십시오. 표본이 작을 때 6연속은 생각보다 쉽게 나옵니다. 이것은 "모델이 기준선을 확실히 앞선다"의 근거가 아니라, "아직 역전은 관측되지 않았다"는 사실 기술입니다.
- 역전되는 날이 오면 같은 자리에 그대로 실립니다. 실적 페이지의 추이 차트는 모델선과 기준선을 함께 그립니다. 기준선이 모델보다 아래로 내려가는 날이 오면 그림에서 바로 보입니다. 그 날 이 노트에 후속을 붙이겠습니다.
재현법
- 직접 확인: https://ecochn.org/track-record — 이 노트의 모든 수치(평균·중앙값, 품목별 오차, 모델 대 기준선 추이)가 매일 갱신되어 공개됩니다. 표에서 품목명을 누르면 그 품목의 차트와 예측 근거로 바로 들어갈 수 있습니다.
- 이전 노트: 노트 #01 — 계절 나이브 벤치마크의 정의와 채점 방식이 그쪽에 정리돼 있습니다. 이 노트는 같은 프레임을 그대로 쓰고 수치만 갱신했습니다.
- 데이터 출처: 도매가는 공공데이터포털 aT(B552845) 및 도매시장 경락(at.go.kr), 기상 외생변수는 기상청 ASOS. 전부 공개 정부 데이터입니다.
맺음 — 나빠진 숫자를 먼저 쓰는 이유
노트 #01을 쓸 때 9.33%p는 기분 좋은 숫자였습니다. 그 숫자만 계속 인용하고 갱신을 미루는 선택지도 있었습니다. 실제로 그런 자료가 많습니다 — 좋았던 시점의 수치가 어딘가에 박제되어, 언제 잰 것인지 모른 채 계속 돌아다닙니다.
결재 서류에 붙일 근거를 찾는 쪽에서 보면 그런 숫자는 쓸 수가 없습니다. 언제 잰 것인지, 지금도 유효한지 확인할 방법이 없기 때문입니다. 우리가 매일 자동으로 채점하고 결과를 그대로 올리는 것은, 인용된 수치가 인용된 그 날에 검증 가능하도록 만들기 위해서입니다.
다음 노트에서는 여름이 지난 뒤 같은 품목군의 오차가 어떻게 움직였는지, 그리고 30일 horizon 표본이 채워지는 대로 장기 실적을 다루겠습니다. (발행 캘린더는 약속하지 않습니다 — 쓸 내용이 쌓였을 때만 냅니다.)
고지
이 노트는 투자·매매 조언이 아닙니다. EcoChain은 공개 데이터 기반의 가격 참고 정보를 제공하며, 구매·계약 의사결정의 책임은 이용자에게 있습니다.