본문으로 건너뛰기

콕 포인트 적립 대상 선정

문서 정보

  • 작성일: 2026-02-26
  • 최종 업데이트: 2026-02-26
  • 버전: v1.1.0

TL;DR

콕이 생성될 때, 활성 콕의 **정확히 절반(50%)**이 포인트 적립 대상으로 선정됩니다. Hamilton's Method 알고리즘을 적용하여 전체 적립 수도, 각 타임슬롯별 적립 수도 공정하게 배분됩니다.


목차

  1. 핵심 개념
  2. 적립 대상 선정 방식
  3. 타임슬롯별 공정 배분
  4. Hamilton's Method 알고리즘
  5. 예시 시나리오
  6. FAQ

핵심 개념

콕(Kok)과 포인트

사용자가 체육관에서 콕을 하면, 각 콕에 대해 포인트 적립 여부가 결정됩니다.

용어설명
활성 콕사용자에게 노출되는 콕 (패스별 개수 제한 이내)
비활성 콕개수 제한 초과로 보관만 되는 콕
적립 대상 콕시청 완료 시 포인트를 받을 수 있는 콕

적립 대상 비율

  • 활성 콕의 **50%**가 적립 대상으로 선정됩니다
  • 홀수일 경우 올림 처리하여 사용자에게 유리하게 적용합니다
  • 비활성 콕은 적립 대상이 될 수 없습니다

적립 대상 선정 방식

콕이 생성될 때 다음 순서로 적립 대상이 결정됩니다.

적립 대상 수 계산

활성 콕 수의 50%를 올림하여 적립 대상 수를 결정합니다.

적립 대상 수 = ⌈ 전체 활성 콕 수 × 0.5 ⌉

( ⌈ ⌉ = 올림 )

활성 콕 수적립 대상 수계산
10개5개⌈10 × 0.5⌉ = 5
7개4개⌈7 × 0.5⌉ = ⌈3.5⌉ = 4
3개2개⌈3 × 0.5⌉ = ⌈1.5⌉ = 2
1개1개⌈1 × 0.5⌉ = ⌈0.5⌉ = 1
0개0개⌈0 × 0.5⌉ = 0
사용자 우호적 정책

홀수 활성 콕에서는 항상 올림하므로, 실제 적립 비율은 50% 이상입니다. 예를 들어 활성 콕 1개일 때 적립 대상도 1개 (100%)입니다.


타임슬롯별 공정 배분

왜 공정 배분이 필요한가?

콕은 여러 타임슬롯(시간대)에 걸쳐 생성됩니다. 단순히 전체에서 랜덤으로 고르면 특정 타임슬롯에 적립 대상이 몰리거나 0개가 되는 불공정이 발생할 수 있습니다.

배분 규칙

각 타임슬롯은 자신의 활성 콕 수에 비례한 적립 대상을 보장받습니다.

규칙설명
전체 합산 정확전체 적립 대상 수는 항상 ⌈전체 활성 콕 × 50%⌉
슬롯별 범위 보장각 슬롯의 적립 대상: ⌊슬롯 콕 수 × 50%⌋ ~ ⌈슬롯 콕 수 × 50%⌉
슬롯 내 랜덤슬롯 안에서 어떤 콕이 적립 대상인지는 랜덤

⌊ ⌋ = 내림, ⌈ ⌉ = 올림


Hamilton's Method 알고리즘

타임슬롯별 공정 배분에는 Hamilton's Method (최대 나머지 방식)를 사용합니다. 이 알고리즘은 원래 미국 의회 의석 배분에 사용되던 방식으로, 전체 합을 정확히 유지하면서 각 그룹에 비례 배분하는 문제를 해결합니다.

알고리즘 단계

단계별 수식

각 타임슬롯 inᵢ개의 활성 콕이 있을 때:

단계수식설명
목표K = ⌈(n₁ + n₂ + ... + nₖ) × r⌉전체 적립 대상 수 (r = 0.5)
하한aᵢ = ⌊nᵢ × r⌋각 슬롯에 보장되는 최소 적립 수
부족분D = K - (a₁ + a₂ + ... + aₖ)아직 배분되지 않은 잔여분
나머지fᵢ = nᵢ × r - aᵢ각 슬롯의 소수점 이하 값
추가 배정fᵢ가 큰 순서로 D개 슬롯에 +1나머지가 큰 슬롯이 우선

수학적 보장

Hamilton's Method는 다음 두 가지를 동시에 보장합니다:

보장 1: 전체 합산 = ⌈전체 콕 × 0.5⌉ (정확히 일치)

보장 2: 각 슬롯의 적립 수는 ⌊nᵢ × 0.5⌋ 이상, ⌈nᵢ × 0.5⌉ 이하 (Quota Rule)

이 보장은 알고리즘의 구조적 특성으로, 어떤 입력에서든 반드시 성립합니다.

왜 단순 올림/내림으로는 안 되는가?

각 슬롯에 독립적으로 ⌈nᵢ × 0.5⌉(올림)를 적용하면, 올림의 누적으로 전체 합이 목표를 초과합니다.

슬롯별 콕 수슬롯별 올림 합전체 목표차이
[3, 3, 3] = 92 + 2 + 2 = 6⌈4.5⌉ = 5+1 초과
[1, 1, 1] = 31 + 1 + 1 = 3⌈1.5⌉ = 2+1 초과
[2, 4, 6] = 121 + 2 + 3 = 6⌈6⌉ = 6일치 (짝수일 때만)

Hamilton's Method는 일부 슬롯에 내림, 나머지에 올림을 적용하여 합이 정확히 맞도록 조절합니다.

r = 0.5일 때의 특수성

비율이 0.5인 경우, 나머지 값 fᵢ는 0 (짝수 콕) 또는 0.5 (홀수 콕) 뿐입니다. 홀수 콕인 슬롯들은 모두 같은 나머지(0.5)를 가지므로 동률이 됩니다. 이때 랜덤으로 순서를 결정하여 특정 슬롯이 항상 유리하거나 불리하지 않도록 합니다.


예시 시나리오

시나리오 1: 모든 슬롯 짝수 — 부족분 없음

사용자 A가 3개 타임슬롯에 각각 2개, 4개, 6개 = 총 12개 활성 콕

단계슬롯 0 (2개)슬롯 1 (4개)슬롯 2 (6개)합계
하한 ⌊nᵢ×0.5⌋1236
목표 K6
부족분 D0
최종 배정1개2개3개6개

모든 슬롯이 짝수이므로 나머지가 0, 부족분이 없어 정확히 절반씩 배정됩니다.

시나리오 2: 모든 슬롯 홀수 — 부족분 배분

사용자 B가 3개 타임슬롯에 각각 3개, 3개, 3개 = 총 9개 활성 콕

단계슬롯 0 (3개)슬롯 1 (3개)슬롯 2 (3개)합계
하한 ⌊nᵢ×0.5⌋1113
목표 K5
부족분 D2
나머지 fᵢ0.50.50.5동률
추가 배정 (+1)✓ (랜덤)✓ (랜덤)-+2
최종 배정2개2개1개5개

3개 슬롯이 동률이므로 2개를 랜덤 선택하여 +1을 줍니다. 매번 다른 슬롯이 선택되어 장기적으로 공정합니다.

시나리오 3: 슬롯 간 큰 차이

사용자 C가 슬롯 0에 1개, 슬롯 1에 10개 = 총 11개 활성 콕

단계슬롯 0 (1개)슬롯 1 (10개)합계
하한 ⌊nᵢ×0.5⌋055
목표 K6
부족분 D1
나머지 fᵢ0.50
추가 배정 (+1)✓ (나머지 큼)-+1
최종 배정1개5개6개

슬롯 0은 콕이 1개뿐이지만, 나머지(0.5)가 슬롯 1(0)보다 크므로 +1을 받아 적립 대상이 됩니다.


FAQ

Q: 적립 대상인 콕을 시청하면 반드시 포인트를 받나요?

적립 대상은 포인트를 받을 수 있는 자격입니다. 실제 적립은 시청 완료 시점에 멤버십별 적립 횟수 제한 등 추가 조건을 확인한 후 이루어집니다.

Q: 사용자가 어떤 콕이 적립 대상인지 알 수 있나요?

아닙니다. 적립 대상 여부는 내부 로직으로만 관리되며, 사용자에게는 노출되지 않습니다. 사용자는 콕 시청 완료 후 결과만 받게 됩니다.

Q: 활성 콕이 1개뿐이면 반드시 적립 대상인가요?

네. ⌈1 × 0.5⌉ = 1이므로, 활성 콕이 1개 이상이면 최소 1개는 적립 대상이 됩니다.

Q: 특정 타임슬롯에 적립 대상이 0개가 될 수 있나요?

해당 슬롯의 활성 콕이 1개일 때만 0개가 될 수 있습니다 (범위: 0~1). 2개 이상이면 최소 1개는 보장됩니다. 그리고 전체적으로 부족분이 있을 경우 1개짜리 슬롯도 적립 대상을 받을 수 있습니다.

Q: 매번 같은 콕이 적립 대상이 되나요?

아닙니다. 각 슬롯 내에서 적립 대상은 랜덤으로 선택됩니다. 같은 조건이어도 매번 다른 콕이 선택될 수 있습니다.

Q: Hamilton's Method는 어디서 유래한 건가요?

1792년 미국 건국의 아버지 알렉산더 해밀턴이 제안한 의석 배분 방식입니다. "전체 의석 수를 정확히 유지하면서 각 주(州)에 인구 비례로 공정하게 배분"하는 문제를 해결하기 위해 만들어졌으며, 우리 시스템에서는 "타임슬롯별 콕 수에 비례하여 적립 대상을 배분"하는 데 동일한 원리를 적용합니다.


관련 문서

  • ADR-001: 결정적 포인트 적격 할당 (docs/maintained/kok/adr/ADR-001-point-eligibility-deterministic.md) - 확률적 → 결정적 할당 변경 결정
  • ADR-002: 타임슬롯별 공정 배분 (docs/maintained/kok/adr/ADR-002-per-timeslot-fair-allocation.md) - Hamilton's Method 적용 결정

변경 이력

버전날짜변경 내용
v1.0.02026-02-26초기 문서 작성
- 포인트 적립 대상 선정 방식 정의
- 타임슬롯별 공정 배분 규칙 설명
- 예시 시나리오 3건 작성
- FAQ 작성
v1.1.02026-02-26알고리즘 상세 추가
- Hamilton's Method 알고리즘 단계별 설명 추가
- 수학적 보장 및 수식 추가
- 단순 올림/내림 불가 이유 설명
- 시나리오에 단계별 계산 과정 추가
- 다이어그램 색상 개선