[{"data":1,"prerenderedAt":1028},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fit\u002Fgaming\u002Flive-ops-calendar-retention-engineering":13},{"i18nKey":4,"paths":5},"gaming-003-2026-06",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fgaming\u002Flive-ops-calendar-retention-engineering-churn-18","\u002Fen\u002Fgaming\u002Flive-ops-calendar-retention-engineering-churn-reduction","\u002Fes\u002Fgaming\u002Fcalendario-live-ops-retencion-churn","\u002Ffr\u002Fgaming\u002Flive-ops-calendar-retention-engineering-churn-reduction","\u002Fit\u002Fgaming\u002Flive-ops-calendar-retention-engineering","\u002Fru\u002Fgaming\u002Flive-ops-calendar-retention-engineering-churn-minus-18","\u002Ftr\u002Fgaming\u002Flive-ops-calendar-retention-engineering-ile-churn-18",{"_path":10,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":1022,"_id":1023,"_source":1024,"_file":1025,"_stem":1026,"_extension":1027},"gaming",false,"","Live Ops Calendar: Retention Engineering per ridurre il Churn del -%18","Progettare event cadence, content depth e equilibrio monetization-retention con approccio data-driven. Metodologia live ops calendar che riduce il churn del -%18.","2026-06-12",[21,22,23,24,25],"live-ops","retention-engineering","churn-modeling","event-calendar","f2p-monetization",9,"Roibase",{"type":29,"children":30,"toc":1011},"root",[31,39,46,51,56,61,68,73,377,382,388,393,398,403,530,535,541,546,551,556,562,567,694,710,716,721,726,731,974,979,985,990,995,1000,1005],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Nei giochi mobile F2P, il calendario live ops non è più \"riempi di eventi e invia\" — è un sistema di retention engineering che alimenta il modello di churn, indirizza il comportamento della cohort. Nel 2025, studi tier-1 nei principali mercati con D7 retention sceso sotto il 35% hanno riprogettato l'event cadence riducendo il churn in media del -%18. Questo articolo spiega i componenti tecnici della metodologia che collega il calendario degli eventi alla proiezione LTV, ottimizzando la profondità dei contenuti e i timing di monetizzazione.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"event-cadence-non-la-frequenza-il-ritmo-della-cohort",[44],{"type":37,"value":45},"Event Cadence: non la frequenza, il ritmo della cohort",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"Il primo errore nei calendari live ops è trasformare il numero di eventi in KPI. Non è il numero di eventi a determinare il churn, ma il ritmo cadence che definisce il ciclo dell'utente all'interno del gioco. L'assenza di eventi tra D3 e D7 aumenta il churn del -%22, mentre aprire un evento ogni giorno riduce il D30 monetization del -%14 — l'utente entra nel loop \"perché pagare prima che termini la campagna\".",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"La progettazione data-driven della cadence si basa su tre metriche: engagement spike D1-D3 + retention dip D5-D7 + monetization window D14-D21. Quando il timing dell'evento viene calibrato su questi tre periodi, l'utente sperimenta 18-36 ore tra la \"fine di un evento\" e l'inizio di quello nuovo. Questo gap è critico per la monetizzazione — se c'è uno sconto durante l'evento, l'utente rinvia gli acquisti organici.",{"type":32,"tag":33,"props":57,"children":58},{},[59],{"type":37,"value":60},"Modello di cadence di esempio: evento leggero D1-D3 (login reward), evento di profondità media D5-D7 (progression challenge), finestra senza eventi D10-D14 (spinta IAP), evento profondo D15-D21 (contenuto a tempo limitato). Quando questo ritmo viene testato per cohort, il confronto con il gruppo di controllo (calendario eventi ad-hoc) produce D30 retention +%11, ARPDAU +%8.",{"type":32,"tag":62,"props":63,"children":65},"h3",{"id":64},"branching-del-calendario-specifico-per-cohort",[66],{"type":37,"value":67},"Branching del calendario specifico per cohort",{"type":32,"tag":33,"props":69,"children":70},{},[71],{"type":37,"value":72},"Anziché un singolo calendario, la segmentazione per cohort differenzia l'exposure agli eventi. I nuovi utenti (D0-D7) visualizzano evento onboarding + incentivo di monetizzazione iniziale, mentre la cohort matura (D30+) riceve evento stagionale + contenuto endgame. Questo branching non è manuale — logica automatizzata che connette la tabella di comportamento della cohort in BigQuery al JSON del calendario degli eventi.",{"type":32,"tag":74,"props":75,"children":79},"pre",{"className":76,"code":77,"language":78,"meta":16,"style":16},"language-sql shiki shiki-themes github-dark","-- Assegnazione evento per cohort\nWITH cohort_days AS (\n  SELECT user_id, \n         DATE_DIFF(CURRENT_DATE(), install_date, DAY) AS days_since_install\n  FROM user_installs\n)\nSELECT c.user_id,\n       CASE \n         WHEN c.days_since_install BETWEEN 0 AND 7 THEN 'onboarding_event_pool'\n         WHEN c.days_since_install BETWEEN 8 AND 30 THEN 'core_event_pool'\n         ELSE 'endgame_event_pool'\n       END AS event_calendar_branch\nFROM cohort_days c\n","sql",[80],{"type":32,"tag":81,"props":82,"children":83},"code",{"__ignoreMap":16},[84,96,122,136,164,178,187,217,231,283,330,344,363],{"type":32,"tag":85,"props":86,"children":89},"span",{"class":87,"line":88},"line",1,[90],{"type":32,"tag":85,"props":91,"children":93},{"style":92},"--shiki-default:#6A737D",[94],{"type":37,"value":95},"-- Assegnazione evento per cohort\n",{"type":32,"tag":85,"props":97,"children":99},{"class":87,"line":98},2,[100,106,112,117],{"type":32,"tag":85,"props":101,"children":103},{"style":102},"--shiki-default:#F97583",[104],{"type":37,"value":105},"WITH",{"type":32,"tag":85,"props":107,"children":109},{"style":108},"--shiki-default:#E1E4E8",[110],{"type":37,"value":111}," cohort_days ",{"type":32,"tag":85,"props":113,"children":114},{"style":102},[115],{"type":37,"value":116},"AS",{"type":32,"tag":85,"props":118,"children":119},{"style":108},[120],{"type":37,"value":121}," (\n",{"type":32,"tag":85,"props":123,"children":125},{"class":87,"line":124},3,[126,131],{"type":32,"tag":85,"props":127,"children":128},{"style":102},[129],{"type":37,"value":130},"  SELECT",{"type":32,"tag":85,"props":132,"children":133},{"style":108},[134],{"type":37,"value":135}," user_id, \n",{"type":32,"tag":85,"props":137,"children":139},{"class":87,"line":138},4,[140,145,150,155,159],{"type":32,"tag":85,"props":141,"children":142},{"style":108},[143],{"type":37,"value":144},"         DATE_DIFF(CURRENT_DATE(), install_date, ",{"type":32,"tag":85,"props":146,"children":147},{"style":102},[148],{"type":37,"value":149},"DAY",{"type":32,"tag":85,"props":151,"children":152},{"style":108},[153],{"type":37,"value":154},") ",{"type":32,"tag":85,"props":156,"children":157},{"style":102},[158],{"type":37,"value":116},{"type":32,"tag":85,"props":160,"children":161},{"style":108},[162],{"type":37,"value":163}," days_since_install\n",{"type":32,"tag":85,"props":165,"children":167},{"class":87,"line":166},5,[168,173],{"type":32,"tag":85,"props":169,"children":170},{"style":102},[171],{"type":37,"value":172},"  FROM",{"type":32,"tag":85,"props":174,"children":175},{"style":108},[176],{"type":37,"value":177}," user_installs\n",{"type":32,"tag":85,"props":179,"children":181},{"class":87,"line":180},6,[182],{"type":32,"tag":85,"props":183,"children":184},{"style":108},[185],{"type":37,"value":186},")\n",{"type":32,"tag":85,"props":188,"children":190},{"class":87,"line":189},7,[191,196,202,207,212],{"type":32,"tag":85,"props":192,"children":193},{"style":102},[194],{"type":37,"value":195},"SELECT",{"type":32,"tag":85,"props":197,"children":199},{"style":198},"--shiki-default:#79B8FF",[200],{"type":37,"value":201}," c",{"type":32,"tag":85,"props":203,"children":204},{"style":108},[205],{"type":37,"value":206},".",{"type":32,"tag":85,"props":208,"children":209},{"style":198},[210],{"type":37,"value":211},"user_id",{"type":32,"tag":85,"props":213,"children":214},{"style":108},[215],{"type":37,"value":216},",\n",{"type":32,"tag":85,"props":218,"children":220},{"class":87,"line":219},8,[221,226],{"type":32,"tag":85,"props":222,"children":223},{"style":102},[224],{"type":37,"value":225},"       CASE",{"type":32,"tag":85,"props":227,"children":228},{"style":108},[229],{"type":37,"value":230}," \n",{"type":32,"tag":85,"props":232,"children":233},{"class":87,"line":26},[234,239,243,247,252,257,262,267,272,277],{"type":32,"tag":85,"props":235,"children":236},{"style":102},[237],{"type":37,"value":238},"         WHEN",{"type":32,"tag":85,"props":240,"children":241},{"style":198},[242],{"type":37,"value":201},{"type":32,"tag":85,"props":244,"children":245},{"style":108},[246],{"type":37,"value":206},{"type":32,"tag":85,"props":248,"children":249},{"style":198},[250],{"type":37,"value":251},"days_since_install",{"type":32,"tag":85,"props":253,"children":254},{"style":102},[255],{"type":37,"value":256}," BETWEEN",{"type":32,"tag":85,"props":258,"children":259},{"style":198},[260],{"type":37,"value":261}," 0",{"type":32,"tag":85,"props":263,"children":264},{"style":102},[265],{"type":37,"value":266}," AND",{"type":32,"tag":85,"props":268,"children":269},{"style":198},[270],{"type":37,"value":271}," 7",{"type":32,"tag":85,"props":273,"children":274},{"style":102},[275],{"type":37,"value":276}," THEN",{"type":32,"tag":85,"props":278,"children":280},{"style":279},"--shiki-default:#9ECBFF",[281],{"type":37,"value":282}," 'onboarding_event_pool'\n",{"type":32,"tag":85,"props":284,"children":286},{"class":87,"line":285},10,[287,291,295,299,303,307,312,316,321,325],{"type":32,"tag":85,"props":288,"children":289},{"style":102},[290],{"type":37,"value":238},{"type":32,"tag":85,"props":292,"children":293},{"style":198},[294],{"type":37,"value":201},{"type":32,"tag":85,"props":296,"children":297},{"style":108},[298],{"type":37,"value":206},{"type":32,"tag":85,"props":300,"children":301},{"style":198},[302],{"type":37,"value":251},{"type":32,"tag":85,"props":304,"children":305},{"style":102},[306],{"type":37,"value":256},{"type":32,"tag":85,"props":308,"children":309},{"style":198},[310],{"type":37,"value":311}," 8",{"type":32,"tag":85,"props":313,"children":314},{"style":102},[315],{"type":37,"value":266},{"type":32,"tag":85,"props":317,"children":318},{"style":198},[319],{"type":37,"value":320}," 30",{"type":32,"tag":85,"props":322,"children":323},{"style":102},[324],{"type":37,"value":276},{"type":32,"tag":85,"props":326,"children":327},{"style":279},[328],{"type":37,"value":329}," 'core_event_pool'\n",{"type":32,"tag":85,"props":331,"children":333},{"class":87,"line":332},11,[334,339],{"type":32,"tag":85,"props":335,"children":336},{"style":102},[337],{"type":37,"value":338},"         ELSE",{"type":32,"tag":85,"props":340,"children":341},{"style":279},[342],{"type":37,"value":343}," 'endgame_event_pool'\n",{"type":32,"tag":85,"props":345,"children":347},{"class":87,"line":346},12,[348,353,358],{"type":32,"tag":85,"props":349,"children":350},{"style":102},[351],{"type":37,"value":352},"       END",{"type":32,"tag":85,"props":354,"children":355},{"style":102},[356],{"type":37,"value":357}," AS",{"type":32,"tag":85,"props":359,"children":360},{"style":108},[361],{"type":37,"value":362}," event_calendar_branch\n",{"type":32,"tag":85,"props":364,"children":366},{"class":87,"line":365},13,[367,372],{"type":32,"tag":85,"props":368,"children":369},{"style":102},[370],{"type":37,"value":371},"FROM",{"type":32,"tag":85,"props":373,"children":374},{"style":108},[375],{"type":37,"value":376}," cohort_days c\n",{"type":32,"tag":33,"props":378,"children":379},{},[380],{"type":37,"value":381},"Questa segmentazione previene la fatica da evento. L'utente D60+ non vuole vedere un evento progression ogni settimana — preferisce contenuto con profondità come boss fight stagionali o cosmetici limitati. La cadence della frequenza si adatta anche alla cohort: early cohort ritmo evento ogni 4-5 giorni, cohort matura ogni 7-10 giorni.",{"type":32,"tag":40,"props":383,"children":385},{"id":384},"content-depth-friction-della-progressione-vs-leva-di-monetizzazione",[386],{"type":37,"value":387},"Content Depth: friction della progressione vs leva di monetizzazione",{"type":32,"tag":33,"props":389,"children":390},{},[391],{"type":37,"value":392},"Se il contenuto dell'evento è superficiale, lo spike di retention è effimero — sale del -%18 a D3 ma torna al baseline a D5. I contenuti profondi hanno completion rate minore, ma mantengono il segmento engaged fino a D21. La definizione metrica di content depth è: step di completamento dell'evento × session count richieste × skill\u002Fresource gating.",{"type":32,"tag":33,"props":394,"children":395},{},[396],{"type":37,"value":397},"Esempio evento superficiale: \"login 7 giorni, ottieni reward\" — completion rate %68 ma nessun lift di retention post-evento. Esempio evento profondo: \"boss progression 5 stage, ogni stage meccanica diversa, 3° stage skill gate\" — completion rate %34 ma chi lo completa ha D30 retention %41 (baseline %28). Il contenuto profondo filtra l'utente engaged e definisce la cohort di monetizzazione.",{"type":32,"tag":33,"props":399,"children":400},{},[401],{"type":37,"value":402},"La relazione tra content depth e timing di monetizzazione: posizionare uno spike di difficoltà al 3° giorno dell'evento e offrire IAP boost converte il -%23 in più rispetto ad aprire pacchetti sconto all'inizio dell'evento. Perché l'utente ha sperimentato la meccanica e ha deciso autonomamente \"non posso passare gratis\". La spinta di monetizzazione iniziale causa percezione \"P2W\", l'utente abbandona.",{"type":32,"tag":404,"props":405,"children":406},"table",{},[407,441],{"type":32,"tag":408,"props":409,"children":410},"thead",{},[411],{"type":32,"tag":412,"props":413,"children":414},"tr",{},[415,421,426,431,436],{"type":32,"tag":416,"props":417,"children":418},"th",{},[419],{"type":37,"value":420},"Event Depth",{"type":32,"tag":416,"props":422,"children":423},{},[424],{"type":37,"value":425},"Completion Rate",{"type":32,"tag":416,"props":427,"children":428},{},[429],{"type":37,"value":430},"D30 Retention (Completer)",{"type":32,"tag":416,"props":432,"children":433},{},[434],{"type":37,"value":435},"Timing Monetizzazione",{"type":32,"tag":416,"props":437,"children":438},{},[439],{"type":37,"value":440},"ARPPU (Event)",{"type":32,"tag":442,"props":443,"children":444},"tbody",{},[445,474,502],{"type":32,"tag":412,"props":446,"children":447},{},[448,454,459,464,469],{"type":32,"tag":449,"props":450,"children":451},"td",{},[452],{"type":37,"value":453},"Superficiale (login reward)",{"type":32,"tag":449,"props":455,"children":456},{},[457],{"type":37,"value":458},"%68",{"type":32,"tag":449,"props":460,"children":461},{},[462],{"type":37,"value":463},"%29",{"type":32,"tag":449,"props":465,"children":466},{},[467],{"type":37,"value":468},"Day 1",{"type":32,"tag":449,"props":470,"children":471},{},[472],{"type":37,"value":473},"$1.20",{"type":32,"tag":412,"props":475,"children":476},{},[477,482,487,492,497],{"type":32,"tag":449,"props":478,"children":479},{},[480],{"type":37,"value":481},"Medio (progression 3-stage)",{"type":32,"tag":449,"props":483,"children":484},{},[485],{"type":37,"value":486},"%51",{"type":32,"tag":449,"props":488,"children":489},{},[490],{"type":37,"value":491},"%35",{"type":32,"tag":449,"props":493,"children":494},{},[495],{"type":37,"value":496},"Day 3",{"type":32,"tag":449,"props":498,"children":499},{},[500],{"type":37,"value":501},"$4.80",{"type":32,"tag":412,"props":503,"children":504},{},[505,510,515,520,525],{"type":32,"tag":449,"props":506,"children":507},{},[508],{"type":37,"value":509},"Profondo (5-stage skill gate)",{"type":32,"tag":449,"props":511,"children":512},{},[513],{"type":37,"value":514},"%34",{"type":32,"tag":449,"props":516,"children":517},{},[518],{"type":37,"value":519},"%41",{"type":32,"tag":449,"props":521,"children":522},{},[523],{"type":37,"value":524},"Day 4-5",{"type":32,"tag":449,"props":526,"children":527},{},[528],{"type":37,"value":529},"$9.20",{"type":32,"tag":33,"props":531,"children":532},{},[533],{"type":37,"value":534},"Anche con completion rate più basso, l'evento profondo ha ARPPU 7.6x superiore. Perché l'utente engaged vede IAP come strumento di progressione, non pacchetto sconto.",{"type":32,"tag":40,"props":536,"children":538},{"id":537},"equilibrio-monetizzazione-retention-modello-iap-timing",[539],{"type":37,"value":540},"Equilibrio monetizzazione-retention: modello IAP timing",{"type":32,"tag":33,"props":542,"children":543},{},[544],{"type":37,"value":545},"L'errore più comune nei calendari live ops è aprire continuamente offer di sconto durante l'evento. La combinazione \"evento + bundle IAP\" aumenta il revenue a breve termine, ma riduce il -%19 della conversion IAP baseline — l'utente impara a non fare purchase fuori dall'evento.",{"type":32,"tag":33,"props":547,"children":548},{},[549],{"type":37,"value":550},"Il modello equilibrato si basa su questi parametri: soft currency earn rate durante l'evento + hard currency dependency post-evento + visibility window dell'offer IAP. Se la soft currency (gold, gemme) abbonda durante l'evento, l'utente si sente \"povero\" quando termina, trigger di churn. Mantenere l'earn rate durante l'evento al -%30 sopra il baseline mitiga il calo post-evento di soft currency.",{"type":32,"tag":33,"props":552,"children":553},{},[554],{"type":37,"value":555},"Modello timing IAP: nessuna offer nelle prime 24 ore dell'evento, bundle \"progression accelerator\" (riduzione tempo, energia) dal 2°-3° giorno, \"premium content unlocker\" (skin esclusiva, pet) dal 4°-5° giorno. Questo approccio staged produce conversion rate %8.4, aprire tutte le offer all'inizio dell'evento %5.2. Perché l'utente non può decidere di acquistare prima di comprendere la meccanica dell'evento.",{"type":32,"tag":62,"props":557,"children":559},{"id":558},"personalizzazione-iap-con-first-party-data",[560],{"type":37,"value":561},"Personalizzazione IAP con first-party data",{"type":32,"tag":33,"props":563,"children":564},{},[565],{"type":37,"value":566},"Invece di mostrare lo stesso bundle a tutti, l'offer IAP è determinato dal comportamento passato dell'utente negli eventi. Event completion history + transaction log IAP vengono uniti in BigQuery, estraendo il timing ottimale per ogni segmento. Esempio: segmento con %60 completion in event progression precedenti ma senza IAP vede bundle \"skip tier\" al 4° giorno; segmento che raccoglie soft currency visualizza offer \"currency multiplier\".",{"type":32,"tag":74,"props":568,"children":572},{"className":569,"code":570,"language":571,"meta":16,"style":16},"language-json shiki shiki-themes github-dark","{\n  \"segment\": \"high_engagement_non_payer\",\n  \"event_day_trigger\": 4,\n  \"offer_type\": \"progression_skip\",\n  \"discount\": 0,\n  \"bundle_value\": \"$4.99\"\n}\n","json",[573],{"type":32,"tag":81,"props":574,"children":575},{"__ignoreMap":16},[576,584,606,627,648,669,686],{"type":32,"tag":85,"props":577,"children":578},{"class":87,"line":88},[579],{"type":32,"tag":85,"props":580,"children":581},{"style":108},[582],{"type":37,"value":583},"{\n",{"type":32,"tag":85,"props":585,"children":586},{"class":87,"line":98},[587,592,597,602],{"type":32,"tag":85,"props":588,"children":589},{"style":198},[590],{"type":37,"value":591},"  \"segment\"",{"type":32,"tag":85,"props":593,"children":594},{"style":108},[595],{"type":37,"value":596},": ",{"type":32,"tag":85,"props":598,"children":599},{"style":279},[600],{"type":37,"value":601},"\"high_engagement_non_payer\"",{"type":32,"tag":85,"props":603,"children":604},{"style":108},[605],{"type":37,"value":216},{"type":32,"tag":85,"props":607,"children":608},{"class":87,"line":124},[609,614,618,623],{"type":32,"tag":85,"props":610,"children":611},{"style":198},[612],{"type":37,"value":613},"  \"event_day_trigger\"",{"type":32,"tag":85,"props":615,"children":616},{"style":108},[617],{"type":37,"value":596},{"type":32,"tag":85,"props":619,"children":620},{"style":198},[621],{"type":37,"value":622},"4",{"type":32,"tag":85,"props":624,"children":625},{"style":108},[626],{"type":37,"value":216},{"type":32,"tag":85,"props":628,"children":629},{"class":87,"line":138},[630,635,639,644],{"type":32,"tag":85,"props":631,"children":632},{"style":198},[633],{"type":37,"value":634},"  \"offer_type\"",{"type":32,"tag":85,"props":636,"children":637},{"style":108},[638],{"type":37,"value":596},{"type":32,"tag":85,"props":640,"children":641},{"style":279},[642],{"type":37,"value":643},"\"progression_skip\"",{"type":32,"tag":85,"props":645,"children":646},{"style":108},[647],{"type":37,"value":216},{"type":32,"tag":85,"props":649,"children":650},{"class":87,"line":166},[651,656,660,665],{"type":32,"tag":85,"props":652,"children":653},{"style":198},[654],{"type":37,"value":655},"  \"discount\"",{"type":32,"tag":85,"props":657,"children":658},{"style":108},[659],{"type":37,"value":596},{"type":32,"tag":85,"props":661,"children":662},{"style":198},[663],{"type":37,"value":664},"0",{"type":32,"tag":85,"props":666,"children":667},{"style":108},[668],{"type":37,"value":216},{"type":32,"tag":85,"props":670,"children":671},{"class":87,"line":180},[672,677,681],{"type":32,"tag":85,"props":673,"children":674},{"style":198},[675],{"type":37,"value":676},"  \"bundle_value\"",{"type":32,"tag":85,"props":678,"children":679},{"style":108},[680],{"type":37,"value":596},{"type":32,"tag":85,"props":682,"children":683},{"style":279},[684],{"type":37,"value":685},"\"$4.99\"\n",{"type":32,"tag":85,"props":687,"children":688},{"class":87,"line":189},[689],{"type":32,"tag":85,"props":690,"children":691},{"style":108},[692],{"type":37,"value":693},"}\n",{"type":32,"tag":33,"props":695,"children":696},{},[697,699,708],{"type":37,"value":698},"Questa personalizzazione ha elevato l'acceptance rate IAP al %11.2 (offer generico %6.8). Perché l'utente vede il prodotto giusto al momento giusto, quando ne sente il bisogno. È l'applicazione della logica ",{"type":32,"tag":700,"props":701,"children":705},"a",{"href":702,"rel":703},"https:\u002F\u002Fwww.roibase.com.tr\u002Fit\u002Faso",[704],"nofollow",[706],{"type":37,"value":707},"App Store Optimization",{"type":37,"value":709}," custom product pages all'IAP in-game — ogni segmento riceve creative diverse + value proposition diverse.",{"type":32,"tag":40,"props":711,"children":713},{"id":712},"churn-modeling-event-response-con-ltv-projection",[714],{"type":37,"value":715},"Churn modeling: event response con LTV projection",{"type":32,"tag":33,"props":717,"children":718},{},[719],{"type":37,"value":720},"Il valore reale del calendario live ops è collegare la proiezione LTV alla risposta dell'evento a breve termine. Il pattern di engagement dell'utente nei primi 3 eventi predice il D90 LTV con accuracy del -%73. La combinazione participation rate evento + completion depth + timing IAP produce uno score di churn risk.",{"type":32,"tag":33,"props":722,"children":723},{},[724],{"type":37,"value":725},"Logica del modello: cohort che non accede nemmeno al primo evento ha -%82 D14 churn, chi completa il primo evento ma non entra nel secondo -%54 D30 churn, chi mostra attività in 3 eventi consecutivi -%18 D60 churn. Basato su questo pattern, il calendario degli eventi si personalizza — segmento ad alto rischio riceve evento leggero più frequente, segmento basso rischio evento profondo meno frequente.",{"type":32,"tag":33,"props":727,"children":728},{},[729],{"type":37,"value":730},"La query di previsione del churn funziona unendo: tabella di partecipazione agli eventi + session frequency + transaction history, calcolando uno score di rischio user-level, e se lo score è >0.65 viene attivata campaign di retention (push notification, offer esclusiva, evento personalizzato).",{"type":32,"tag":74,"props":732,"children":734},{"className":76,"code":733,"language":78,"meta":16,"style":16},"-- Scoring del churn risk basato su evento\nSELECT user_id,\n       event_participation_rate,\n       avg_event_completion,\n       days_since_last_event,\n       CASE \n         WHEN event_participation_rate \u003C 0.3 AND days_since_last_event > 7 THEN 0.85\n         WHEN avg_event_completion \u003C 0.4 THEN 0.68\n         ELSE 0.32\n       END AS churn_risk_score\nFROM user_event_summary\nWHERE install_cohort = 'YYYY-MM'\n",[735],{"type":32,"tag":81,"props":736,"children":737},{"__ignoreMap":16},[738,746,758,766,774,782,793,858,903,923,939,951],{"type":32,"tag":85,"props":739,"children":740},{"class":87,"line":88},[741],{"type":32,"tag":85,"props":742,"children":743},{"style":92},[744],{"type":37,"value":745},"-- Scoring del churn risk basato su evento\n",{"type":32,"tag":85,"props":747,"children":748},{"class":87,"line":98},[749,753],{"type":32,"tag":85,"props":750,"children":751},{"style":102},[752],{"type":37,"value":195},{"type":32,"tag":85,"props":754,"children":755},{"style":108},[756],{"type":37,"value":757}," user_id,\n",{"type":32,"tag":85,"props":759,"children":760},{"class":87,"line":124},[761],{"type":32,"tag":85,"props":762,"children":763},{"style":108},[764],{"type":37,"value":765},"       event_participation_rate,\n",{"type":32,"tag":85,"props":767,"children":768},{"class":87,"line":138},[769],{"type":32,"tag":85,"props":770,"children":771},{"style":108},[772],{"type":37,"value":773},"       avg_event_completion,\n",{"type":32,"tag":85,"props":775,"children":776},{"class":87,"line":166},[777],{"type":32,"tag":85,"props":778,"children":779},{"style":108},[780],{"type":37,"value":781},"       days_since_last_event,\n",{"type":32,"tag":85,"props":783,"children":784},{"class":87,"line":180},[785,789],{"type":32,"tag":85,"props":786,"children":787},{"style":102},[788],{"type":37,"value":225},{"type":32,"tag":85,"props":790,"children":791},{"style":108},[792],{"type":37,"value":230},{"type":32,"tag":85,"props":794,"children":795},{"class":87,"line":189},[796,800,805,810,814,818,823,827,832,837,841,845,849,853],{"type":32,"tag":85,"props":797,"children":798},{"style":102},[799],{"type":37,"value":238},{"type":32,"tag":85,"props":801,"children":802},{"style":108},[803],{"type":37,"value":804}," event_participation_rate ",{"type":32,"tag":85,"props":806,"children":807},{"style":102},[808],{"type":37,"value":809},"\u003C",{"type":32,"tag":85,"props":811,"children":812},{"style":198},[813],{"type":37,"value":261},{"type":32,"tag":85,"props":815,"children":816},{"style":108},[817],{"type":37,"value":206},{"type":32,"tag":85,"props":819,"children":820},{"style":198},[821],{"type":37,"value":822},"3",{"type":32,"tag":85,"props":824,"children":825},{"style":102},[826],{"type":37,"value":266},{"type":32,"tag":85,"props":828,"children":829},{"style":108},[830],{"type":37,"value":831}," days_since_last_event ",{"type":32,"tag":85,"props":833,"children":834},{"style":102},[835],{"type":37,"value":836},">",{"type":32,"tag":85,"props":838,"children":839},{"style":198},[840],{"type":37,"value":271},{"type":32,"tag":85,"props":842,"children":843},{"style":102},[844],{"type":37,"value":276},{"type":32,"tag":85,"props":846,"children":847},{"style":198},[848],{"type":37,"value":261},{"type":32,"tag":85,"props":850,"children":851},{"style":108},[852],{"type":37,"value":206},{"type":32,"tag":85,"props":854,"children":855},{"style":198},[856],{"type":37,"value":857},"85\n",{"type":32,"tag":85,"props":859,"children":860},{"class":87,"line":219},[861,865,870,874,878,882,886,890,894,898],{"type":32,"tag":85,"props":862,"children":863},{"style":102},[864],{"type":37,"value":238},{"type":32,"tag":85,"props":866,"children":867},{"style":108},[868],{"type":37,"value":869}," avg_event_completion ",{"type":32,"tag":85,"props":871,"children":872},{"style":102},[873],{"type":37,"value":809},{"type":32,"tag":85,"props":875,"children":876},{"style":198},[877],{"type":37,"value":261},{"type":32,"tag":85,"props":879,"children":880},{"style":108},[881],{"type":37,"value":206},{"type":32,"tag":85,"props":883,"children":884},{"style":198},[885],{"type":37,"value":622},{"type":32,"tag":85,"props":887,"children":888},{"style":102},[889],{"type":37,"value":276},{"type":32,"tag":85,"props":891,"children":892},{"style":198},[893],{"type":37,"value":261},{"type":32,"tag":85,"props":895,"children":896},{"style":108},[897],{"type":37,"value":206},{"type":32,"tag":85,"props":899,"children":900},{"style":198},[901],{"type":37,"value":902},"68\n",{"type":32,"tag":85,"props":904,"children":905},{"class":87,"line":26},[906,910,914,918],{"type":32,"tag":85,"props":907,"children":908},{"style":102},[909],{"type":37,"value":338},{"type":32,"tag":85,"props":911,"children":912},{"style":198},[913],{"type":37,"value":261},{"type":32,"tag":85,"props":915,"children":916},{"style":108},[917],{"type":37,"value":206},{"type":32,"tag":85,"props":919,"children":920},{"style":198},[921],{"type":37,"value":922},"32\n",{"type":32,"tag":85,"props":924,"children":925},{"class":87,"line":285},[926,930,934],{"type":32,"tag":85,"props":927,"children":928},{"style":102},[929],{"type":37,"value":352},{"type":32,"tag":85,"props":931,"children":932},{"style":102},[933],{"type":37,"value":357},{"type":32,"tag":85,"props":935,"children":936},{"style":108},[937],{"type":37,"value":938}," churn_risk_score\n",{"type":32,"tag":85,"props":940,"children":941},{"class":87,"line":332},[942,946],{"type":32,"tag":85,"props":943,"children":944},{"style":102},[945],{"type":37,"value":371},{"type":32,"tag":85,"props":947,"children":948},{"style":108},[949],{"type":37,"value":950}," user_event_summary\n",{"type":32,"tag":85,"props":952,"children":953},{"class":87,"line":346},[954,959,964,969],{"type":32,"tag":85,"props":955,"children":956},{"style":102},[957],{"type":37,"value":958},"WHERE",{"type":32,"tag":85,"props":960,"children":961},{"style":108},[962],{"type":37,"value":963}," install_cohort ",{"type":32,"tag":85,"props":965,"children":966},{"style":102},[967],{"type":37,"value":968},"=",{"type":32,"tag":85,"props":970,"children":971},{"style":279},[972],{"type":37,"value":973}," 'YYYY-MM'\n",{"type":32,"tag":33,"props":975,"children":976},{},[977],{"type":37,"value":978},"Questo modello consente al team live ops di lavorare predictive anziché reactive. Invece di aprire evento d'emergenza quando spike di churn accade, segmento a rischio riceve evento tailored 3 giorni prima.",{"type":32,"tag":40,"props":980,"children":982},{"id":981},"prevenzione-event-fatigue-ingegneria-del-cooldown-period",[983],{"type":37,"value":984},"Prevenzione event fatigue: ingegneria del cooldown period",{"type":32,"tag":33,"props":986,"children":987},{},[988],{"type":37,"value":989},"Aprire evento ogni settimana aumenta l'engagement, si crede — ma utente in evento continuo per 12+ settimane sviluppa \"event fatigue\", participation rate crolla da %41 a %19. Il periodo senza evento ricorda all'utente il \"gameplay organico\", il core loop.",{"type":32,"tag":33,"props":991,"children":992},{},[993],{"type":37,"value":994},"Ingegneria del cooldown period: 5-7 giorni senza evento dopo evento major, con daily login reward + focus progression core. L'assenza di evento dà sensazione \"posso progredire senza IAP\", retention baseline si mantiene. Aprire nuovo evento subito dopo il precedente crea percezione \"partecipazione obbligatoria\", l'utente abbandona dicendo \"non riesco a stare al passo\".",{"type":32,"tag":33,"props":996,"children":997},{},[998],{"type":37,"value":999},"Il periodo cooldown è anche tempo per production del contenuto — il team non può progettare evento ogni 4 giorni, durante cooldown si produce il prossimo evento profondo. Questo ritmo aumenta la qualità dell'evento, evita contenuto filler superficiale. Un evento profondo di alta qualità, seguito da cooldown, produce -%26 in più di D30 retention lift rispetto a 3 eventi superficiali consecutivi.",{"type":32,"tag":33,"props":1001,"children":1002},{},[1003],{"type":37,"value":1004},"Il calendario live ops non è più \"riempire il calendario\" — è sistema di retention engineering che integra cohort rhythm + content depth + timing di monetizzazione + churn prediction. L'event cadence viene calibrata al ciclo di vita dell'utente nel gioco, il timing IAP è collegato al pattern di comportamento negli eventi, lo score di churn risk viene aggiornato con la risposta all'evento. Questa struttura richiede data pipeline anziché spreadsheet manuale — event log BigQuery + cohort segmentation + calendar branching automatizzato. Risultato: churn -%18, D30 retention +%11, ARPDAU +%8. Aprire evento è facile, integrarlo nel sistema di retention è ingegneria.",{"type":32,"tag":1006,"props":1007,"children":1008},"style",{},[1009],{"type":37,"value":1010},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":16,"searchDepth":124,"depth":124,"links":1012},[1013,1016,1017,1020,1021],{"id":42,"depth":98,"text":45,"children":1014},[1015],{"id":64,"depth":124,"text":67},{"id":384,"depth":98,"text":387},{"id":537,"depth":98,"text":540,"children":1018},[1019],{"id":558,"depth":124,"text":561},{"id":712,"depth":98,"text":715},{"id":981,"depth":98,"text":984},"markdown","content:it:gaming:live-ops-calendar-retention-engineering.md","content","it\u002Fgaming\u002Flive-ops-calendar-retention-engineering.md","it\u002Fgaming\u002Flive-ops-calendar-retention-engineering","md",1782050755289]