CH11. MODE B — 목표가격 역산
발표 핵심 메시지: 목표가격 역산은 원하는 마진을 가격으로 번역하고, 현재 비용구조로 그 목표가 가능한지 드러낸다.
1. 학습목표
목표 공헌이익률(Target Contribution Margin Rate)을 달성하기 위한 판매가격을 역산할 수 있다.
2. 핵심개념
CH10에서 다룬 MODE A(정산)는 “지금 이 가격이면 얼마가 남는가?”를 계산한다. MODE B(목표가격 역산)는 그 반대 방향의 질문에 답한다. “지금 남는 돈이 부족하다면, 얼마에 팔아야 하는가?” 새로운 가격을 짐작해 MODE A를 반복 실행하는 대신, MODE B는 목표로 삼은 공헌이익률을 직접 달성하는 가격을 한 번에 계산한다.
MODE B가 실제로 푸는 문제는 다음과 같다.
“현재 원가·수수료 구조에서 목표 Contribution Margin Rate를 확보하려면 얼마에 팔아야 하는가?”
이 질문은 MODE A로 현재 가격의 공헌이익률을 이미 확인한 다음에야 의미를 갖는다. MODE B는 MODE A를 대체하지 않으며, 그 위에 쌓이는 다음 단계다.
3. 왜 중요한가
가격을 정하는 일은 “원가에 마진을 더한다”는 단순한 계산이 아니다. KM046(고객가치 기반 가격결정)은 고객이 지불하는 이유가 원가 보상이 아니라 자신이 인정하는 가치 때문이라는 점을 강조하며, 고객이 받아들일 수 있는 가격대와 지불의사를 먼저 파악하고 그 가격에서 사업성이 성립하도록 원가와 상품구성을 역으로 검토해야 한다고 설명한다. MODE B는 이 “역으로 검토”하는 과정의 산술적 절반을 맡는다. 사업이 필요로 하는 가격이 얼마인지를 계산해 주지만, 고객이 그 가격을 실제로 받아들일지는 계산하지 않는다. 그 판단은 여전히 사람의 몫이다.
KM047(경쟁 기반 가격과 포지셔닝)이 짚듯이, 가격은 고객에게 품질과 브랜드의 위치를 해석하게 만드는 신호이기도 하다. MODE B가 산출한 목표가격이 시장가와 크게 동떨어져 있다면, 계산이 틀렸다는 뜻이 아니라 원가·목표율·포지셔닝 중 무언가를 재검토해야 한다는 신호로 읽어야 한다.
4. Framework / Logic
MODE B의 공식은 Master Note가 확정한 것이 아니라 Pricing Harness의 Internal Specification(SPEC.md)이 정의한 것이다. Master Note(및 그로부터 파생된 KM046, KM047)가 뒷받침하는 것은 “원가는 가격의 제약조건이다”, “고객은 가치 때문에 지불한다”, “지불의사를 확인한 뒤 원가·상품구성을 역으로 검토한다”, “가격은 경쟁·포지셔닝과 연결된다”는 네 가지 개념이다. 이 개념을 구체적인 역산 공식으로 수식화한 것은 SPEC.md이며, METHOD.md는 이를 “이 계산식은 Pricing Harness가 MN06의 문제의식을 수식화한 것이며, Master Note 원문이 확정한 공식이 아니다”라고 명시한다.
SPEC.md v0.2가 정의하는 용어는 다음과 같다.
C: 고정금액형 직접원가 + 변동비(해당 컴포넌트분)b: net sales(순매출) 기준 비율형 비용의 합a: gross payment(총지불금액) 기준 비율형 비용의 합t: 목표 공헌이익률(target_contribution_margin_rate)v: VAT율
핵심 공식은 다음과 같다.
N = C / [1 − t − b − a(1+v)] (목표 순매출, VAT 제외)G = N × (1 + v) (목표 총지불금액, VAT 포함)분모 D = 1 − t − b − a(1+v)가 0 이하이면 이는 “계산 실패”가 아니라 ERROR다. 즉 현재 원가·수수료 구조로는 어떤 가격을 매겨도 목표 공헌이익률을 달성할 수 없다는 확정적 진단이다.
VAT율이 실제로 필요한지는 “계산 전체”에 대해 하나로 답할 수 없고, 지표별로 따로 판단해야 한다.
required_net_sales(N): gross-payment 기준 비용(a)이 0이면 VAT율 없이 계산 가능하다.a > 0이면 표시가격이 VAT 포함이든 제외든 관계없이 VAT율이 필요하다.required_gross_payment(G):G = N × (1+v)이므로a와 무관하게 항상 VAT율이 필요하다.required_selling_price: 표시가격 기준(price_includes_vat)이false이면 N을 따르고(N의 조건부 규칙을 그대로 물려받음),true이면 G를 따른다(항상 VAT율 필요). 표시가격 기준 자체가 미정이면 UNKNOWN이다.
5. 적용 절차
- MODE A로 현재 가격의 공헌이익률을 먼저 확인한다.
- 목표 공헌이익률(
t)을 정한다 — 내부 기준, 투자자 요구, 업종 벤치마크 등 출처를 반드시 기록한다. MODE B는 이 숫자 자체가 타당한지 검증하지 않는다. - 원가·수수료 구조(
C,b,a)와 VAT율(v), 표시가격 기준(price_includes_vat)을 입력한다. - MODE B를 실행해 목표 순매출(N), 목표 총지불금액(G), 목표 실판매가(
required_selling_price)를 확인한다. - 할인 정책이 있다면
required_list_price = required_selling_price / (1 − discount_rate)로 목표 정가를 역산한다. - 결과가 ERROR(분모 ≤ 0)이면 원가 절감, 목표율 조정, 채널·수수료 재협상, 상품 재설계 중 하나를 검토한다. 이 선택지 자체를 제시하는 것은 MODE B의 역할이 아니다.
- 결과가 시장가와 크게 다르면 계산 오류가 아니라 구조적 신호로 해석하고, 경쟁·포지셔닝 관점(KM047)에서 재검토한다.
6. Pricing 또는 Harness 적용
core/engine/modes/mode_b.py의 run_mode_b는 위 로직을 컴포넌트 단위로 계산한다. 원가 항목 중 applies_to_component = "shared"이면서 배부 규칙(allocation_rule)이 by_component_revenue나 fixed_share처럼 아직 지원되지 않는 경우, 해당 비용을 0으로 취급하지 않고 그 비용에 의존하는 지표 전체를 UNKNOWN으로 표시한다(경고 코드 UNSUPPORTED_SHARED_COST_ALLOCATION). 이는 “null은 0이 아니다”라는 Harness의 원칙을 목표가격 역산에도 그대로 적용한 것이다 — 공유비용을 조용히 빼고 계산하면 실제보다 낮은 목표가격을 제시해 사업에 필요한 금액을 과소평가하게 된다. allocation_rule = "direct"가 shared 항목에 붙어 있으면 “귀속되지 않음”과 “이미 귀속됨”이 의미적으로 모순되므로 ERROR(INVALID_ALLOCATION_CONFIGURATION)로 처리한다.
또한 target_contribution_margin_rate는 현재 Client Input 전체에 하나만 존재하는 global 값이며, 하드웨어+SaaS 같은 하이브리드 상품에서 컴포넌트별로 다른 목표율을 설정하는 기능은 아직 구현되어 있지 않다.
7. 실무 체크포인트
- 목표 공헌이익률의 출처를 항상 기록했는가(내부 기준/투자자 요구/업종 평균 등).
- ERROR(분모 ≤ 0)를 “다시 계산해 보자”가 아니라 “이 구조로는 불가능하다”는 확정 진단으로 받아들였는가.
- UNKNOWN을 “값이 낮다”가 아니라 “아직 데이터가 없어 답할 수 없다”로 구분했는가.
- 표시가격 기준(
price_includes_vat)과 gross-payment 기준 비용(a) 유무를 함께 확인해, VAT율이 실제로 필요한지 지표별로 판단했는가. - 목표 정가(
required_list_price)만 보고 “비싸다/싸다”를 판단하지 않고, 할인 후 실제 청구액이 목표를 달성하는지 확인했는가. - 목표가격이 시장가와 크게 다를 때, 원가·목표율·채널구조·상품 재설계 중 무엇을 조정할지 컨설턴트 판단으로 넘겼는가(MODE B가 대신 결정하지 않는다).
8. 핵심정리
MODE B는 목표 공헌이익률을 입력하면 그 목표를 달성하는 판매가격을 역산해 주는 도구다. 공식(N, G, 분모 D 등)은 Pricing Harness의 Internal Specification이 정의한 것이며, Master Note가 확정한 공식이 아니다. Master Note가 뒷받침하는 것은 원가가 제약조건이라는 점과 고객가치를 먼저 확인한 뒤 원가를 역으로 검토해야 한다는 개념(KM046)이며, 가격이 경쟁·포지셔닝 신호라는 점(KM047)은 목표가격이 시장가와 괴리될 때 해석의 기준이 된다. 분모가 0 이하이면 ERROR로, 데이터가 없으면 UNKNOWN으로 구분해 처리하며, 공유비용은 절대 0으로 취급하지 않는다.
9. 실무 질문
- 우리 상품의 현재 공헌이익률(MODE A 결과)과 목표 공헌이익률 사이에 얼마나 차이가 있는가?
- 그 목표 공헌이익률의 근거는 무엇인가(투자자 요구인가, 업종 평균인가, 내부 기준인가)?
- MODE B가 산출한 목표가격이 ERROR라면, 원가·목표율·채널구조·상품구성 중 무엇부터 조정할 것인가?
- 목표가격이 시장가보다 훨씬 높다면, 그 차이를 정당화할 고객가치(KM046)와 포지셔닝(KM047)이 실제로 존재하는가?
Source Map
- MN: MN06 (concept)
- KM: KM046, KM047
- Harness: core/engine/modes/mode_b.py (run_mode_b), docs/features/mode_b_target_price/{SPEC,METHOD,CASE}.md