LAMBENCY
DeepCaffein · 공개 데이터 시리즈 · 07 · 패션

재고에는 나이가 없다 패션·의류 · DART 감사보고서 19곳 × 재고자산 평가충당금 · 공개 데이터 분석

Caff · 2026년 8월
사용 데이터 — DART 외부감사 대상 법인 마스터 38,989곳, 정형 API(fnlttSinglAcntAll) 2025 사업연도 연결재무제표, 감사보고서 주석·핵심감사사항 원문, 사업보고서 「경과기간별 매출채권 잔액 현황」. 내부 데이터 0건.

다른 것을 찾다가 이걸 봤다. 패션은 반품이 많은 업종이니 그 숫자가 공시에 남아 있을 거라고 생각했고, 실제로 남아 있었다. 반품이 예상되는 만큼은 매출로 잡지 않고 환불부채라는 이름의 부채로 세워 둔다. 그런데 코호트를 넓혀 보니 그 계정을 따로 떼어 공시한 곳이 절반도 되지 않았다. 대신 열어 본 감사보고서마다 같은 자리에 같은 문장이 있었다.

브랜드사 15곳 전부가 재고자산 평가를 핵심감사사항으로 올려 두고 있었다. 핵심감사사항은 감사인이 그해 감사에서 가장 유의적이라고 판단한 항목을 스스로 지목해 적는 자리다. 열다섯 곳의 감사인이, 서로 다른 회계법인 소속으로, 같은 곳을 짚었다.

01감사인 열다섯이 같은 자리를 짚었다

DART 외감 마스터 38,989곳에서 의류·가죽·신발 제조와 섬유·의복 도소매에 해당하는 업종코드(KSIC 14·15·4641·4741)를 골라내면 651곳이 나온다. 이 중 정형 API로 숫자를 교차 대조할 수 있는 회사만 남겨 19곳의 2025 사업연도 연결 재무제표를 읽었다. 소비자에게 직접 파는 브랜드사 15곳, 주문을 받아 만들어 넘기는 수출 OEM 3곳, 그리고 자체 브랜드와 매입을 함께 하는 플랫폼 1곳이다.

재고자산 평가가 핵심감사사항으로 지정된 비율은 이렇게 갈렸다.

구분표본재고자산 평가가 핵심감사사항
브랜드사1515 / 15
수출 OEM30 / 3
플랫폼10 / 1

서로 다른 회계법인 소속 감사인 열다섯이, 각자의 감사에서 같은 자리를 가장 유의적인 항목으로 지목했다.

같은 옷을 만드는 회사들인데 감사인이 위험하다고 본 자리는 브랜드 쪽에만 있었다. 이유는 사업의 구조에 있다. OEM은 주문을 받은 뒤에 만들기 때문에 만든 물건의 임자가 이미 정해져 있다. 브랜드는 반대다. 팔릴 것을 미리 정해서 만들고, 그 판단이 맞았는지는 시즌이 끝나야 안다.

감사인들이 쓴 표현이 그 구조를 그대로 말한다. 한 곳의 핵심감사사항 제목은 「시즌성 패션의류 재고자산의 순실현가능가치 평가」였다. 다른 곳은 "의류산업의 특성상 상품 및 제품의 판매가격과 직접비용의 변동으로 인하여 재고자산의 순실현가능가치가 원가에 미달할 가능성이 존재"한다고 적었다. 업종의 이름을 넣어 위험을 설명하고 있다.

0 100 200 300 400 브랜드사 (15) 299일 수출 OEM (3) 68일 브랜드사 재고가 4.4배 오래 앉아 있다 — 만들어 놓고 임자를 나중에 찾기 때문이다 재고회전일 (일) · 중위 ●

그림 1 · 사업모델별 재고회전일. ● = 중위. 브랜드사는 만들어 놓고 임자를 나중에 찾는다

02브랜드사의 재고는 열 달을 앉아 있다

재고가 얼마나 오래 머무는지는 재고회전일로 잰다. 재고자산을 매출원가로 나눈 뒤 365를 곱한 값이고, 지금 속도로 팔 때 현재 재고를 다 소진하는 데 걸리는 날수다.

브랜드사(15)수출 OEM(3)
재고회전일 중위299.3일67.7일
범위94.5 ~ 374.6일67.4 ~ 151.7일
재고자산 / 매출 중위30.05%16.35%
매출원가율 중위41.22%86.54%
영업이익률 중위1.46%4.30%

브랜드사 재고는 OEM의 4.4배 오래 머문다. 그리고 매출의 30%에 해당하는 금액이 그 상태로 묶여 있다.

날수보다 읽기 쉬운 단위로 바꿔 보자. 패션의 판매 단위는 시즌이고, 한 시즌은 대체로 한 분기다. 재고회전일을 91.25일로 나누면 시즌 적재량이 나온다. 지금 들고 있는 재고가 몇 시즌 분량인가를 뜻한다. 브랜드사 중위는 3.28시즌이고 OEM은 0.74시즌이다. 브랜드사는 지금 팔고 있는 시즌 물건 말고도 두 시즌 반 치를 더 들고 있다는 말이 된다.

03깎아낸 금액이 남긴 금액보다 크다

여기까지는 자산 이야기다. 그 재고가 손익에 얼마로 찍히는지는 같은 보고서의 다른 자리에 있다. 팔 수 있는 값이 원가보다 낮아지면 그 차액을 재고자산 평가충당금으로 깎아 비용에 넣는다.

코호트 브랜드사 15곳을 합치면 2025 사업연도 매출 6조 7,989억 원, 영업이익 2,127억 원이다. 같은 해 이들이 쌓은 재고자산 평가충당금은 2,835억 원이다.

영업이익 2,127 억 원 평가충당금 2,835 억 원 영업이익의 133% 브랜드사 15곳 합산 · 2025 사업연도 연결

그림 2 · 브랜드사 15곳 합산, 한 해 영업이익과 그해 쌓은 재고자산 평가충당금. 깎아낸 쪽이 더 크다

한 해 벌어들인 영업이익보다, 재고를 깎아낸 금액이 더 크다. 133%다.

회사 단위로 봐도 방향은 같다. 매출 대비로 재면 충당금은 중위 3.05%이고 영업이익률은 중위 1.46%다. 깎아낸 것이 남긴 것의 2.1배다. 영업이익이 양수인 8곳만 놓고 봐도 충당금은 영업이익의 중위 64%이고, 그중 3곳은 충당금이 영업이익보다 크다.

뒤집으면 지렛대가 된다. 충당금을 10%만 줄이면 영업이익이 중위 6% 늘어난다. 매출을 6% 더 파는 것과 같은 크기인데, 이쪽은 이미 사 놓은 물건에서 나온다.

깎이는 경로는 대개 할인이다. 그리고 할인에는 산수로 정해지는 선이 하나 있다. 정가 기준으로 원가가 매출의 c를 차지하면, 할인 뒤 받는 값이 c 아래로 내려가는 순간 그 물건은 팔수록 원가를 못 건진다. 즉 원가를 회수하는 최대 할인율은 1 − c다. 코호트 브랜드사의 원가율 중위는 41.22%이니 그 선은 58.8%다.

시즌 끝물에 70%까지 붙는 매대를 본 적이 있다. 발주가 어긋난 브랜드였고, 그해에 자사몰을 새로 열어 그쪽으로도 같은 물건을 밀었다. 파는 통로를 늘린 것이지 팔릴 값을 되돌린 것은 아니다. (직접 본 장면이다. 공시가 아니라 관찰이므로 이 문단에는 수치를 붙이지 않는다.) 그 70%를 계산해 보자. 70% 할인은 정가의 30%를 회수한다는 뜻이고, 원가율 41.22%에 11.2%포인트 미달한다. 그 물건은 팔 때마다 원가의 27%를 잃는다. 코호트 15곳 중 70% 할인이 원가 위에 남는 곳은 한 곳뿐이다 — 원가율이 28.3%인 그 회사만 그렇다.

그래서 70%짜리 매대는 재고를 치우는 행사가 아니다. 이미 손실이 확정된 물건을 현금으로 바꾸는 자리다. 손실이 그 주에 생긴 것도 아니다. 무엇을 얼마나 사 올지 정하던 때에 이미 정해져 있었고, 매대는 그것을 뒤늦게 인식하는 곳일 뿐이다. 그 사이가 길수록 깎이는 폭도 커진다.

그러면 그 사이를 좁히려면 무엇을 봐야 하는가. 밖에서 재고를 재는 자는 하나뿐이다. 재고회전일이다. 그런데 그 자가 회사가 실제로 매긴 값과 맞는지를 먼저 봐야 한다.

04그런데 오래 앉은 것과 많이 깎은 것이 서로 무관하다

재고가 오래 남으면 값이 떨어진다. 회계는 그것을 재고자산 평가충당금으로 처리한다. 순실현가능가치가 취득원가보다 낮아진 만큼을 깎아서 장부에 반영하는 것이고, 취득원가 대비 그 비율을 여기서는 충당률이라고 부르겠다.

오래 앉아 있을수록 많이 깎였을 것이다. 상식적인 예상이다. 코호트에서는 그렇지 않았다.

재고회전일 ↔ 충당률 피어슨 상관+0.052
스피어만 순위상관+0.002
표본14곳
회전일 편차 (최대÷최소)3.96배
충당률 편차 (최대÷최소)11.0배

순위상관이 +0.002다. 재고가 오래 앉아 있는 순서와 값을 많이 깎은 순서 사이에 아무 관계가 없다는 뜻이다. 개별 값을 보면 더 분명하다.

익명재고회전일충당률
A사374.6일15.42%
I사294.3일2.76%
F사320.1일30.32%
N사160.7일16.97%
O사94.5일8.55%

I사와 F사는 재고가 머무는 기간이 26일밖에 차이 나지 않는데 깎은 비율은 11배 차이가 난다. 반대로 N사는 O사보다 재고가 66일 더 오래 앉아 있는데, 회전이 가장 빠른 O사의 충당률이 그 절반이다.

100 150 200 250 300 350 0% 10% 20% 30% 재고회전일 (일) 충당률 N I O F A 26일 차이 · 충당률 11배 순위상관 +0.002 · 표본 14곳 오래 앉은 순서와 많이 깎은 순서가 서로를 예측하지 못한다

그림 3 · 브랜드사 14곳의 재고회전일 × 충당률. 오래 앉을수록 많이 깎였을 것 같지만 순위상관은 +0.002다. 점선 = I사·F사(26일 차이, 충당률 11배)

재고가 오래 앉아 있는 순서와 값을 많이 깎은 순서 사이에 아무 관계가 없었다. 순위상관 +0.002다.

이걸 회사들이 추정을 엉터리로 한다는 뜻으로 읽으면 틀린다. 회사 안에는 품목별 연령표가 있고, 감사인이 그것을 다시 계산해 확인한다. 한 곳의 핵심감사사항 대응 절차에는 "연결회사가 제시한 재고자산 항목별 평가충당금을 재계산하고 회계처리의 적정성을 확인"했다고 적혀 있다. 안에서는 항목 단위로 세고 있다는 뜻이다.

틀린 것은 회사의 추정이 아니라 밖에서 쓸 수 있는 자다.

05회전일은 나이를 못 재는 자다

재고회전일은 총액을 총액으로 나눈 값이다. 분자에는 지난주에 들어온 신상품과 3년 전 물건이 같이 들어 있고, 나눗셈은 그 둘을 구분하지 않는다.

신상품이 빠르게 나가고 구형이 눌러앉아 있는 회사를 생각해 보자. 평균은 가운데를 가리킨다. 그런데 값이 떨어지는 위험은 눌러앉은 쪽에만 있다. 반대로 재고 전체가 고르게 천천히 도는 회사도 같은 평균이 나올 수 있고, 이쪽은 위험이 훨씬 작다. 같은 회전일이 전혀 다른 두 상태를 가리킨다.

그래서 회전일과 충당률이 어긋나는 것은 이상한 일이 아니다. 충당률은 나이를 아는 사람이 매긴 값이고, 회전일은 나이를 못 재는 자다. 두 값이 안 맞는 게 정상이고, 무상관이라는 관측은 그 자의 실패를 잰 것이지 회사의 실패를 잰 것이 아니다.

06서식은 이미 나이를 세고 있다 — 다른 계정에서

여기서 이상한 것을 봤다. 같은 사업보고서 안에, 나이를 구간으로 쪼개서 적게 되어 있는 자산이 이미 있다. 매출채권이다.

「경과기간별 매출채권 잔액 현황」이라는 항목이 있고, 6월 이하 / 6월 초과 1년 이하 / 1년 초과 3년 이하 / 3년 초과로 칸이 나뉘어 금액과 구성비율까지 들어간다. 코호트 브랜드사 15곳 중 14곳이 이 표를 싣고 있었다.

바로 다음 항목이 재고자산이다. 거기에는 그 칸이 없다. 최근 3사업연도 보유현황과 재고실사 내역이 들어가고, 나이에 해당하는 자리는 「장기체화재고 등 현황」 한 줄이다. 그리고 그 한 줄은 대개 서술이다. "재고자산 실사과정에서 파악된 장기체화재고 내역은 없으며" 같은 문장으로 끝난다.

브랜드사 15곳
매출채권을 경과기간 구간으로 쪼개 공시14 / 15
재고자산을 경과기간 구간으로 쪼개 공시0 / 15

그런데 묶여 있는 돈의 크기는 반대다. 재고자산을 매출채권으로 나눠 보면, 계정 이름이 순수하게 「매출채권」인 10곳에서 중위 4.8배였다(2.44 ~ 10.94배). 나머지 5곳은 계정이 「매출채권 및 기타채권」이라 분모에 다른 채권이 섞여 있고, 따라서 그 회사들의 배수는 하한으로만 읽어야 한다. 그 5곳의 하한 중위는 3.0배였다.

정리하면 이렇게 된다. 나이를 세게 만든 것은 작은 자산 쪽이고, 나이를 안 세는 것은 그 몇 배가 묶여 있는 쪽이다. 재고자산 평가를 핵심감사사항으로 꼽은 감사인이 15명 있는데도 그렇다.

매출채권 6M 1Y 3Y 3Y+ 나이 칸 있음 · 14 / 15 재고자산 ? 나이 미상 나이 칸 없음 · 0 / 15 묶인 금액은 재고가 4.8배 나이를 세게 만든 것은 작은 자산 쪽이다

그림 4 · 나이를 구간으로 쪼개 공시해야 하는 자산(매출채권)과, 그 몇 배가 묶여 있으면서 그 칸이 없는 자산(재고자산)

나이를 세게 만든 것은 작은 자산 쪽이고, 나이를 안 세는 것은 그 몇 배가 묶여 있는 쪽이다.

왜 한쪽만 세게 되어 있는지가 남는다. 물어보면 대개 「재고는 품목이 너무 많아서」라는 답이 돌아오는데, 그건 이유가 아니다. 거래처가 수천 곳인 회사도 매출채권을 네 칸으로 접어서 낸다. 접을 수 있는 것은 접는 축이 하나이기 때문이다 — 경과일이다. 재고도 축을 하나(입고 경과주)로 정하면 똑같이 네 칸이 된다. 축이 없는 게 아니라, 축을 정하라고 요구한 적이 없는 것이다.

진짜 이유는 두 자산의 손상을 정의하는 방식이 다르다는 데 있다. 코호트 브랜드사 8곳의 감사보고서 원문을 그대로 검색해 봤다.

주석에 등장하는가매출채권재고자산
기대신용손실8 / 8
연체8 / 8
충당금설정률7 / 8
경과기간·연령으로 서술7 / 80 / 8
순실현가능가치7 / 8

정리하면 이렇다. 매출채권의 손상은 시간의 함수로 정의돼 있다. 얼마나 연체됐는지를 구간으로 나누고 구간마다 손실률을 매긴다. 나이를 세는 일이 곧 감액을 계산하는 일이라, 표가 따라붙을 수밖에 없다. 재고자산의 손상은 가격의 함수로 정의돼 있다. 지금 팔면 얼마를 받는가, 그것이 원가보다 낮은가. 이 계산에 나이는 들어가지 않는다.

그런데 패션에서 그 가격은 시간의 함수다. 한 다리를 건너 같은 것을 재고 있는데, 그 다리가 공시에는 없다.

시즌이 지나면 팔 수 있는 값이 떨어진다. 즉 재고의 손상도 실질적으로는 시간이 만든다. 다만 기준이 그 연결을 명시해 두지 않았고, 그래서 시간은 계산의 중간에서 사라진 채 결과만 남는다. 앞 절의 무상관은 그 사라진 다리를 밖에서 복원할 수 없다는 사실을 잰 것이다.

한 가지 덧붙이면 — 이건 확인된 사실이 아니라 추론이다 — 두 나이는 만드는 사람이 다르다. 채권의 나이는 상대가 만든다. 언제 갚느냐는 회사가 정하지 못한다. 재고의 나이는 회사가 만든다. 무엇을 언제 얼마나 사 올지 스스로 정한 결과다. 그것을 구간으로 공시하면 발주 판단의 성적표를 분기마다 공개하는 것이 된다. 요구가 없는 쪽에서 자발적으로 그 표를 낼 이유는 없다.

덧붙일 것이 하나 있다. 장기체화재고와 평가충당금은 다른 개념이다. 앞은 실사에서 파악되는 물리적 손상이나 진부화이고, 뒤는 팔 수 있는 값이 원가보다 낮아진 경우의 감액이다. 그래서 「장기체화재고 없음」과 두 자릿수 충당률이 같은 보고서에 있어도 모순이 아니다. 실제로 코호트에 그런 곳이 있었다. 문제는 둘 중 어느 쪽에서도 나이가 나오지 않는다는 것이다.

07그래서 무엇을 하라는 것인가

총액 나눗셈이 나이를 못 재면, 나이가 남는 단위로 세면 된다. 우리가 쓰는 자는 입고 코호트 소진곡선이다. 이름은 거창하지만 계산은 단순하고, 계산식은 아래에 그대로 공개한다. 어차피 밖에서 재현되는 것이고, 파는 것은 계산식이 아니라 계산할 때 내리는 선택이다.

㉮ 자

같은 주에 입고된 SKU 묶음을 하나의 코호트로 묶는다. 그 코호트가 입고 후 t주까지 정가로 나간 수량의 누적 비율을 정가소진율 s(t)라고 한다.

``` s_w(t) = (입고 주차 w 코호트가 입고 후 t주 이내에 정가로 팔린 수량) ÷ (주차 w 입고 수량) ```

㉯ 임계값 — 자기 원가율

임계값을 임의로 정하면 첫 반문에 무너진다. 여기에는 구조적인 선이 하나 있다. 매출원가율이다. 정가 기준으로 원가가 매출의 c를 차지한다면, 정가로 c만큼 팔았을 때 그 입고분의 원가는 회수된다. 남은 (1−c)는 할인해서 팔든 못 팔든 전부 마진 영역이다. 즉 s = c 가 그 코호트의 손익분기점이다.

코호트 브랜드사의 매출원가율 중위는 41.22%였다. 회사마다 자기 값을 쓰면 된다. 선을 하나 더 그으면 절반, 즉 c/2다. 절반은 임의로 고른 값이 아니라 정가 수요가 원가의 절반도 못 덮었다는 뜻이고, 그 지점부터는 할인으로 메울 수 있는 폭을 넘어선다.

어떻게 재나기준걸리면 무엇을 하는가
정가소진율 s(26주)입고 주차 코호트가 26주 이내에 정가로 팔린 수량 ÷ 그 주차 입고 수량 s ≥ c — 정가만으로 원가를 덮었다 (c = 자사 매출원가율, 코호트 중위 41.22%) 발주량 유지. 이 코호트를 조기 할인하는 것은 마진을 버리는 것이다
정가소진율 s(26주)같은 자 c > s ≥ c/2 — 절반은 넘겼고 나머지는 할인 회수 구간 다음 시즌 발주량에 s ÷ c를 곱한다. 할인 개시를 s(t) 기울기가 꺾인 주차로 당긴다
정가소진율 s(26주)같은 자 s < c/2 — 정가 수요가 원가의 절반에도 못 미쳤다 그 (카테고리 × 가격대 × 매입처) 조합을 다음 시즌 발주에서 뺀다
정가소진율 s(13주)같은 자, 한 시즌 시점 판정이 아니라 경보 — s가 c에 한참 못 미치는가 그 시즌 안에 할인 계획을 다시 짠다. 발주 변경은 26주 판정에서 한다

13주(한 시즌) 시점에도 같은 자를 읽는다. 다만 그때는 판정이 아니라 경보다 — sc에 한참 못 미치면 그 시즌 안에 할인 계획을 다시 짜야 한다는 뜻이고, 26주 판정은 다음 시즌 발주를 바꾸는 자리다.

㉯-2 그래서 얼마를 깎을 것인가 — 탄력성이 정하는 값

여기까지는 언제 손대야 하는지다. 실제로 매일 묻는 질문은 얼마를 깎느냐이고, 그 값도 임의로 정할 필요가 없다. 필요한 것은 하나 — 가격탄력성 ε, 값을 1% 내렸을 때 수량이 몇 % 늘어나는가다.

할인율 d로 팔면 받는 값은 정가의 (1−d)이고, 원가는 그대로 c다. 수량이 (1−d)−ε로 늘어난다고 두면 총마진은 q₀(1−d)−ε · (1−d−c)이고, 이걸 d로 미분해 0으로 두면 답이 하나로 나온다.

``` d* = ( ε(1−c) − 1 ) ÷ ( ε − 1 ) ```

이 식이 곧바로 말해 주는 게 두 가지다.

첫째, 할인이 이득이 되기 시작하는 최소 탄력성이 있다. ε ≤ 1 ÷ (1−c)이면 d*가 음수다. 즉 어떤 할인도 마진을 늘리지 못한다. 원가율 중위 41.22%인 코호트에서 그 선은 ε = 1.70이다. 회사별로는 1.39에서 3.87 사이에 있고, 원가율이 높은 회사일수록 할인이 정당화되기 어렵다. 탄력성을 재 보지 않은 채 관행으로 깎고 있다면, 그 관행이 어느 쪽인지도 모르는 것이다.

탄력성 ε최적 할인율 d*그때 받는 값 (정가 100)읽는 법
1.70 이하할인하지 않는다100깎을수록 마진이 준다. 재고는 다른 방법으로 턴다
2.017.6%82.4가벼운 할인이 최적. 반값은 과하다
3.038.2%61.8통상적인 시즌 할인 구간
5.048.5%51.5반값이 정당화되려면 이 정도는 나와야 한다
ε → ∞58.8%41.2손익분기 할인율. 아무리 잘 팔려도 이 선을 넘지 않는다
0% 20% 40% 60% 80% 2 4 6 8 10 12 탄력성 ε 70% 할인 — 어떤 ε 로도 최적이 아니다 손익분기 할인율 58.8% (= 1 − 원가율) ε ≤ 1.70 이면 할인 안 함 18% 38% 48% 원가율 41.22% (코호트 중위) 기준 · d* = (ε(1−c) − 1) ÷ (ε − 1)

그림 5 · 가격탄력성 ε 이 정하는 최적 할인율. 아무리 잘 팔려도 손익분기 할인율(1 − 원가율)로 수렴할 뿐 넘지 않는다

둘째가 더 중요하다. d*는 ε가 아무리 커져도 1−c, 즉 손익분기 할인율로 수렴할 뿐 그것을 넘지 않는다. 70%가 최적이 되는 유한한 탄력성은 존재하지 않는다. 앞에서 70% 매대를 손실 확정으로 부른 이유가 이것이다. 그 할인은 마진을 최적화한 결과일 수가 없고, 남은 선택지가 현금뿐일 때 나오는 값이다.

물론 재고를 털어야만 하는 상황은 실제로 있다. 매장 자리를 비워야 하거나 자금이 급할 때다. 그때도 이 식은 쓸모가 있다 — 얼마를 잃기로 하고 터는지를 숫자로 알고 결정하게 만든다. 58.8%와 70% 사이의 11.2%포인트가 그 값이다.

㉰ 판단 규칙 — 무엇이 바뀌는가

1. 다음 시즌 매입 수량이 바뀐다. 26주 시점 s < c 인 코호트가 속한 (카테고리 × 가격대 × 매입처) 조합의 다음 시즌 발주량에 s ÷ c를 곱한다. "주의 깊게 본다"가 아니라 수량 산식이다. 2. 할인 개시 시점이 캘린더에서 곡선으로 옮겨간다. 지금은 대부분 7월과 1월처럼 정해진 달에 시작한다. 대신 s(t)가 c를 향해 오르던 기울기가 꺾이는 주차에 건다. 같은 시즌 안에서도 코호트마다 시작일이 달라진다. 3. 충당금이 의사결정 기록이 된다. 평가충당금을 기말 총액 추정이 아니라 입고 코호트별로 적립하면, 그 숫자는 "얼마를 깎았나"가 아니라 "어느 시즌의 어느 결정이 틀렸나"를 가리키게 된다. 지금 이 숫자는 결산에서만 쓰이고 매입 회의에는 들어가지 않는다.

우리가 내리는 선택 — 그리고 왜 다른 값이면 안 되는지

여기서부터가 이 자의 실체다. 지표는 표준이어도 선택은 그렇지 않다.

선택다르게 하면
분자를 정가 판매만으로 센다할인 판매를 소진으로 세면 「다 팔았다」가 되는데 그 시점에 값은 이미 깎였다할인 포함으로 세면 시즌 말 소진율 90%가 나오지만, 그 절반이 반값이면 실제 회수는 67.5%다
입고 시점으로 정렬한다판매 시점으로 정렬하면 그건 매출 곡선이지 재고 곡선이 아니다12월에 잘 팔렸다는 사실은 8월 입고분이 잘 팔렸다는 뜻이 아니다
창을 26주로 둔다정상 시즌과 처리 시즌을 함께 덮는 최소 길이13주면 시즌 말 세일 전에 끊겨 회수의 절반을 못 보고, 52주면 이월 재고가 섞여 어느 시즌의 결정이 틀렸는지가 흐려진다
반품 후 재입고를 새 입고로 세지 않는다세면 같은 옷이 두 번 입고된 것이 되어 소진율이 부풀려진다원래 입고 주차로 되돌려 붙인다
매장당 소진을 함께 본다몇 개 매장에만 깔린 SKU는 그 매장 트래픽이 소진율을 정한다배분 매장 수로 나누지 않으면 「안 팔리는 상품」과 「안 깔린 상품」이 같은 칸에 들어간다

08이 데이터로 못 보는 것

먼저 밝힐 것은, 위의 자는 공개 데이터로는 계산할 수 없다는 사실이다. 입고 주차별 수량과 정가·할인 판매 구분은 회사 안에만 있다. 이 글이 공개 자료로 보인 것은 그 자가 필요하다는 것까지이고, 임계값의 구조적 근거(원가율)까지다. 각 사의 실제 곡선은 그 회사 데이터로만 그려진다.

그 밖에 잰 것의 한계는 이렇다.

1. 탄력성은 공개 데이터로 못 잰다. ε 는 각 사의 할인 이력과 판매 수량이 붙어야 나오고, 그 둘은 회사 안에만 있다. 게다가 순진하게 회귀하면 역인과가 섞인다 — 안 팔리는 물건일수록 더 깎으므로, 할인과 수량의 상관은 수요 반응을 과소평가한다. 시즌·카테고리를 고정하고 계획된 할인 캘린더처럼 수요와 무관하게 정해진 변동을 식별에 써야 한다. 위 표의 ε 값들은 실측치가 아니라 예시다. 2. 연령 분포는 어느 회사도 공시하지 않는다. 충당률은 그 연령표의 결과만 보여준다. 3. 충당률 차이의 원인은 특정할 수 없다. 상품 구성(이월해도 팔리는 아웃도어와 시즌이 끝나면 죽는 트렌드 의류는 다르다), 감액 정책, 실제 노후도가 모두 섞여 있다. 관측으로만 제시한다. 4. 회전일은 기말 잔액 기준이라 시즌성이 큰 업종에서는 결산월의 영향을 받는다. 코호트가 전부 12월 결산이라 상호 비교는 성립하지만, 절대 수준을 평균 보유일로 읽으면 안 된다. 5. 수량과 SKU 수는 공개되지 않는다. 그래서 "몇 장을 못 팔았나"는 못 쓴다. 금액뿐이다. 6. 코호트가 공시 의무가 큰 쪽에 치우쳐 있다. 비상장 외감법인은 정형 API가 없어 본문 파싱만으로는 숫자를 교차 대조할 수 없었고, 대조가 안 되는 회사는 넣지 않았다. 7. 전원 연결 기준이라 분모에 자회사 매출이 들어간다. 의류와 무관한 자회사가 큰 곳은 재고 비중이 희석된다. 7. 한 곳(E사)은 충당률을 [미확인]으로 남겼다. 주석의 재고 합계와 재무상태표의 재고자산이 어긋나 검증 항등식을 통과하지 못했다. 값을 주워 담는 대신 비웠다.

09그래서 이 글이 하고 싶은 말

패션 브랜드사의 재고는 매출의 30%에 해당하는 금액이 열 달 가까이 묶여 있는 자산이고, 감사인 열다섯 명이 전원 그 자리를 그해 가장 유의적인 항목으로 지목했다. 그런데 밖에서 그 재고를 잴 수 있는 유일한 자인 재고회전일은 회사가 실제로 매긴 값과 아무 관계가 없었다. 순위상관 +0.002다.

회전일이 나쁜 자여서 그렇다. 총액을 총액으로 나누면 지난주 입고분과 3년 전 물건이 한 칸에 들어가고, 나이는 그 나눗셈에서 사라진다. 같은 보고서에서 매출채권은 6개월과 1년과 3년으로 나이를 쪼개 적게 되어 있는데, 그 몇 배가 묶여 있는 재고에는 그 칸이 없다.

그래서 이 글의 제안은 재고를 총액이 아니라 입고 코호트로 세는 것이고, 임계값은 각 사의 매출원가율에 거는 것이다. 정가로 원가율만큼 팔았는지를 입고 주차별로 보면, 재고는 자산 계정이 아니라 지난 시즌 의사결정의 성적표가 된다.

입장별로 먼저 볼 것

당신이먼저 볼 것
브랜드 상품기획·MD26주 시점 정가소진율이 자사 원가율을 넘는 코호트의 비율. 절반을 밑돌면 매입 단위부터
CFO·재무평가충당금을 기말 총액이 아니라 입고 코호트별로 쪼갤 수 있는가. 못 쪼개면 결산 숫자가 매입 회의에 못 들어간다
데이터·IT입고 주차와 정가/할인 판매 구분이 한 테이블에서 조인되는가. 이 둘이 갈려 있으면 위의 자는 계산 자체가 안 된다
투자·심사재고회전일만 보고 있었다면, 그 값이 회사가 매긴 충당률과 무관하다는 것부터

방법론 · 한계

모집단은 DART 외부감사 대상 법인 마스터 38,989곳이다. 업종코드 KSIC 14(의복·액세서리·모피), 15(가죽·가방·신발), 4641(섬유·의복·신발·가죽제품 도매), 4741(의복 소매)에 해당하는 651곳을 추린 뒤, DART 정형 API(fnlttSinglAcntAll)로 재무 수치를 교차 대조할 수 있는 회사만 남겼다. 최종 코호트는 19곳이고 전부 2025 사업연도 연결재무제표 기준이다. 연결대상범위 변동은 19곳 모두 0이라 인수 합산으로 인한 오염은 없다.

사업모델로 셋을 갈랐다. 소비자에게 직접 파는 브랜드사 15곳, 주문 생산해 넘기는 수출 OEM 3곳, 자체 브랜드와 매입을 함께 하는 플랫폼 1곳이다. 이 구분을 하지 않고 한 표에 넣으면 「적게 깎고도 잘 번다」 같은 관측이 나오는데, 그건 발견이 아니라 분류 오류다.

평가충당금은 정형 API에 없는 값이라 감사보고서 주석에서 읽었다. 읽은 값은 두 항등식을 동시에 통과할 때만 채택했다. 취득원가 − 평가충당금 = 장부금액이고, 그 장부금액이 재무상태표의 재고자산과 0.5% 이내로 일치해야 한다. 통과하지 못한 한 곳은 [미확인]으로 남겼다. 채택한 값 중 4곳은 주석 원문을 눈으로 다시 대조했고 불일치는 없었다.

회사명은 전부 익명(A~O사)이다. 수치는 공개 공시라 DART에서 직접 대조할 수 있다. 익명화의 목적은 추적 불가능성이 아니라 이름으로 검색되지 않게 하는 것이다.

상관계수는 회전일과 충당률이 모두 확정된 14곳으로 계산했다. 상관은 인과가 아니며, 이 글은 무상관을 회사의 추정이 부정확하다는 근거로 쓰지 않는다. 반대로 외부에서 쓰는 지표가 연령을 반영하지 못한다는 근거로 쓴다.

재현 스크립트는 패션_코호트.py패션_지표.py이고, 원시값은 패션_코호트.csv에 DART 접수번호와 함께 들어 있다.

Caff · 2026년 8월

여기까지가 공개 데이터로 보이는 것입니다. 재구매·증분·귀속 — 결정을 바꾸는 숫자는 귀사 데이터 안에 있고, 그걸 세울 수 있는 상태로 만드는 것이 Lambency가 하는 일입니다.

caffrey.w.lee@gmail.com