[{"data":1,"prerenderedAt":1148},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fes\u002Fgaming\u002Foptimizacion-bayesiana-precios-f2p-movil":11},{"i18nKey":4,"paths":5},"gaming-002-2026-05",{"en":6,"es":7,"fr":8,"it":9,"ru":10},"\u002Fen\u002Fgaming\u002Fmobile-f2p-bayesian-price-optimization","\u002Fes\u002Fgaming\u002Foptimizacion-bayesiana-precios-f2p-movil","\u002Ffr\u002Fgaming\u002Foptimisasi-harga-bayesian-f2p-mobile","\u002Fit\u002Fgaming\u002Fottimizzazione-prezzo-bayesian-f2p-mobile","\u002Fru\u002Fgaming\u002Fbayesian-iap-optimizasyonu",{"_path":7,"_dir":12,"_draft":13,"_partial":13,"_locale":14,"title":15,"description":16,"publishedAt":17,"modifiedAt":17,"category":12,"i18nKey":4,"tags":18,"readingTime":24,"author":25,"body":26,"_type":1142,"_id":1143,"_source":1144,"_file":1145,"_stem":1146,"_extension":1147},"gaming",false,"","Optimización Bayesiana de Precios en Mobile F2P","IAP con estimación posterior y optimización segmentada: modelo probabilístico para balance conversion, revenue y LTV en juegos móviles.","2026-05-26",[19,20,21,22,23],"monetizacion-f2p","pruebas-bayesianas","optimizacion-iap","price-ladder","juegos-moviles",8,"Roibase",{"type":27,"children":28,"toc":1133},"root",[29,37,44,49,69,74,79,85,90,101,111,121,362,367,373,378,508,513,523,528,538,561,577,583,588,593,789,794,799,805,810,815,1013,1018,1026,1065,1070,1076,1081,1091,1101,1111,1116,1122,1127],{"type":30,"tag":31,"props":32,"children":33},"element","p",{},[34],{"type":35,"value":36},"text","En juegos mobile F2P, el pricing de IAP sigue siendo guiado por intuición: el ladder $0.99, $4.99, $9.99 se copia, si la conversión baja se reduce el precio, si sube se añade \"más valor\". Pero el mismo pack de $4.99 puede mostrar 2.1% de conversión en usuarios orgánicos, 1.4% en cohorts de UA, y 8.7% en whales D30+. El test A\u002FB clásico falla aquí: o el sample size se dispara, o la espera llega a 6 semanas, o no está claro qué métrica optimizar (revenue vs. conversión). La optimización Bayesiana de precios resuelve estos tres problemas simultáneamente: captura señales tempranas con distribuciones posteriores, modela el impacto LTV a nivel segmento, gestiona el equilibrio revenue-conversión en un marco probabilístico.",{"type":30,"tag":38,"props":39,"children":41},"h2",{"id":40},"el-cuello-de-botella-del-ab-frequentist-en-pricing-de-iap",[42],{"type":35,"value":43},"El Cuello de Botella del A\u002FB Frequentist en Pricing de IAP",{"type":30,"tag":31,"props":45,"children":46},{},[47],{"type":35,"value":48},"Un test A\u002FB estándar calcula el tamaño de muestra basándose en conversion rate para detectar una diferencia p\u003C0.05 entre dos precios. Baseline del 2% de conversión, objetivo de 10% de lift relativo, power del 80% requieren ~15.000 exposiciones. Para un IAP de gama media, esto representa 4-6 semanas. A medida que se prolonga el test:",{"type":30,"tag":50,"props":51,"children":52},"ul",{},[53,59,64],{"type":30,"tag":54,"props":55,"children":56},"li",{},[57],{"type":35,"value":58},"Los CPIs en campañas Meta suben (fatiga creativa)",{"type":30,"tag":54,"props":60,"children":61},{},[62],{"type":35,"value":63},"El mix de cohorts orgánicos cambia (efecto estacional, cambios en ranking ASO)",{"type":30,"tag":54,"props":65,"children":66},{},[67],{"type":35,"value":68},"Un juego rival lanza nuevo evento, la elasticidad de demanda se rompe",{"type":30,"tag":31,"props":70,"children":71},{},[72],{"type":35,"value":73},"El problema más crítico es el split revenue-conversión: pasar de $2.99 a $4.99 reduce conversión de 2.1% a 1.7%, pero sube revenue por mille un 42%. ¿Sobre qué métrica se calcula el p-value? Muchos estudios dirán \"ganamos revenue\" y avanzan, pero cuando se modelan LTVs a 7 días, descubren que el segment whale sufre 31% de churn y la nueva tarifa daña la retención.",{"type":30,"tag":31,"props":75,"children":76},{},[77],{"type":35,"value":78},"El enfoque Bayesiano mantiene conversión y revenue en el mismo modelo posterior: creencia previa (distribución beta de tests anteriores) + observación (datos nuevos) → posterior (creencia actualizada). Desde el día 3 el test puede decir \"hay 73% de probabilidad de que $4.99 sea mejor\", al día 7 sube a 89%, y al día 10, cuando el remordimiento cae por debajo de 1%, se detiene el test.",{"type":30,"tag":38,"props":80,"children":82},{"id":81},"construcción-de-prior-datos-históricos-en-lugar-de-benchmarks",[83],{"type":35,"value":84},"Construcción de Prior: Datos Históricos en Lugar de Benchmarks",{"type":30,"tag":31,"props":86,"children":87},{},[88],{"type":35,"value":89},"La calidad del test Bayesiano depende de construir bien el prior. Mucha documentación dice \"toma un prior uniforme, que hable el data\", pero si tienes 6 meses de historia IAP en mobile F2P, desperdiciar esa fuente es irracional. Proceso de construcción de prior:",{"type":30,"tag":31,"props":91,"children":92},{},[93,99],{"type":30,"tag":94,"props":95,"children":96},"strong",{},[97],{"type":35,"value":98},"Paso 1:",{"type":35,"value":100}," Extrae la distribución de conversion rates de todos los tier de IAP en los últimos 6 meses. El rango $0.99-$2.99 muestra conversión de 1.8%-3.2%, mediana 2.4%. Los parámetros beta distribution que reflejan esto son alpha=24, beta=976 (media=alpha\u002F(alpha+beta)≈0.024).",{"type":30,"tag":31,"props":102,"children":103},{},[104,109],{"type":30,"tag":94,"props":105,"children":106},{},[107],{"type":35,"value":108},"Paso 2:",{"type":35,"value":110}," Añade varianza a nivel segmento. El cohort orgánico muestra conversión 18% más alta que el cohort UA (alpha=28, beta=972). Para usuarios whales D30+: conversión 6.8%, alpha=68, beta=932.",{"type":30,"tag":31,"props":112,"children":113},{},[114,119],{"type":30,"tag":94,"props":115,"children":116},{},[117],{"type":35,"value":118},"Paso 3:",{"type":35,"value":120}," Fit de curva elasticidad de precios. Datos históricos muestran que el cambio $1.99 → $2.99 redujo conversión un 14% en promedio. Si el nuevo test es $2.99 → $3.99, codifica este slope en el prior:",{"type":30,"tag":122,"props":123,"children":127},"pre",{"className":124,"code":125,"language":126,"meta":14,"style":14},"language-python shiki shiki-themes github-dark","def price_elasticity_prior(base_price, new_price, base_conversion):\n    slope = -0.14 \u002F 1.00  # Caída 14% por $1 de aumento\n    delta = new_price - base_price\n    expected_drop = slope * delta\n    adjusted_conversion = base_conversion * (1 + expected_drop)\n    alpha = adjusted_conversion * 1000\n    beta = 1000 - alpha\n    return alpha, beta\n","python",[128],{"type":30,"tag":129,"props":130,"children":131},"code",{"__ignoreMap":14},[132,156,197,225,253,295,322,349],{"type":30,"tag":133,"props":134,"children":137},"span",{"class":135,"line":136},"line",1,[138,144,150],{"type":30,"tag":133,"props":139,"children":141},{"style":140},"--shiki-default:#F97583",[142],{"type":35,"value":143},"def",{"type":30,"tag":133,"props":145,"children":147},{"style":146},"--shiki-default:#B392F0",[148],{"type":35,"value":149}," price_elasticity_prior",{"type":30,"tag":133,"props":151,"children":153},{"style":152},"--shiki-default:#E1E4E8",[154],{"type":35,"value":155},"(base_price, new_price, base_conversion):\n",{"type":30,"tag":133,"props":157,"children":159},{"class":135,"line":158},2,[160,165,170,175,181,186,191],{"type":30,"tag":133,"props":161,"children":162},{"style":152},[163],{"type":35,"value":164},"    slope ",{"type":30,"tag":133,"props":166,"children":167},{"style":140},[168],{"type":35,"value":169},"=",{"type":30,"tag":133,"props":171,"children":172},{"style":140},[173],{"type":35,"value":174}," -",{"type":30,"tag":133,"props":176,"children":178},{"style":177},"--shiki-default:#79B8FF",[179],{"type":35,"value":180},"0.14",{"type":30,"tag":133,"props":182,"children":183},{"style":140},[184],{"type":35,"value":185}," \u002F",{"type":30,"tag":133,"props":187,"children":188},{"style":177},[189],{"type":35,"value":190}," 1.00",{"type":30,"tag":133,"props":192,"children":194},{"style":193},"--shiki-default:#6A737D",[195],{"type":35,"value":196},"  # Caída 14% por $1 de aumento\n",{"type":30,"tag":133,"props":198,"children":200},{"class":135,"line":199},3,[201,206,210,215,220],{"type":30,"tag":133,"props":202,"children":203},{"style":152},[204],{"type":35,"value":205},"    delta ",{"type":30,"tag":133,"props":207,"children":208},{"style":140},[209],{"type":35,"value":169},{"type":30,"tag":133,"props":211,"children":212},{"style":152},[213],{"type":35,"value":214}," new_price ",{"type":30,"tag":133,"props":216,"children":217},{"style":140},[218],{"type":35,"value":219},"-",{"type":30,"tag":133,"props":221,"children":222},{"style":152},[223],{"type":35,"value":224}," base_price\n",{"type":30,"tag":133,"props":226,"children":228},{"class":135,"line":227},4,[229,234,238,243,248],{"type":30,"tag":133,"props":230,"children":231},{"style":152},[232],{"type":35,"value":233},"    expected_drop ",{"type":30,"tag":133,"props":235,"children":236},{"style":140},[237],{"type":35,"value":169},{"type":30,"tag":133,"props":239,"children":240},{"style":152},[241],{"type":35,"value":242}," slope ",{"type":30,"tag":133,"props":244,"children":245},{"style":140},[246],{"type":35,"value":247},"*",{"type":30,"tag":133,"props":249,"children":250},{"style":152},[251],{"type":35,"value":252}," delta\n",{"type":30,"tag":133,"props":254,"children":256},{"class":135,"line":255},5,[257,262,266,271,275,280,285,290],{"type":30,"tag":133,"props":258,"children":259},{"style":152},[260],{"type":35,"value":261},"    adjusted_conversion ",{"type":30,"tag":133,"props":263,"children":264},{"style":140},[265],{"type":35,"value":169},{"type":30,"tag":133,"props":267,"children":268},{"style":152},[269],{"type":35,"value":270}," base_conversion ",{"type":30,"tag":133,"props":272,"children":273},{"style":140},[274],{"type":35,"value":247},{"type":30,"tag":133,"props":276,"children":277},{"style":152},[278],{"type":35,"value":279}," (",{"type":30,"tag":133,"props":281,"children":282},{"style":177},[283],{"type":35,"value":284},"1",{"type":30,"tag":133,"props":286,"children":287},{"style":140},[288],{"type":35,"value":289}," +",{"type":30,"tag":133,"props":291,"children":292},{"style":152},[293],{"type":35,"value":294}," expected_drop)\n",{"type":30,"tag":133,"props":296,"children":298},{"class":135,"line":297},6,[299,304,308,313,317],{"type":30,"tag":133,"props":300,"children":301},{"style":152},[302],{"type":35,"value":303},"    alpha ",{"type":30,"tag":133,"props":305,"children":306},{"style":140},[307],{"type":35,"value":169},{"type":30,"tag":133,"props":309,"children":310},{"style":152},[311],{"type":35,"value":312}," adjusted_conversion ",{"type":30,"tag":133,"props":314,"children":315},{"style":140},[316],{"type":35,"value":247},{"type":30,"tag":133,"props":318,"children":319},{"style":177},[320],{"type":35,"value":321}," 1000\n",{"type":30,"tag":133,"props":323,"children":325},{"class":135,"line":324},7,[326,331,335,340,344],{"type":30,"tag":133,"props":327,"children":328},{"style":152},[329],{"type":35,"value":330},"    beta ",{"type":30,"tag":133,"props":332,"children":333},{"style":140},[334],{"type":35,"value":169},{"type":30,"tag":133,"props":336,"children":337},{"style":177},[338],{"type":35,"value":339}," 1000",{"type":30,"tag":133,"props":341,"children":342},{"style":140},[343],{"type":35,"value":174},{"type":30,"tag":133,"props":345,"children":346},{"style":152},[347],{"type":35,"value":348}," alpha\n",{"type":30,"tag":133,"props":350,"children":351},{"class":135,"line":24},[352,357],{"type":30,"tag":133,"props":353,"children":354},{"style":140},[355],{"type":35,"value":356},"    return",{"type":30,"tag":133,"props":358,"children":359},{"style":152},[360],{"type":35,"value":361}," alpha, beta\n",{"type":30,"tag":31,"props":363,"children":364},{},[365],{"type":35,"value":366},"Este enfoque refleja el comportamiento de cada cohort del juego, no un benchmark externo \"conversión industria 2.5%\".",{"type":30,"tag":38,"props":368,"children":370},{"id":369},"estimación-posterior-con-optimización-segmentada-de-price-ladder",[371],{"type":35,"value":372},"Estimación Posterior con Optimización Segmentada de Price Ladder",{"type":30,"tag":31,"props":374,"children":375},{},[376],{"type":35,"value":377},"Setup del test: starter pack $2.99 vs. $3.99, 7 días dirigido al tráfico UA con split 50\u002F50. Pero la segmentación es obligatoria:",{"type":30,"tag":379,"props":380,"children":381},"table",{},[382,411],{"type":30,"tag":383,"props":384,"children":385},"thead",{},[386],{"type":30,"tag":387,"props":388,"children":389},"tr",{},[390,396,401,406],{"type":30,"tag":391,"props":392,"children":393},"th",{},[394],{"type":35,"value":395},"Segmento",{"type":30,"tag":391,"props":397,"children":398},{},[399],{"type":35,"value":400},"Prior α",{"type":30,"tag":391,"props":402,"children":403},{},[404],{"type":35,"value":405},"Prior β",{"type":30,"tag":391,"props":407,"children":408},{},[409],{"type":35,"value":410},"Sample size objetivo",{"type":30,"tag":412,"props":413,"children":414},"tbody",{},[415,439,462,485],{"type":30,"tag":387,"props":416,"children":417},{},[418,424,429,434],{"type":30,"tag":419,"props":420,"children":421},"td",{},[422],{"type":35,"value":423},"D0-D7 orgánico",{"type":30,"tag":419,"props":425,"children":426},{},[427],{"type":35,"value":428},"28",{"type":30,"tag":419,"props":430,"children":431},{},[432],{"type":35,"value":433},"972",{"type":30,"tag":419,"props":435,"children":436},{},[437],{"type":35,"value":438},"4000",{"type":30,"tag":387,"props":440,"children":441},{},[442,447,452,457],{"type":30,"tag":419,"props":443,"children":444},{},[445],{"type":35,"value":446},"D0-D7 UA",{"type":30,"tag":419,"props":448,"children":449},{},[450],{"type":35,"value":451},"22",{"type":30,"tag":419,"props":453,"children":454},{},[455],{"type":35,"value":456},"978",{"type":30,"tag":419,"props":458,"children":459},{},[460],{"type":35,"value":461},"6000",{"type":30,"tag":387,"props":463,"children":464},{},[465,470,475,480],{"type":30,"tag":419,"props":466,"children":467},{},[468],{"type":35,"value":469},"D7+ no pagador",{"type":30,"tag":419,"props":471,"children":472},{},[473],{"type":35,"value":474},"18",{"type":30,"tag":419,"props":476,"children":477},{},[478],{"type":35,"value":479},"982",{"type":30,"tag":419,"props":481,"children":482},{},[483],{"type":35,"value":484},"3000",{"type":30,"tag":387,"props":486,"children":487},{},[488,493,498,503],{"type":30,"tag":419,"props":489,"children":490},{},[491],{"type":35,"value":492},"D7+ comprador previo",{"type":30,"tag":419,"props":494,"children":495},{},[496],{"type":35,"value":497},"68",{"type":30,"tag":419,"props":499,"children":500},{},[501],{"type":35,"value":502},"932",{"type":30,"tag":419,"props":504,"children":505},{},[506],{"type":35,"value":507},"2000",{"type":30,"tag":31,"props":509,"children":510},{},[511],{"type":35,"value":512},"El posterior se actualiza por separado en cada segmento. Resultados al día 3:",{"type":30,"tag":31,"props":514,"children":515},{},[516,521],{"type":30,"tag":94,"props":517,"children":518},{},[519],{"type":35,"value":520},"Segmento orgánico:",{"type":35,"value":522}," $2.99 → 87 conversiones \u002F 2100 exposiciones, $3.99 → 71 \u002F 2050. Posterior: α₁=28+87=115, β₁=972+2013=2985 vs. α₂=28+71=99, β₂=972+1979=2951. Con 10.000 muestras Monte Carlo, P($2.99 mejor) = 78%. En revenue: $2.99 × 87 = $260, $3.99 × 71 = $283. Si se modela el posterior de revenue con distribución gamma, P($3.99 superior en revenue) = 61%.",{"type":30,"tag":31,"props":524,"children":525},{},[526],{"type":35,"value":527},"En este punto la decisión: si la prioridad es conversión, mantén $2.99; si es revenue, espera 2 días más. En el segmento UA, $3.99 es claramente superior (83% posterior probability), el test se detiene temprano y ese segmento se reorienta a $3.99.",{"type":30,"tag":31,"props":529,"children":530},{},[531,536],{"type":30,"tag":94,"props":532,"children":533},{},[534],{"type":35,"value":535},"Construcción dinámica del price ladder por segmento:",{"type":35,"value":537}," Cuando termina el test, el inventario IAP queda:",{"type":30,"tag":50,"props":539,"children":540},{},[541,546,551,556],{"type":30,"tag":54,"props":542,"children":543},{},[544],{"type":35,"value":545},"Orgánico D0-D3: starter $2.99",{"type":30,"tag":54,"props":547,"children":548},{},[549],{"type":35,"value":550},"UA D0-D3: starter $3.99",{"type":30,"tag":54,"props":552,"children":553},{},[554],{"type":35,"value":555},"D7+ comprador previo: booster $7.99 (del posterior del test separado)",{"type":30,"tag":54,"props":557,"children":558},{},[559],{"type":35,"value":560},"Whale (D30+ $50+ LTV): premium bundle $14.99",{"type":30,"tag":31,"props":562,"children":563},{},[564,566,575],{"type":35,"value":565},"Esta estructura optimiza 4 curvas de elasticidad diferentes, no un precio global único. Si se combina con ",{"type":30,"tag":567,"props":568,"children":572},"a",{"href":569,"rel":570},"https:\u002F\u002Fwww.roibase.com.tr\u002Fes\u002Faso",[571],"nofollow",[573],{"type":35,"value":574},"optimización de ASO",{"type":35,"value":576}," en estrategia de custom product pages, el funnel de IAP se personaliza aún más: el value proposition en el creativo coincide con el tier de IAP.",{"type":30,"tag":38,"props":578,"children":580},{"id":579},"thompson-sampling-para-extensión-multi-armed-bandit",[581],{"type":35,"value":582},"Thompson Sampling para Extensión Multi-Armed Bandit",{"type":30,"tag":31,"props":584,"children":585},{},[586],{"type":35,"value":587},"En lugar de un test fijo de 7 días, extensión Thompson sampling: cada impression muestrea desde el posterior del segmento y muestra el precio con mayor valor esperado. Así el equilibrio exploration\u002Fexploitation se construye dinámicamente durante el test.",{"type":30,"tag":31,"props":589,"children":590},{},[591],{"type":35,"value":592},"Pseudocódigo:",{"type":30,"tag":122,"props":594,"children":596},{"className":124,"code":595,"language":126,"meta":14,"style":14},"def thompson_sampling_price(segment, price_variants):\n    posteriors = {p: get_posterior(segment, p) for p in price_variants}\n    samples = {p: np.random.beta(post['alpha'], post['beta']) \n               for p, post in posteriors.items()}\n    revenue_samples = {p: s * p for p, s in samples.items()}\n    return max(revenue_samples, key=revenue_samples.get)\n",[597],{"type":30,"tag":129,"props":598,"children":599},{"__ignoreMap":14},[600,617,654,692,714,757],{"type":30,"tag":133,"props":601,"children":602},{"class":135,"line":136},[603,607,612],{"type":30,"tag":133,"props":604,"children":605},{"style":140},[606],{"type":35,"value":143},{"type":30,"tag":133,"props":608,"children":609},{"style":146},[610],{"type":35,"value":611}," thompson_sampling_price",{"type":30,"tag":133,"props":613,"children":614},{"style":152},[615],{"type":35,"value":616},"(segment, price_variants):\n",{"type":30,"tag":133,"props":618,"children":619},{"class":135,"line":158},[620,625,629,634,639,644,649],{"type":30,"tag":133,"props":621,"children":622},{"style":152},[623],{"type":35,"value":624},"    posteriors ",{"type":30,"tag":133,"props":626,"children":627},{"style":140},[628],{"type":35,"value":169},{"type":30,"tag":133,"props":630,"children":631},{"style":152},[632],{"type":35,"value":633}," {p: get_posterior(segment, p) ",{"type":30,"tag":133,"props":635,"children":636},{"style":140},[637],{"type":35,"value":638},"for",{"type":30,"tag":133,"props":640,"children":641},{"style":152},[642],{"type":35,"value":643}," p ",{"type":30,"tag":133,"props":645,"children":646},{"style":140},[647],{"type":35,"value":648},"in",{"type":30,"tag":133,"props":650,"children":651},{"style":152},[652],{"type":35,"value":653}," price_variants}\n",{"type":30,"tag":133,"props":655,"children":656},{"class":135,"line":199},[657,662,666,671,677,682,687],{"type":30,"tag":133,"props":658,"children":659},{"style":152},[660],{"type":35,"value":661},"    samples ",{"type":30,"tag":133,"props":663,"children":664},{"style":140},[665],{"type":35,"value":169},{"type":30,"tag":133,"props":667,"children":668},{"style":152},[669],{"type":35,"value":670}," {p: np.random.beta(post[",{"type":30,"tag":133,"props":672,"children":674},{"style":673},"--shiki-default:#9ECBFF",[675],{"type":35,"value":676},"'alpha'",{"type":30,"tag":133,"props":678,"children":679},{"style":152},[680],{"type":35,"value":681},"], post[",{"type":30,"tag":133,"props":683,"children":684},{"style":673},[685],{"type":35,"value":686},"'beta'",{"type":30,"tag":133,"props":688,"children":689},{"style":152},[690],{"type":35,"value":691},"]) \n",{"type":30,"tag":133,"props":693,"children":694},{"class":135,"line":227},[695,700,705,709],{"type":30,"tag":133,"props":696,"children":697},{"style":140},[698],{"type":35,"value":699},"               for",{"type":30,"tag":133,"props":701,"children":702},{"style":152},[703],{"type":35,"value":704}," p, post ",{"type":30,"tag":133,"props":706,"children":707},{"style":140},[708],{"type":35,"value":648},{"type":30,"tag":133,"props":710,"children":711},{"style":152},[712],{"type":35,"value":713}," posteriors.items()}\n",{"type":30,"tag":133,"props":715,"children":716},{"class":135,"line":255},[717,722,726,731,735,739,743,748,752],{"type":30,"tag":133,"props":718,"children":719},{"style":152},[720],{"type":35,"value":721},"    revenue_samples ",{"type":30,"tag":133,"props":723,"children":724},{"style":140},[725],{"type":35,"value":169},{"type":30,"tag":133,"props":727,"children":728},{"style":152},[729],{"type":35,"value":730}," {p: s ",{"type":30,"tag":133,"props":732,"children":733},{"style":140},[734],{"type":35,"value":247},{"type":30,"tag":133,"props":736,"children":737},{"style":152},[738],{"type":35,"value":643},{"type":30,"tag":133,"props":740,"children":741},{"style":140},[742],{"type":35,"value":638},{"type":30,"tag":133,"props":744,"children":745},{"style":152},[746],{"type":35,"value":747}," p, s ",{"type":30,"tag":133,"props":749,"children":750},{"style":140},[751],{"type":35,"value":648},{"type":30,"tag":133,"props":753,"children":754},{"style":152},[755],{"type":35,"value":756}," samples.items()}\n",{"type":30,"tag":133,"props":758,"children":759},{"class":135,"line":297},[760,764,769,774,780,784],{"type":30,"tag":133,"props":761,"children":762},{"style":140},[763],{"type":35,"value":356},{"type":30,"tag":133,"props":765,"children":766},{"style":177},[767],{"type":35,"value":768}," max",{"type":30,"tag":133,"props":770,"children":771},{"style":152},[772],{"type":35,"value":773},"(revenue_samples, ",{"type":30,"tag":133,"props":775,"children":777},{"style":776},"--shiki-default:#FFAB70",[778],{"type":35,"value":779},"key",{"type":30,"tag":133,"props":781,"children":782},{"style":140},[783],{"type":35,"value":169},{"type":30,"tag":133,"props":785,"children":786},{"style":152},[787],{"type":35,"value":788},"revenue_samples.get)\n",{"type":30,"tag":31,"props":790,"children":791},{},[792],{"type":35,"value":793},"Este enfoque es especialmente valioso cuando se prueban 3+ variantes de precio. Un A\u002FB clásico con 3 precios requiere 3× el tamaño de muestra; Thompson sampling actualiza el posterior y elimina automáticamente variantes pobres. Al día 10, si el posterior de $2.99 cayó al 9%, la proporción de exposición cae al 5%, no hay desperdicio de sample.",{"type":30,"tag":31,"props":795,"children":796},{},[797],{"type":35,"value":798},"Advertencia: si la fuente UA no es ilimitada, Thompson sampling corre riesgo de agotamiento presupuestario. Si el presupuesto diario de Meta es $5000, el precio elegido por Thompson reduce conversión, CPA sube, presupuesto se agota al mediodía. Setup seguro: primeros 3 días split 50\u002F50, cuando credibilidad posterior cruza 80%, abre Thompson.",{"type":30,"tag":38,"props":800,"children":802},{"id":801},"revenue-vs-ltv-integración-del-posterior-con-modelo-de-retención",[803],{"type":35,"value":804},"Revenue vs. LTV: Integración del Posterior con Modelo de Retención",{"type":30,"tag":31,"props":806,"children":807},{},[808],{"type":35,"value":809},"La capa final de optimización Bayesiana de precios es proyección LTV. Si $3.99 muestra conversión baja pero D7 retention 8% más alta, el LTV a 90 días del cohort podría superar al cohort de $2.99. El A\u002FB clásico no lo ve porque LTV se cristaliza en 90 días. Un posterior Bayesiano integrado con survival model lo captura temprano.",{"type":30,"tag":31,"props":811,"children":812},{},[813],{"type":35,"value":814},"Setup: Cada variante de precio obtiene un fit de curva de retención en primeros 7 días usando Cox proportional hazard model:",{"type":30,"tag":122,"props":816,"children":818},{"className":124,"code":817,"language":126,"meta":14,"style":14},"from lifelines import CoxPHFitter\n\ndf['price_variant'] = df['variant'].map({'2.99': 0, '3.99': 1})\ncph = CoxPHFitter()\ncph.fit(df, duration_col='days_retained', event_col='churned', \n        formula='price_variant + segment + paid_d3')\n",[819],{"type":30,"tag":129,"props":820,"children":821},{"__ignoreMap":14},[822,845,854,929,946,991],{"type":30,"tag":133,"props":823,"children":824},{"class":135,"line":136},[825,830,835,840],{"type":30,"tag":133,"props":826,"children":827},{"style":140},[828],{"type":35,"value":829},"from",{"type":30,"tag":133,"props":831,"children":832},{"style":152},[833],{"type":35,"value":834}," lifelines ",{"type":30,"tag":133,"props":836,"children":837},{"style":140},[838],{"type":35,"value":839},"import",{"type":30,"tag":133,"props":841,"children":842},{"style":152},[843],{"type":35,"value":844}," CoxPHFitter\n",{"type":30,"tag":133,"props":846,"children":847},{"class":135,"line":158},[848],{"type":30,"tag":133,"props":849,"children":851},{"emptyLinePlaceholder":850},true,[852],{"type":35,"value":853},"\n",{"type":30,"tag":133,"props":855,"children":856},{"class":135,"line":199},[857,862,867,872,876,881,886,891,896,901,906,911,916,920,924],{"type":30,"tag":133,"props":858,"children":859},{"style":152},[860],{"type":35,"value":861},"df[",{"type":30,"tag":133,"props":863,"children":864},{"style":673},[865],{"type":35,"value":866},"'price_variant'",{"type":30,"tag":133,"props":868,"children":869},{"style":152},[870],{"type":35,"value":871},"] ",{"type":30,"tag":133,"props":873,"children":874},{"style":140},[875],{"type":35,"value":169},{"type":30,"tag":133,"props":877,"children":878},{"style":152},[879],{"type":35,"value":880}," df[",{"type":30,"tag":133,"props":882,"children":883},{"style":673},[884],{"type":35,"value":885},"'variant'",{"type":30,"tag":133,"props":887,"children":888},{"style":152},[889],{"type":35,"value":890},"].map({",{"type":30,"tag":133,"props":892,"children":893},{"style":673},[894],{"type":35,"value":895},"'2.99'",{"type":30,"tag":133,"props":897,"children":898},{"style":152},[899],{"type":35,"value":900},": ",{"type":30,"tag":133,"props":902,"children":903},{"style":177},[904],{"type":35,"value":905},"0",{"type":30,"tag":133,"props":907,"children":908},{"style":152},[909],{"type":35,"value":910},", ",{"type":30,"tag":133,"props":912,"children":913},{"style":673},[914],{"type":35,"value":915},"'3.99'",{"type":30,"tag":133,"props":917,"children":918},{"style":152},[919],{"type":35,"value":900},{"type":30,"tag":133,"props":921,"children":922},{"style":177},[923],{"type":35,"value":284},{"type":30,"tag":133,"props":925,"children":926},{"style":152},[927],{"type":35,"value":928},"})\n",{"type":30,"tag":133,"props":930,"children":931},{"class":135,"line":227},[932,937,941],{"type":30,"tag":133,"props":933,"children":934},{"style":152},[935],{"type":35,"value":936},"cph ",{"type":30,"tag":133,"props":938,"children":939},{"style":140},[940],{"type":35,"value":169},{"type":30,"tag":133,"props":942,"children":943},{"style":152},[944],{"type":35,"value":945}," CoxPHFitter()\n",{"type":30,"tag":133,"props":947,"children":948},{"class":135,"line":255},[949,954,959,963,968,972,977,981,986],{"type":30,"tag":133,"props":950,"children":951},{"style":152},[952],{"type":35,"value":953},"cph.fit(df, ",{"type":30,"tag":133,"props":955,"children":956},{"style":776},[957],{"type":35,"value":958},"duration_col",{"type":30,"tag":133,"props":960,"children":961},{"style":140},[962],{"type":35,"value":169},{"type":30,"tag":133,"props":964,"children":965},{"style":673},[966],{"type":35,"value":967},"'days_retained'",{"type":30,"tag":133,"props":969,"children":970},{"style":152},[971],{"type":35,"value":910},{"type":30,"tag":133,"props":973,"children":974},{"style":776},[975],{"type":35,"value":976},"event_col",{"type":30,"tag":133,"props":978,"children":979},{"style":140},[980],{"type":35,"value":169},{"type":30,"tag":133,"props":982,"children":983},{"style":673},[984],{"type":35,"value":985},"'churned'",{"type":30,"tag":133,"props":987,"children":988},{"style":152},[989],{"type":35,"value":990},", \n",{"type":30,"tag":133,"props":992,"children":993},{"class":135,"line":297},[994,999,1003,1008],{"type":30,"tag":133,"props":995,"children":996},{"style":776},[997],{"type":35,"value":998},"        formula",{"type":30,"tag":133,"props":1000,"children":1001},{"style":140},[1002],{"type":35,"value":169},{"type":30,"tag":133,"props":1004,"children":1005},{"style":673},[1006],{"type":35,"value":1007},"'price_variant + segment + paid_d3'",{"type":30,"tag":133,"props":1009,"children":1010},{"style":152},[1011],{"type":35,"value":1012},")\n",{"type":30,"tag":31,"props":1014,"children":1015},{},[1016],{"type":35,"value":1017},"Output del modelo: variante $3.99 hazard ratio 0.88 (churn 12% menor, p=0.03). Integra esto con el posterior:",{"type":30,"tag":31,"props":1019,"children":1020},{},[1021],{"type":30,"tag":94,"props":1022,"children":1023},{},[1024],{"type":35,"value":1025},"Cálculo del posterior LTV:",{"type":30,"tag":50,"props":1027,"children":1028},{},[1029,1048],{"type":30,"tag":54,"props":1030,"children":1031},{},[1032,1034,1039,1041,1046],{"type":35,"value":1033},"$2.99: E",{"type":30,"tag":133,"props":1035,"children":1036},{},[1037],{"type":35,"value":1038},"conversión",{"type":35,"value":1040},"=0.024, E",{"type":30,"tag":133,"props":1042,"children":1043},{},[1044],{"type":35,"value":1045},"D90_retención",{"type":35,"value":1047},"=0.34, ARPDAU=$0.12 → LTV=$2.99 × 0.024 + 90 × 0.34 × 0.12 = $3.74",{"type":30,"tag":54,"props":1049,"children":1050},{},[1051,1053,1057,1059,1063],{"type":35,"value":1052},"$3.99: E",{"type":30,"tag":133,"props":1054,"children":1055},{},[1056],{"type":35,"value":1038},{"type":35,"value":1058},"=0.019, E",{"type":30,"tag":133,"props":1060,"children":1061},{},[1062],{"type":35,"value":1045},{"type":35,"value":1064},"=0.38, ARPDAU=$0.15 → LTV=$3.99 × 0.019 + 90 × 0.38 × 0.15 = $5.21",{"type":30,"tag":31,"props":1066,"children":1067},{},[1068],{"type":35,"value":1069},"Con 10.000 iteraciones Monte Carlo, distribución posterior LTV: P(LTV $3.99 superior) = 91%. Esta credibilidad posterior es un señal mucho más fuerte que analizar solo revenue. Decisión: elige $3.99, reequilibra el stack de IAP.",{"type":30,"tag":38,"props":1071,"children":1073},{"id":1072},"tradeoff-complejidad-del-modelo-vs-velocidad-de-ejecución",[1074],{"type":35,"value":1075},"Tradeoff: Complejidad del Modelo vs. Velocidad de Ejecución",{"type":30,"tag":31,"props":1077,"children":1078},{},[1079],{"type":35,"value":1080},"La optimización Bayesiana de IAP carga tres costos operacionales:",{"type":30,"tag":31,"props":1082,"children":1083},{},[1084,1089],{"type":30,"tag":94,"props":1085,"children":1086},{},[1087],{"type":35,"value":1088},"1. Mantenimiento de prior:",{"type":35,"value":1090}," Cada nuevo evento, cambio de meta, lanzamiento de competidor altera la distribución prior. Re-calibración obligatoria cada 6 meses. Sin data scientist en el equipo, esto no es sostenible.",{"type":30,"tag":31,"props":1092,"children":1093},{},[1094,1099],{"type":30,"tag":94,"props":1095,"children":1096},{},[1097],{"type":35,"value":1098},"2. Granularidad segmentada:",{"type":35,"value":1100}," 8 segmentos × 3 precios = 24 posteriors a seguir. Sample size pequeño en segmentos (ej. whales) mantiene alta varianza posterior, intervalos de confianza anchos. Solución práctica: extrae segment whale, mantén A\u002FB clásico, Bayesiano para los otros.",{"type":30,"tag":31,"props":1102,"children":1103},{},[1104,1109],{"type":30,"tag":94,"props":1105,"children":1106},{},[1107],{"type":35,"value":1108},"3. Fragmentación de plataforma:",{"type":35,"value":1110}," iOS vs. Android tienen sensibilidad de precios diferente. En App Store de Apple conversión 23% más alta que en Android (App Annie 2025). ¿Posteriors separados o pooled? Si separados, muestra split; si pooled, bias de plataforma. Solución: Bayesian jerárquico — plataforma como efecto aleatorio.",{"type":30,"tag":31,"props":1112,"children":1113},{},[1114],{"type":35,"value":1115},"Aun así, Bayesian es más rápido que esperar A\u002FB por 4+ semanas. Test termina en 10 días, impacto revenue visible en semana 2, proyección LTV actualizada en día 30. Con Frequentist, esta timeline es 8-12 semanas.",{"type":30,"tag":38,"props":1117,"children":1119},{"id":1118},"conclusión-mentalidad-de-pricing-probabilístico",[1120],{"type":35,"value":1121},"Conclusión: Mentalidad de Pricing Probabilístico",{"type":30,"tag":31,"props":1123,"children":1124},{},[1125],{"type":35,"value":1126},"En mobile F2P, el test de precios ya no es binario, es un proceso continuo de actualización de posterior. En lugar de resolver conversión y revenue con p-values separados, modelarlos juntos en marco probabilístico minimiza regret, acorta tiempo de test, permite optimización a nivel segmento. Bayesian requiere disciplina en construcción de prior, pero ofrece derecho a decisión temprana, integración LTV, dynamic allocation vía Thompson sampling. Si tu stack de IAP es 5+ tiers y presupuesto UA supera $100K\u002Fmes, la infraestructura de test Bayesiano ya no es opcional.",{"type":30,"tag":1128,"props":1129,"children":1130},"style",{},[1131],{"type":35,"value":1132},"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":14,"searchDepth":199,"depth":199,"links":1134},[1135,1136,1137,1138,1139,1140,1141],{"id":40,"depth":158,"text":43},{"id":81,"depth":158,"text":84},{"id":369,"depth":158,"text":372},{"id":579,"depth":158,"text":582},{"id":801,"depth":158,"text":804},{"id":1072,"depth":158,"text":1075},{"id":1118,"depth":158,"text":1121},"markdown","content:es:gaming:optimizacion-bayesiana-precios-f2p-movil.md","content","es\u002Fgaming\u002Foptimizacion-bayesiana-precios-f2p-movil.md","es\u002Fgaming\u002Foptimizacion-bayesiana-precios-f2p-movil","md",1782079498843]