"매 가격은 매 순간 다르다". 매 수요·재고·시간·세그먼트 signal 의 기반에서 매 price 가 매 real-time 의 조정. 매 Uber surge, 매 airline yield management, 매 2026 게임 IAP A/B price 의 mainstream.
매 핵심
매 입력 signal
수요 (Demand): 매 search volume, 매 conversion rate, 매 cart-add rate.
공급 (Supply / Inventory): 매 남은 stock, 매 server capacity.
시간 (Time): 매 hour-of-day, 매 day-of-week, 매 holiday.
사용자 segment: 매 LTV tier, 매 churn risk, 매 region 의 PPP.
경쟁사 price: 매 web scraping 의 competitor catalog.
매 알고리즘 family
Rule-based: 매 if (inventory < 20%) then price *= 1.3.
Elasticity model: 매 demand curve 의 fit → 매 revenue-maximizing point 의 추출.
Bandit / RL: 매 contextual bandit 의 사용 — 매 explore vs exploit.
Deep learning: 매 transformer 의 시퀀스 → 매 next-period price prediction.
매 응용
Airline / hotel yield management (매 origin domain).
Ride-sharing surge (Uber, Lyft).
E-commerce flash sale + personalized coupon.
Game IAP regional pricing + LTV tier offer.
💻 패턴
Elasticity 추정 (log-log regression)
importnumpyasnpimportstatsmodels.apiassm# price, qty observed across past promotionslog_p=np.log(prices)log_q=np.log(quantities)X=sm.add_constant(log_p)model=sm.OLS(log_q,X).fit()elasticity=model.params[1]# 매 typical -1.2 ~ -2.5print(f"Price elasticity: {elasticity:.2f}")
Revenue-maximizing price (constant elasticity)
defoptimal_price(cost,elasticity):"""매 monopoly markup formula: P* = c * e/(e+1) for e<-1"""ifelasticity>=-1:raiseValueError("Inelastic demand — revenue unbounded")returncost*elasticity/(elasticity+1)print(optimal_price(cost=2.0,elasticity=-1.5))# → 6.0
defpersonalized_price(base_price,user):tier=user["ltv_tier"]# "whale", "dolphin", "minnow"region_factor=REGION_PPP[user["country"]]# 매 0.4 ~ 1.2tier_factor={"whale":1.0,"dolphin":0.85,"minnow":0.6}[tier]returnround(base_price*region_factor*tier_factor,2)
Surge guardrails
defsafe_surge(base,raw_multiplier):# 매 PR backlash 의 preventcapped=min(raw_multiplier,3.0)floored=max(capped,0.7)returnbase*floored
A/B price test (Bayesian)
importnumpyasnpfromscipy.statsimportbetadefbayesian_ab(buyers_a,visitors_a,buyers_b,visitors_b,n_sim=100_000):a=beta(1+buyers_a,1+visitors_a-buyers_a).rvs(n_sim)b=beta(1+buyers_b,1+visitors_b-buyers_b).rvs(n_sim)returnfloat(np.mean(b>a))# 매 P(B > A)
매 결정 기준
상황
Approach
매 stable demand, 매 cost-plus
Rule-based + manual ladder
매 elastic, 매 abundant data
Elasticity model + grid search
매 cold start, 매 many SKUs
Contextual bandit
매 high-stakes (regulated)
Constrained optimization + audit log
기본값: 매 elasticity model 의 시작, 매 enough data 의 수집 후 contextual bandit 의 graduate.
언제: 매 elasticity 추정 의 EDA, 매 price ladder design, 매 A/B test 의 statistical analysis.
언제 X: 매 production pricing decision 의 single LLM call — 매 hallucination risk 의 too high.
❌ 안티패턴
Race-to-bottom: 매 competitor 의 blind matching → margin collapse.
Surge backlash: 매 cap 없는 multiplier → user trust 의 손상 (매 Uber NYE 8x 의 사례).
Personalization 의 leak: 매 same item 의 different price 의 user-visible → fairness backlash.
Cold-start naïveté: 매 new SKU 에 매 zero data 의 RL 의 직접 deploy → wild swing.
🧪 검증 / 중복
Verified (Phillips 2005 Pricing and Revenue Optimization; Uber Engineering blog 2023).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — full content with elasticity, bandit, A/B patterns