TIL 2026.08.27

do young Lee·2026년 8월 27일

내일배움캠프(PM)

목록 보기
22/35

진행한 일

  • 서비스 기획 입문 강의 수강

회고

  • 서비스 기획 입문 강의 중 가설 & 검증 챕터 내용 중 그로스 도메인이 토스를 성장시키는 방법 이 있었고, 읽어보다가 Shapley value 라는 처음 들어보는 개념이 나오길래 뭔지 궁금해서 가볍게 찾아보았다. 뭐 공정하게 기여도를 계산하는 방법이라길래 봤더니 수식으로 설명한 부분이 이해가 안되었다.... 그래서 갑자기 확 꽂혀서 한번 수식 없이 이해해보자 생각했고, 정리했다....

Shapley value

Shapley value는 말그대로 값이다. 그럼 어떤 값일까?

  • 집단에 여러 사람이 존재 한다고 생각해보자. 이때 각각이 혼자 일할때 창출해내는 가치와 같이 일할때 창출해내는 가치는 다를수 있다. 혼자 일할때는 업무 효율이 안나오지만 같이 일하면 일을 잘하는 사람도 있을테니 말이다. 그럼 이 가치를 어떻게 분배 해야할까?란 의문이 생긴다.
  • 이 가치를 공정하게 기여도 맞게 가치를 분배하면 되지 않을까?란 생각은 꽤나 그럴듯하게 느껴진다.
  • Shapley Value는 각각의 사람이 혼자, 같이, 또 어떤 순서로 집단에 추가 되었을때 가치를 더 창출하는지를 반영해서 각각의 사람의 평균적인 기여도를 계산하는 방법이다.

가능한 수식 없이 예시로 이해해보자

  • 집단에 A, B, C가 있다. 이때 각각이 혼자서 창출하는 가치가 다음과 같다고 가정해보자

    플레이어가치
    A10
    B20
    C0
  • 이때 A, B, C 들이 서로 팀을 이뤘을때 창출하는 가치는 다음과 같다고 가정해보자

    팀원가치
    없음0
    A, B50
    A, C20
    B, C30
    A, B, C80
  • 이때 모두 같이 일해서 창출한 가치 80에서 A의 기여도는 얼마일까? 라는 의문이 생긴다.

  • Shapley Value 방법은 여기서 A가 조직에 합류하는 시점까지 담은 모든 경우의 수에 대해서 A의 한계 기여도를 구해고 이를 평균내서 계산한다.

  • 이해가 어려우니 차근차근 따라가보자

  1. 우선 A가 조직에 포함 되는 순서를 포함한 모든 경우의 수는 다음과 같다
    1. A → B → C
    2. A → C → B
    3. B → A → C
    4. B → C → A
    5. C → A → B
    6. C → B → A
  2. 각 경우에서 A의 한계 기여도를 계산한다
  • 한계 기여도 = 가치(기존 팀 + A) - 가치(기존 팀) 로 계산 한다
    • B→A→C 경우에 A의 한계 기여도를 계산해보자
      • 식에 따르면 A의 한계 기여도 = 가치(B, A) - 가치(B) = 50 - 20 = 30 이다
      • A, B가 일을하면 50의 가치를 창출하는데 이중 A가 기여한게 30이다! 라는 의미일까?
      • 아니 같이 일했을 때 추가로 창출되는 가치도 있다면서?
      • 위 30에서 A가 혼자 일하면 10을 창출하는 사람인데 나머지 20만큼에는 A, B가 같이 일해서 생긴거 아니야?
      • 그런데 20이 왜 다 A의 기여도에 반영되는거야? B는 어쩌고?
      • 위와 같은 의문이 들수 있다. 여기서 주목할것은 그냥 기여도가 아니라 `한계 기여도` 라고 생각해보는것이다! 즉, 저 조합에서 A가 얻을수 있는 한계치인거라고 생각해봤다.
      • 그리고 이와 같은 이유로 모든 경우에 대해서 평균을 내는거다!
  1. 2번의 값을 평균 내면 이 값이 바로 A의 평균 기여도이고 Shapley Value 다! 이를 표로 나타내면 다음과 같다

    순서A 기여도B 기여도C 기여도
    A → B → C1050 - 10 = 4080 - 50 = 30
    A → C → B1080 - 20 = 6020 - 10 = 10
    B → A → C50 - 20 = 302080 - 50 = 30
    B → C → A80 - 30 = 502030 - 20 = 10
    C → A → B20 - 0 = 2080 - 20 = 600
    C → B → A80 - 30 = 5030 - 0 = 300
    Shapley Value= 170 / 6 = 약 28.3= 230 / 6 = 약 38.3= 80 / 6 = 약 13.3
  • C는 혼자서는 가치가 0이다.
  • 그런데 A나 B와 함께 있을 때는 가치를 추가한다.
  • C의 Shapley Value는 0이 아니라 약 13.3이다.

그래서 Shapley Value가 공정한 분배방식인가?

  • 그냥 “평균내면 그럴듯하니까 공정하다”가 아니라, 공정한 분배 방식을 위한 몇 가지 조건을 만족하는 배분 방식이라서 의미가 있다
  • 조건1) Efficiency, 전체 배분 조건
    • 전체 결과는 빠짐없이 나눠야 한다는 조건.
      A + B + C의 전체 가치가 80이면,
      A의 몫 + B의 몫 + C의 몫도 정확히 80이어야 한다.
    • 즉 누구에게도 배분되지 않은 가치가 남거나, 전체보다 더 많이 나눠주면 안 된다는 뜻이다.
  • 조건2) Symmetry, 대칭 조건
    • 똑같이 기여한 요소는 똑같이 배분받아야 한다는 조건.
    • 예를 들어 A와 B가 어떤 조합에 들어가도 항상 같은 만큼 가치를 올린다면 아래와 같이 되어야 한다.
      A의 Shapley Value = B의 Shapley Value
  • 조건3) Dummy, 무의미한 요소 조건
    • 어떤 요소가 어느 조합에 들어가도 아무런 추가 가치를 만들지 못한다면, 그 요소의 기여도는 0이어야 한다는 조건이야.
      v(S ∪ {A}) - v(S) = 0
       위 식이 헷갈리면 위에서 사용한 A의 한계 기여도 = 가치(B, A) - 가치(B) 표현을 기억해보자!
    • 이 항상 성립하면:
      A의 Shapley Value = 0
  • 조건4) Additivity, 덧셈 조건
    • 두 개의 게임 또는 두 개의 성과 측정이 있을 때, 각각에서의 기여도를 따로 구해서 더한 값은 두 성과를 합친 게임에서의 기여도와 같아야 한다는 조건.
    • 조금 어렵지만 예를 들면:
       게임 1: 구매 전환 증가(가치)
       게임 2: 재방문 증가(가치)
    • A의 기여도를 각각 구했을 때:
      구매 전환에서 A 기여도 = 10
      재방문에서 A 기여도 = 5
      라면, 두 성과를 합친 전체 가치에서 A의 기여도는:
      10 + 5 = 15
      처럼 일관되게 계산되어야 한다는 뜻이야.
    • 즉, 측정 대상을 합쳐도 기여도 계산이 앞뒤가 맞아야 한다는 조건이야.
  • 요약하자면 아래 조건들을 만족하는 계산 방법이기 때문에 공정한 분배방식으로 볼수 있다.
    1. 전체 결과를 남김없이 나눈다.
    2. 같은 기여를 한 요소는 같게 대우한다.
    3. 기여하지 않은 요소는 0으로 본다.
    4. 여러 성과를 합쳐도 계산이 일관된다.

내일 할일

  • 서비스 기획 입문 강의 내용 수업자료에 있는 숙제들을 수행할 예정(대략적으로 내용을 보면, 목표 설정 -> 문제 정의 -> 가설 & 검증의 단계를 직접 해보는것으로 확인되어서 강의 내용 실습해보기 딱 좋다!)

0개의 댓글