CH10. MODE A — 현재가격 진단
발표 핵심 메시지: 현재가격의 건강성은 매출총이익이 아니라 판매·배송 변동비까지 뺀 공헌이익으로 확인해야 한다.
1. 학습목표
현재 가격에서 실제로 남는 매출총이익(Gross Profit)과 공헌이익(Contribution Margin)을 계산하고, 그 결과를 해석할 수 있다.
2. 핵심개념
가격을 정하는 논의는 화려한 전략보다 먼저 확인해야 하는 사실 하나에서 시작한다. 지금 팔고 있는 가격과 비용구조로, 한 단위 거래는 실제로 얼마를 남기는가다. Pricing Harness의 MODE A(현재가격 진단)는 정확히 이 질문에만 답하는 모듈이다. 다른 어떤 전략적 판단(목표가격 설정, 손익분기 분석, 경쟁 대응)도 이 사실 위에 놓이며, 이 사실이 틀리면 그 위의 모든 판단이 함께 틀어진다.
이 질문이 왜 첫 번째인지는 원가에 대한 원칙에서 이미 나온다. 원가는 가격을 정하기 위해 가장 먼저 확인해야 하는 현실의 제약조건이며, 특별한 전략적 판단이 없다면 가격의 지지선 역할을 한다(KM044). 그리고 비용은 회계계정에서 먼저 찾는 것이 아니라, 기술개발·생산·판매유통처럼 실제로 수행하는 활동을 먼저 나열하고 그 활동에 필요한 비용을 계산하는 방식으로 추정한다(KM044). 이렇게 도출된 비용은 다시 고정비/변동비, 직접비/간접비, 제조원가, 판매관리비 같은 구조로 읽어야 사업전략의 판단 재료가 된다(KM045).
MODE A는 이 원칙을 하나의 상품·서비스 단위(component)에 대해 실제 계산으로 구현한 것이다. 판매가격에서 직접원가를 뺀 매출총이익, 그리고 매출총이익에서 판매·배송에 들어가는 변동비를 더 뺀 공헌이익, 두 지표를 산출한다.
3. 왜 중요한가
가치 기반 가격결정(KM046)이 말하듯, 고객은 기업 내부에서 들어간 비용을 보상하기 위해 돈을 지불하지 않는다. 고객이 받아들일 수 있는 지불범위는 가격의 한쪽 경계이고, 원가는 가격의 다른 쪽 경계다(KM046). 그런데 이 다른 쪽 경계, 즉 원가 쪽 경계가 실제로 어디에 있는지를 모른 채로는 가격결정 대화 자체가 성립하지 않는다. “이 가격이 적정한가”를 논의하려면 먼저 “이 가격에서 실제로 얼마가 남는가”를 알아야 한다.
MODE A의 METHOD.md는 이 모듈이 존재하는 이유를 이렇게 설명한다. 전략이나 할인, 경쟁사 대응을 이야기하기 전에, 가격 컨설팅은 하나의 확정된 사실을 필요로 한다. 지금 실제로 받고 있는 가격에서, 그 거래에 명확히 귀속되는 비용을 뺀 뒤 무엇이 남는가라는 사실이다. MODE A는 의도적으로 Harness 전체에서 가장 작고 논쟁의 여지가 적은 질문만 답한다. 목표가격 설정(MODE B), 허용원가 산정(MODE C), 손익분기(BEP), 전략 판단 등 다른 모든 모듈이 이 위에 세워지기 때문에, MODE A가 틀리면 그 오류를 그대로 물려받는다.
4. Framework / Logic
MODE A가 계산하는 7개 지표와 그 정의는 다음과 같다(SPEC.md).
Gross Profit = actual_price_ex_vat − direct_cost_totalGross Profit Rate = Gross Profit / actual_price_ex_vatContribution Margin = Gross Profit − variable_cost_totalContribution Margin Rate = Contribution Margin / actual_price_ex_vat여기서 반드시 짚어야 할 용어 경계가 있다. 위 4개 산식(Gross Profit, Gross Profit Rate, Contribution Margin, Contribution Margin Rate의 정확한 계산식)과 fixed_operating_cost를 공헌이익에서 제외하는 규칙은 **Master Note가 확정한 개념이 아니라, Pricing Harness 자체의 내부 사양(Internal Specification)**이다. METHOD.md는 이를 “Category B — Pricing Harness Internal Specification”으로 명시하며, 근거 참조 문서(MASTER_NOTE_PRICING_REFERENCE §5.4)가 “어느 수준까지 마진 개념을 구분할지”를 아직 열려 있는 MN06 후속 질문으로 남겨두고 있다고 밝힌다.
반면 KM044·KM045·KM046이 뒷받침하는 것은 이보다 상위의 개념이다. 즉, 가격을 정하기 전에 원가를 알아야 한다는 것, 판매·배송이라는 활동 자체에도 비용이 따른다는 것, 채널형 비용(수수료 등)이 가격구조 자체를 바꾼다는 것, 그리고 고객이 지불하는 것은 원가가 아니라 가치라는 것이다. MODE A의 “이 질문에 답한다”는 것 자체는 Master Note가 뒷받침하는 문제의식(METHOD.md의 Category A)이지만, “정확히 이렇게 계산한다”는 산식은 Harness가 독자적으로 설계한 내부 규격이다. 이 둘을 같은 “마진”이라는 말로 뭉뚱그리지 않는 것이 이 장의 용어 경계다.
Gross Profit과 Contribution Margin도 서로 다른 질문에 답한다. Gross Profit은 상품/서비스를 만들고 전달하는 데 드는 직접원가(product_service_direct_cost)만 뺀 값이고, Contribution Margin은 여기서 한 단계 더 나아가 채널 수수료, PG 수수료, 배송비, 방문서비스 비용 같은 판매·배송 변동비(variable_selling_delivery)까지 뺀 값이다. Gross Profit은 건강해 보여도 Contribution Margin은 얇거나 마이너스일 수 있다. 실제로 이 특정 채널을 통해 이 상품을 파는 것이 남는 장사였는지를 말해주는 숫자는 Contribution Margin 쪽이다. fixed_operating_cost(임대료, 인건비 등 고정 SG&A)는 Gross Profit과 Contribution Margin 어느 쪽에도 포함되지 않는다. 이 비용은 특정 거래 하나의 비용이 아니라 사업을 유지하는 비용이기 때문이며, 향후 만들어질 BEP(손익분기) 모듈이 다룰 몫으로 남겨져 있다.
5. 적용 절차
MODE A는 product.price_components[]의 각 구성요소(component)마다 독립적으로 계산을 수행한다. 여러 component를 섞어서 하나의 값으로 합산하지 않는다(SPEC.md, “MODE A never blends components”). 하나의 component에 대해 소비하는 입력은 다음과 같다.
actual_price,currency,price_includes_vat— 실제 판매가격, 통화, VAT 포함 여부tax.vat_rate— 부가세율fx.base_currency,fx.reporting_currency,fx.rate_base_per_reporting— 통화 환산 정보- 이 component에 귀속되는 모든
costs.items[]— 직접 귀속되거나,applies_to_component = "shared"이면서 해결 가능한allocation_rule을 가진 항목
계산 순서는 다음과 같이 진행된다.
- 먼저
actual_price와 VAT 정보를 이용해 VAT 제외 순매출(actual_price_ex_vat)을 구한다.price_includes_vat = true이면 VAT율로 나누어야 하고,false이면actual_price값 그대로가 순매출이다(SPEC.md VAT rule). - 이 component에 귀속되는 비용 항목 중
product_service_direct_cost범주를 합산해 직접원가 총액(direct_cost_total)을 구한다. - 순매출에서 직접원가 총액을 빼서 Gross Profit을 구하고, 순매출 대비 비율로 Gross Profit Rate를 구한다.
variable_selling_delivery범주의 비용을 합산해 변동비 총액(variable_cost_total)을 구한다. 정률형 비용 항목은rate_of_net_sales(VAT 제외 순매출 기준) 또는rate_of_gross_payment(VAT 포함 실지급액 기준) 중 어느 쪽을 기준으로 삼는지basis필드로 지정된다.- Gross Profit에서 변동비 총액을 빼서 Contribution Margin을 구하고, 순매출 대비 비율로 Contribution Margin Rate를 구한다.
각 지표는 {value, status, unit} 형태로 산출되며, 상태는 OK / UNKNOWN / ERROR 3단계로 관리된다. 의존하는 입력값 중 하나라도 확정되지 않은 null이 있으면 그 지표는 UNKNOWN이 되고, 0으로 임의 대체하지 않는다. shared 비용 항목에 allocation_rule = direct가 설정된 경우처럼 설정 자체가 의미적으로 모순되면 ERROR로 처리한다(SPEC.md “Shared cost items and allocation_rule”). 모듈 전체 상태는 지표 하나라도 ERROR면 ERROR, 아니면 하나라도 UNKNOWN이면 INCOMPLETE, 모두 OK면 OK로 집계된다.
6. Pricing 또는 Harness 적용
컨설턴트가 MODE A를 실행하기 전에 확인해야 할 것은 이 모듈이 “무엇을 하지 않는가”이다. SPEC.md는 명시적으로 범위 밖(out of scope)을 규정한다. 여러 component를 하나로 합친 전체 계약(blended) 관점은 아직 미구현 상태(NOT_IMPLEMENTED)이며, 목표가격(MODE B)·허용원가(MODE C)·손익분기(BEP)는 별도 모듈로 남아 있다. 외부 경쟁사 조사, AI 가격전략 추천, 보고서·견적서 생성, 웹 대시보드도 MODE A의 범위가 아니다. MODE A는 오직 “지금 이 가격에서 한 단위가 실제로 얼마를 남기는가”라는 사실만을 계산한다.
이 장의 4절에서 밝힌 용어 경계는 실무에서도 그대로 적용된다. 컨설턴트가 클라이언트에게 Gross Profit·Contribution Margin 수치를 제시할 때, “이 계산식은 Master Note 이론이 확정한 공식”이라고 설명해서는 안 된다. 이 산식은 Pricing Harness의 내부 사양이며, Master Note(및 KM044·KM045·KM046)가 뒷받침하는 것은 “원가를 알아야 가격을 논의할 수 있다”는 문제의식과 “고객이 지불하는 것은 원가가 아니라 가치”라는 상위 원칙까지다. 이 구분을 명확히 하지 않으면, 컨설팅 산출물이 실제로는 Harness가 설계한 계산 규칙을 마치 검증된 이론처럼 제시하는 오류를 범하게 된다.
공헌이익이 확인되지 않고 매출총이익만 확인되는 상황도 실무에서 흔히 나타난다. 판매 변동비(PG 수수료율 등)가 아직 확정되지 않았다면, 매출총이익은 OK로 산출되지만 공헌이익은 UNKNOWN으로 남는다. 이는 시스템 오류가 아니라, 확인된 데이터가 지지하는 만큼만 계산하고 그 이상은 추정하지 않는다는 MODE A의 설계 원칙이다.
7. 실무 체크포인트
- 이 component의 판매가격이 VAT를 포함하는지(
price_includes_vat)를 먼저 확정했는가. 이 값이 틀리면 이후 모든 지표가 VAT율만큼 틀어진다. - 직접원가(
product_service_direct_cost)와 판매·배송 변동비(variable_selling_delivery)를 구분해서 입력했는가. 두 범주를 섞으면 Gross Profit과 Contribution Margin의 의미가 무너진다. - 정률형 비용 항목(PG 수수료 등)의 기준(
basis)이 VAT 제외 순매출인지 VAT 포함 실지급액인지 확인했는가. 실지급액은 표시가격이 VAT를 포함하는지와 무관하게 항상 “순매출 × (1+VAT율)“이다(SPEC.md). shared로 분류된 공유비용에allocation_rule = direct를 잘못 설정하지 않았는가. 이 조합은 의미적으로 모순되어 계산이 거부(ERROR)된다.- 지표가
UNKNOWN으로 나온다면, 그 값을 임의로 0이나 추정치로 채워 넣지 말고 어떤 입력이 누락됐는지 경고 메시지의 의존 경로를 확인했는가. - 클라이언트에게 결과를 설명할 때, Gross Profit/Contribution Margin의 산식이 Harness 내부 사양이라는 점과 “원가를 알아야 가격을 정할 수 있다”는 상위 원칙이 별개의 근거를 갖는다는 점을 구분해서 전달했는가.
8. 핵심정리
MODE A는 현재 가격과 비용구조에서 한 단위 거래가 실제로 얼마를 남기는지를 component 단위로 계산하는 모듈이다. Gross Profit(매출총이익)은 직접원가만 뺀 값이고, Contribution Margin(공헌이익)은 판매·배송 변동비까지 뺀 값으로, 서로 다른 질문에 답한다. 이 정확한 계산식은 Pricing Harness의 내부 사양이며, Master Note가 뒷받침하는 것은 “원가를 먼저 알아야 가격을 논의할 수 있다”는 문제의식과 고객가치 중심의 가격결정 원칙이다. 입력이 확정되지 않으면 지표는 UNKNOWN으로 남으며 0으로 대체되지 않는다.
9. 실무 질문
- 우리가 지금 파는 상품/서비스의 판매가격은 VAT를 포함해서 고지되고 있는가, 아닌가?
- 이 거래의 직접원가와 판매·배송 변동비를 각각 얼마로 확정할 수 있는가? 아직 확정하지 못한 항목은 무엇인가?
- Gross Profit은 건강해 보이는데 Contribution Margin은 그렇지 않다면, 어떤 판매·배송 비용이 그 차이를 만드는가?
- 여러 component(예: 하드웨어 + 구독형 서비스)로 구성된 상품이라면, 공유비용의 배분 방식이 아직 정의되지 않아 Contribution Margin이
UNKNOWN으로 남는 부분은 없는가?
Source Map
- MN: MN06 (concept)
- KM: KM044, KM045, KM046
- Harness: core/engine/modes/mode_a.py (run_mode_a), docs/features/mode_a_current_price/{SPEC,METHOD,CASE}.md