"매 each pack purchased unlocks the next bigger one". Staircase monetization 은 매 mobile F2P game 의 ascending IAP offer sequence — 매 user 가 $0.99 → $4.99 → $19.99 → $99.99 의 step 을 sequentially 만 unlock. 매 commitment-and-consistency 심리, anchoring, sunk cost 의 활용 — 매 Coin Master, Royal Match, Monopoly Go 의 standard.
매 핵심
매 메커니즘
Locked staircase: 매 step N 은 step N-1 구매 후 만 visible.
Increasing value (face): 매 step 마다 gem/coin 양 의 % 가 증가 (e.g. +20% better deal).
Time gate: 매 24h cooldown 으로 urgency 생성.
Reset trigger: 매 step 8~10 도달 시 staircase 의 reset (or branch).
Personalization: 매 LiveOps 의 player segment 별 pack value tuning.
매 심리 leverage
Commitment & consistency (Cialdini): $0.99 결제 후 매 다음 의 escalation 의 "이미 의 spent" mindset.
Anchoring: 매 작은 첫 step 이 reference price.
Loss aversion: "이 deal 의 24h 후 의 사라진다".
Variable reward: 매 step 의 better-than-average value 가 dopamine hit.
매 응용
Match-3 — 매 Royal Match, Candy Crush 의 starter pack ladder.
Casual — 매 Coin Master 의 spin pack staircase.
Mid-core — 매 Monopoly Go 의 sticker pack escalation.
exportconstpurchaseStaircase=onCall(async(req)=>{const{uid,sku,receipt}=req.data;constvalid=awaitverifyReceipt(receipt);// App Store / Play
if(!valid)thrownewHttpsError("permission-denied","bad receipt");constref=db.collection("users").doc(uid);awaitdb.runTransaction(async(tx)=>{constu=(awaittx.get(ref)).data();if(u.staircase.expectedSku!==sku)thrownewHttpsError("failed-precondition","wrong step");conststep=LADDER[u.staircase.currentStep];tx.update(ref,{gems: FieldValue.increment(step.gems),"staircase.currentStep":FieldValue.increment(1),"staircase.lockedUntil":Timestamp.fromMillis(Date.now()+24*3600*1000),});});return{ok: true};});