[{"data":1,"prerenderedAt":770},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fes\u002Fgaming\u002Fbayesian-precio-optimizacion-f2p-movil":13},{"i18nKey":4,"paths":5},"gaming-002-2026-08",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fgaming\u002Fbayesian-price-optimization-mobile-f2p","\u002Fen\u002Fgaming\u002Fmobile-f2p-bayesian-price-optimization","\u002Fes\u002Fgaming\u002Fbayesian-precio-optimizacion-f2p-movil","\u002Ffr\u002Fgaming\u002Foptimisation-bayesienne-des-prix-f2p-mobile","\u002Fit\u002Fgaming\u002Fbayesian-price-optimization-f2p-mobile","\u002Fru\u002Fgaming\u002Fbayesian-cenovaya-optimizacija-v-mobile-f2p","\u002Ftr\u002Fgaming\u002Fmobile-f2pde-bayesian-price-optimization",{"_path":8,"_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":764,"_id":765,"_source":766,"_file":767,"_stem":768,"_extension":769},"gaming",false,"","Optimización de Precios Bayesiana en F2P Mobile","Optimizar escalas de precios IAP con tests Bayesianos: estimación posterior, pricing basado en segmentos y metodología de cálculo de revenue lift.","2026-08-05",[21,22,23,24,25],"f2p-monetization","bayesian-testing","iap-optimization","price-ladder","mobile-gaming",8,"Roibase",{"type":29,"children":30,"toc":751},"root",[31,39,46,51,56,61,68,73,78,84,89,94,99,105,110,115,129,135,140,145,150,156,161,166,171,654,667,673,678,683,702,708,713,718,723,736,740,745],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","En juegos F2P móviles, la optimización de precios IAP suele reducirse a A\u002FB testing: compara dos precios, elige el de mayor revenue. Este enfoque funcionaba en 2018 porque el costo de UA era bajo y no había problemas de sample size. En 2026 la situación es diferente: tras iOS 14.5 el tracking de cohortes está roto, el CPI en Apple Search Ads aumentó %340, los tiempos de test pasaron de 8 a 14 semanas. La metodología Bayesiana ofrece dos ventajas en estas condiciones: con la distribución posterior se pueden tomar decisiones tempranas, y la segmentación refuerza el modelo con información previa. En la economía de los juegos, la elasticidad de precio no es constante — se comporta diferente en segmentos whale\u002Fdolphin\u002Fminnow, y capturar esta diferencia está fuera del alcance del A\u002FB frecuentista.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"la-lógica-económica-de-los-tests-bayesianos",[44],{"type":37,"value":45},"La Lógica Económica de los Tests Bayesianos",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"En F2P móvil, el costo de un test de precio no es solo tiempo de desarrollo, sino costo de oportunidad. Si pruebas $4.99 versus $6.99 y esperas 14 semanas, el revenue perdido mientras encuentras el precio correcto es el costo mismo del test. El enfoque Bayesiano actualiza la distribución posterior cada día — en lugar de una tasa de conversión de %2.3, tienes un intervalo creíble del 95% de %1.8 a %2.9. Conforme el intervalo se estrecha, la decisión se vuelve clara y puedes terminar el test temprano.",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"En A\u002FB frecuentista calculas un tamaño mínimo de muestra para p-value \u003C0.05 y esperas hasta alcanzarlo. Pero en gaming móvil, el tamaño de cohorte fluctúa diariamente: un nuevo feature launch suma +%40 DAU, seasonalidad de verano resta -%25. El modelo Bayesiano interpreta estas fluctuaciones como actualizaciones de prior, no se queda atrapado en un plan de sample size fijo.",{"type":32,"tag":33,"props":57,"children":58},{},[59],{"type":37,"value":60},"Ejemplo práctico: en un juego con 10,000 DAU pruebas starter pack a $9.99. El cálculo frecuentista necesita 42,000 usuarios para detectar +%5 de revenue lift en 6 semanas. El modelo Bayesiano en la semana 3 muestra posterior mean de $11.2 ARPPU (control $10.8), intervalo de confianza 95% sin superposición — decisión tomada, test cerrado. Recuperaste 3 semanas de revenue perdido.",{"type":32,"tag":62,"props":63,"children":65},"h3",{"id":64},"selección-de-prior-y-segmentación",[66],{"type":37,"value":67},"Selección de Prior y Segmentación",{"type":32,"tag":33,"props":69,"children":70},{},[71],{"type":37,"value":72},"En tests Bayesianos, elegir la distribución prior no es subjetivo sino basado en datos históricos. Si el año pasado probaste 8 price points entre $4.99 y $9.99 en un juego similar, extraes una distribución beta de esos datos. El prior puede ser débil (varianza alta) pero es mejor que un prior uniforme no informativo, porque sabes que la tasa de conversión whale no cae por debajo de %0.5.",{"type":32,"tag":33,"props":74,"children":75},{},[76],{"type":37,"value":77},"La segmentación fortalece el prior: para nuevos usuarios usas un prior no informativo, para usuarios con 30+ días de retention usas un prior ajustado. El modelo Bayesiano jerárquico estima parámetros a nivel de segmento y globales simultáneamente — cada segmento usa sus propios datos pero también la tendencia global se comparte. Este enfoque evita overfitting en segmentos pequeños.",{"type":32,"tag":40,"props":79,"children":81},{"id":80},"arquitectura-de-la-escalera-de-precios-iap",[82],{"type":37,"value":83},"Arquitectura de la Escalera de Precios IAP",{"type":32,"tag":33,"props":85,"children":86},{},[87],{"type":37,"value":88},"En juegos F2P la escalera de precios no es plana sino distribuida logarítmicamente: $0.99, $2.99, $4.99, $9.99, $19.99, $49.99, $99.99. Estos saltos tienen base psicológica (charm pricing) pero la razón económica es más fuerte: cada escalón captura un segmento diferente de willingness-to-pay. En optimización Bayesiana cada escalón tiene su propio posterior e influyen entre sí — si subes $4.99, la conversión en $2.99 puede bajar (degradación), pero $9.99 sube (upgrading).",{"type":32,"tag":33,"props":90,"children":91},{},[92],{"type":37,"value":93},"En un test de escalera completa no optimizas un precio único sino toda la estructura. Un algoritmo multi-armed bandit ve cada punto de precio como un brazo, y Thompson Sampling muestrea del posterior actual para elegir el que genera mayor revenue esperado. En las primeras 2 semanas todos los brazos explotan equitativamente, desde la semana 3 en adelante según aumenta la confianza en el posterior, la explotación toma peso.",{"type":32,"tag":33,"props":95,"children":96},{},[97],{"type":37,"value":98},"Escenario de ejemplo: escalera de 7 puntos, test de 21 días. Primeros 7 días cada precio recibe %14 del tráfico (distribución uniforme). A partir del día 8, el precio con mayor media posterior × tasa de conversión atrae tráfico. En el día 21: $4.99 recibe %40 del tráfico, $9.99 %25, otros %5-10. En la decisión final ambos $4.99 y $9.99 se mantienen porque generan revenue marginal positivo sin canibalizarse mutuamente.",{"type":32,"tag":62,"props":100,"children":102},{"id":101},"pricing-basado-en-segmentos",[103],{"type":37,"value":104},"Pricing Basado en Segmentos",{"type":32,"tag":33,"props":106,"children":107},{},[108],{"type":37,"value":109},"El mismo precio no funciona para whale\u002Fdolphin\u002Fminnow porque la elasticidad de precio difiere. Usuarios whale (top %1 en gasto) ven su conversión bajar solo %3 si el precio de $99.99 sube %20 — inelástico. Usuarios minnow (los que compran $0.99 en primeros 7 días) ven caída de %18 con alza de %10 — elástico. El modelo Bayesiano codifica esta elasticidad en el prior a nivel de segmento.",{"type":32,"tag":33,"props":111,"children":112},{},[113],{"type":37,"value":114},"Las características para segmentación son: días desde install (D1\u002FD7\u002FD30), gasto total acumulado, tiempo desde último IAP, frecuencia de sesiones, progresión en niveles. De estas features construyes un prior de segmento latente — el modelo jerárquico también estima la membresía de segmento. Así cuando llega un usuario nuevo, sus primeras 24 horas de comportamiento estiman su segmento y se le muestra el precio calibrado.",{"type":32,"tag":33,"props":116,"children":117},{},[118,120,127],{"type":37,"value":119},"En los trabajos de ",{"type":32,"tag":121,"props":122,"children":124},"a",{"href":123},"\u002Fes\u002Faso",[125],{"type":37,"value":126},"App Store Optimization",{"type":37,"value":128}," de Roibase también se usa segmentación similar: resultados de tests creativos varían por segmento de usuario, el mismo creativo en iOS 16+ genera %8 IPM mientras en iOS 15 solo %3. Cuando ASO se integra con optimización IAP, logras integridad en el funnel — mostrar el precio correcto al usuario correcto requiere primero atraer al usuario correcto.",{"type":32,"tag":40,"props":130,"children":132},{"id":131},"estimación-posterior-y-mecanismo-de-decisión",[133],{"type":37,"value":134},"Estimación Posterior y Mecanismo de Decisión",{"type":32,"tag":33,"props":136,"children":137},{},[138],{"type":37,"value":139},"En un test Bayesiano la métrica de decisión es posterior probability of superiority: $P(\\text{tratamiento} > \\text{control} | \\text{datos})$. Cuando esta probabilidad supera %95 el tratamiento gana. La diferencia con p-value frecuentista: p-value mide la extremidad de los datos bajo hipótesis nula, la probabilidad posterior mide directamente \"la probabilidad de que el tratamiento sea mejor\".",{"type":32,"tag":33,"props":141,"children":142},{},[143],{"type":37,"value":144},"Para calcular el posterior, si usas prior conjugado hay solución analítica (beta-binomial), de lo contrario necesitas simulación MCMC (Markov Chain Monte Carlo). En tests de gaming móvil combinas binomial para conversión + lognormal para revenue — prior beta para conversión, prior lognormal para revenue. Con PyMC3 o Stan, 10,000 iteraciones MCMC tardan 30 segundos, actualizar posterior con datos diarios es directo.",{"type":32,"tag":33,"props":146,"children":147},{},[148],{"type":37,"value":149},"El threshold de decisión puede ser %95 o %90 — en fases de growth agresivo %90 es suficiente, en juegos maduros se usa %95. Cuando el threshold baja, sube el riesgo de falso positivo pero baja el tiempo de test. El cálculo de Expected Value of Information (EVI) encuentra el threshold óptimo: equilibra costo de test una semana más versus riesgo de decisión equivocada.",{"type":32,"tag":62,"props":151,"children":153},{"id":152},"estructura-de-test-bayesiano-multi-variante",[154],{"type":37,"value":155},"Estructura de Test Bayesiano Multi-Variante",{"type":32,"tag":33,"props":157,"children":158},{},[159],{"type":37,"value":160},"Un test de precio IAP típicamente incluye 3+ variantes: control ($4.99), tratamiento A ($5.99), tratamiento B ($6.99). En A\u002FB frecuentista hay problema de múltiples comparaciones, corrección Bonferroni multiplica el tamaño de muestra. En Bayesiano cada variante tiene su propio posterior, las comparaciones pairwise ocurren simultáneamente. En lugar de elegir el posterior mean más alto, maximizas revenue esperado: cada variante gana con probabilidad × revenue esperado.",{"type":32,"tag":33,"props":162,"children":163},{},[164],{"type":37,"value":165},"Thompson Sampling: cada día muestrea del posterior de cada variante una vez, envía tráfico a la muestra más alta. Esta estrategia balancea automáticamente exploración\u002Fexplotación — cuando la incertidumbre posterior es alta (días iniciales) el tráfico se distribuye uniformemente, luego se concentra en la variante ganadora.",{"type":32,"tag":33,"props":167,"children":168},{},[169],{"type":37,"value":170},"Snippet de código (modelo beta-binomial con PyMC3):",{"type":32,"tag":172,"props":173,"children":177},"pre",{"className":174,"code":175,"language":176,"meta":16,"style":16},"language-python shiki shiki-themes github-dark","import pymc3 as pm\n\nwith pm.Model() as iap_model:\n    # Prior: uniform beta\n    p_control = pm.Beta('p_control', alpha=1, beta=1)\n    p_treatment = pm.Beta('p_treatment', alpha=1, beta=1)\n    \n    # Likelihood\n    obs_control = pm.Binomial('obs_control', n=n_control, p=p_control, observed=conversions_control)\n    obs_treatment = pm.Binomial('obs_treatment', n=n_treatment, p=p_treatment, observed=conversions_treatment)\n    \n    # Posterior sampling\n    trace = pm.sample(10000, return_inferencedata=False)\n    \n    # Probability of superiority\n    prob_superiority = (trace['p_treatment'] > trace['p_control']).mean()\n","python",[178],{"type":32,"tag":179,"props":180,"children":181},"code",{"__ignoreMap":16},[182,210,220,243,253,321,379,388,396,464,529,537,546,591,599,608],{"type":32,"tag":183,"props":184,"children":187},"span",{"class":185,"line":186},"line",1,[188,194,200,205],{"type":32,"tag":183,"props":189,"children":191},{"style":190},"--shiki-default:#F97583",[192],{"type":37,"value":193},"import",{"type":32,"tag":183,"props":195,"children":197},{"style":196},"--shiki-default:#E1E4E8",[198],{"type":37,"value":199}," pymc3 ",{"type":32,"tag":183,"props":201,"children":202},{"style":190},[203],{"type":37,"value":204},"as",{"type":32,"tag":183,"props":206,"children":207},{"style":196},[208],{"type":37,"value":209}," pm\n",{"type":32,"tag":183,"props":211,"children":213},{"class":185,"line":212},2,[214],{"type":32,"tag":183,"props":215,"children":217},{"emptyLinePlaceholder":216},true,[218],{"type":37,"value":219},"\n",{"type":32,"tag":183,"props":221,"children":223},{"class":185,"line":222},3,[224,229,234,238],{"type":32,"tag":183,"props":225,"children":226},{"style":190},[227],{"type":37,"value":228},"with",{"type":32,"tag":183,"props":230,"children":231},{"style":196},[232],{"type":37,"value":233}," pm.Model() ",{"type":32,"tag":183,"props":235,"children":236},{"style":190},[237],{"type":37,"value":204},{"type":32,"tag":183,"props":239,"children":240},{"style":196},[241],{"type":37,"value":242}," iap_model:\n",{"type":32,"tag":183,"props":244,"children":246},{"class":185,"line":245},4,[247],{"type":32,"tag":183,"props":248,"children":250},{"style":249},"--shiki-default:#6A737D",[251],{"type":37,"value":252},"    # Prior: uniform beta\n",{"type":32,"tag":183,"props":254,"children":256},{"class":185,"line":255},5,[257,262,267,272,278,283,289,293,299,303,308,312,316],{"type":32,"tag":183,"props":258,"children":259},{"style":196},[260],{"type":37,"value":261},"    p_control ",{"type":32,"tag":183,"props":263,"children":264},{"style":190},[265],{"type":37,"value":266},"=",{"type":32,"tag":183,"props":268,"children":269},{"style":196},[270],{"type":37,"value":271}," pm.Beta(",{"type":32,"tag":183,"props":273,"children":275},{"style":274},"--shiki-default:#9ECBFF",[276],{"type":37,"value":277},"'p_control'",{"type":32,"tag":183,"props":279,"children":280},{"style":196},[281],{"type":37,"value":282},", ",{"type":32,"tag":183,"props":284,"children":286},{"style":285},"--shiki-default:#FFAB70",[287],{"type":37,"value":288},"alpha",{"type":32,"tag":183,"props":290,"children":291},{"style":190},[292],{"type":37,"value":266},{"type":32,"tag":183,"props":294,"children":296},{"style":295},"--shiki-default:#79B8FF",[297],{"type":37,"value":298},"1",{"type":32,"tag":183,"props":300,"children":301},{"style":196},[302],{"type":37,"value":282},{"type":32,"tag":183,"props":304,"children":305},{"style":285},[306],{"type":37,"value":307},"beta",{"type":32,"tag":183,"props":309,"children":310},{"style":190},[311],{"type":37,"value":266},{"type":32,"tag":183,"props":313,"children":314},{"style":295},[315],{"type":37,"value":298},{"type":32,"tag":183,"props":317,"children":318},{"style":196},[319],{"type":37,"value":320},")\n",{"type":32,"tag":183,"props":322,"children":324},{"class":185,"line":323},6,[325,330,334,338,343,347,351,355,359,363,367,371,375],{"type":32,"tag":183,"props":326,"children":327},{"style":196},[328],{"type":37,"value":329},"    p_treatment ",{"type":32,"tag":183,"props":331,"children":332},{"style":190},[333],{"type":37,"value":266},{"type":32,"tag":183,"props":335,"children":336},{"style":196},[337],{"type":37,"value":271},{"type":32,"tag":183,"props":339,"children":340},{"style":274},[341],{"type":37,"value":342},"'p_treatment'",{"type":32,"tag":183,"props":344,"children":345},{"style":196},[346],{"type":37,"value":282},{"type":32,"tag":183,"props":348,"children":349},{"style":285},[350],{"type":37,"value":288},{"type":32,"tag":183,"props":352,"children":353},{"style":190},[354],{"type":37,"value":266},{"type":32,"tag":183,"props":356,"children":357},{"style":295},[358],{"type":37,"value":298},{"type":32,"tag":183,"props":360,"children":361},{"style":196},[362],{"type":37,"value":282},{"type":32,"tag":183,"props":364,"children":365},{"style":285},[366],{"type":37,"value":307},{"type":32,"tag":183,"props":368,"children":369},{"style":190},[370],{"type":37,"value":266},{"type":32,"tag":183,"props":372,"children":373},{"style":295},[374],{"type":37,"value":298},{"type":32,"tag":183,"props":376,"children":377},{"style":196},[378],{"type":37,"value":320},{"type":32,"tag":183,"props":380,"children":382},{"class":185,"line":381},7,[383],{"type":32,"tag":183,"props":384,"children":385},{"style":196},[386],{"type":37,"value":387},"    \n",{"type":32,"tag":183,"props":389,"children":390},{"class":185,"line":26},[391],{"type":32,"tag":183,"props":392,"children":393},{"style":249},[394],{"type":37,"value":395},"    # Likelihood\n",{"type":32,"tag":183,"props":397,"children":399},{"class":185,"line":398},9,[400,405,409,414,419,423,428,432,437,441,445,450,455,459],{"type":32,"tag":183,"props":401,"children":402},{"style":196},[403],{"type":37,"value":404},"    obs_control ",{"type":32,"tag":183,"props":406,"children":407},{"style":190},[408],{"type":37,"value":266},{"type":32,"tag":183,"props":410,"children":411},{"style":196},[412],{"type":37,"value":413}," pm.Binomial(",{"type":32,"tag":183,"props":415,"children":416},{"style":274},[417],{"type":37,"value":418},"'obs_control'",{"type":32,"tag":183,"props":420,"children":421},{"style":196},[422],{"type":37,"value":282},{"type":32,"tag":183,"props":424,"children":425},{"style":285},[426],{"type":37,"value":427},"n",{"type":32,"tag":183,"props":429,"children":430},{"style":190},[431],{"type":37,"value":266},{"type":32,"tag":183,"props":433,"children":434},{"style":196},[435],{"type":37,"value":436},"n_control, ",{"type":32,"tag":183,"props":438,"children":439},{"style":285},[440],{"type":37,"value":33},{"type":32,"tag":183,"props":442,"children":443},{"style":190},[444],{"type":37,"value":266},{"type":32,"tag":183,"props":446,"children":447},{"style":196},[448],{"type":37,"value":449},"p_control, ",{"type":32,"tag":183,"props":451,"children":452},{"style":285},[453],{"type":37,"value":454},"observed",{"type":32,"tag":183,"props":456,"children":457},{"style":190},[458],{"type":37,"value":266},{"type":32,"tag":183,"props":460,"children":461},{"style":196},[462],{"type":37,"value":463},"conversions_control)\n",{"type":32,"tag":183,"props":465,"children":467},{"class":185,"line":466},10,[468,473,477,481,486,490,494,498,503,507,511,516,520,524],{"type":32,"tag":183,"props":469,"children":470},{"style":196},[471],{"type":37,"value":472},"    obs_treatment ",{"type":32,"tag":183,"props":474,"children":475},{"style":190},[476],{"type":37,"value":266},{"type":32,"tag":183,"props":478,"children":479},{"style":196},[480],{"type":37,"value":413},{"type":32,"tag":183,"props":482,"children":483},{"style":274},[484],{"type":37,"value":485},"'obs_treatment'",{"type":32,"tag":183,"props":487,"children":488},{"style":196},[489],{"type":37,"value":282},{"type":32,"tag":183,"props":491,"children":492},{"style":285},[493],{"type":37,"value":427},{"type":32,"tag":183,"props":495,"children":496},{"style":190},[497],{"type":37,"value":266},{"type":32,"tag":183,"props":499,"children":500},{"style":196},[501],{"type":37,"value":502},"n_treatment, ",{"type":32,"tag":183,"props":504,"children":505},{"style":285},[506],{"type":37,"value":33},{"type":32,"tag":183,"props":508,"children":509},{"style":190},[510],{"type":37,"value":266},{"type":32,"tag":183,"props":512,"children":513},{"style":196},[514],{"type":37,"value":515},"p_treatment, ",{"type":32,"tag":183,"props":517,"children":518},{"style":285},[519],{"type":37,"value":454},{"type":32,"tag":183,"props":521,"children":522},{"style":190},[523],{"type":37,"value":266},{"type":32,"tag":183,"props":525,"children":526},{"style":196},[527],{"type":37,"value":528},"conversions_treatment)\n",{"type":32,"tag":183,"props":530,"children":532},{"class":185,"line":531},11,[533],{"type":32,"tag":183,"props":534,"children":535},{"style":196},[536],{"type":37,"value":387},{"type":32,"tag":183,"props":538,"children":540},{"class":185,"line":539},12,[541],{"type":32,"tag":183,"props":542,"children":543},{"style":249},[544],{"type":37,"value":545},"    # Posterior sampling\n",{"type":32,"tag":183,"props":547,"children":549},{"class":185,"line":548},13,[550,555,559,564,569,573,578,582,587],{"type":32,"tag":183,"props":551,"children":552},{"style":196},[553],{"type":37,"value":554},"    trace ",{"type":32,"tag":183,"props":556,"children":557},{"style":190},[558],{"type":37,"value":266},{"type":32,"tag":183,"props":560,"children":561},{"style":196},[562],{"type":37,"value":563}," pm.sample(",{"type":32,"tag":183,"props":565,"children":566},{"style":295},[567],{"type":37,"value":568},"10000",{"type":32,"tag":183,"props":570,"children":571},{"style":196},[572],{"type":37,"value":282},{"type":32,"tag":183,"props":574,"children":575},{"style":285},[576],{"type":37,"value":577},"return_inferencedata",{"type":32,"tag":183,"props":579,"children":580},{"style":190},[581],{"type":37,"value":266},{"type":32,"tag":183,"props":583,"children":584},{"style":295},[585],{"type":37,"value":586},"False",{"type":32,"tag":183,"props":588,"children":589},{"style":196},[590],{"type":37,"value":320},{"type":32,"tag":183,"props":592,"children":594},{"class":185,"line":593},14,[595],{"type":32,"tag":183,"props":596,"children":597},{"style":196},[598],{"type":37,"value":387},{"type":32,"tag":183,"props":600,"children":602},{"class":185,"line":601},15,[603],{"type":32,"tag":183,"props":604,"children":605},{"style":249},[606],{"type":37,"value":607},"    # Probability of superiority\n",{"type":32,"tag":183,"props":609,"children":611},{"class":185,"line":610},16,[612,617,621,626,630,635,640,645,649],{"type":32,"tag":183,"props":613,"children":614},{"style":196},[615],{"type":37,"value":616},"    prob_superiority ",{"type":32,"tag":183,"props":618,"children":619},{"style":190},[620],{"type":37,"value":266},{"type":32,"tag":183,"props":622,"children":623},{"style":196},[624],{"type":37,"value":625}," (trace[",{"type":32,"tag":183,"props":627,"children":628},{"style":274},[629],{"type":37,"value":342},{"type":32,"tag":183,"props":631,"children":632},{"style":196},[633],{"type":37,"value":634},"] ",{"type":32,"tag":183,"props":636,"children":637},{"style":190},[638],{"type":37,"value":639},">",{"type":32,"tag":183,"props":641,"children":642},{"style":196},[643],{"type":37,"value":644}," trace[",{"type":32,"tag":183,"props":646,"children":647},{"style":274},[648],{"type":37,"value":277},{"type":32,"tag":183,"props":650,"children":651},{"style":196},[652],{"type":37,"value":653},"]).mean()\n",{"type":32,"tag":33,"props":655,"children":656},{},[657,659,665],{"type":37,"value":658},"Este modelo optimiza tasa de conversión. Para optimización de revenue añades prior lognormal y calculas posterior conjunto de ",{"type":32,"tag":179,"props":660,"children":662},{"className":661},[],[663],{"type":37,"value":664},"p × revenue_mean",{"type":37,"value":666},".",{"type":32,"tag":40,"props":668,"children":670},{"id":669},"migración-de-segmentos-e-impacto-a-largo-plazo",[671],{"type":37,"value":672},"Migración de Segmentos e Impacto a Largo Plazo",{"type":32,"tag":33,"props":674,"children":675},{},[676],{"type":37,"value":677},"La optimización de precios no es un test único sino proceso continuo. Los usuarios cambian de segmento: un minnow hoy es dolphin en 30 días. El modelo Bayesiano con prior estático no captura esta migración. La solución: dynamic prior update — cada 30 días el posterior se combina con datos nuevos para convertirse en el nuevo prior.",{"type":32,"tag":33,"props":679,"children":680},{},[681],{"type":37,"value":682},"Para medir impacto a largo plazo modeleas la curva de retención de cohortes con Bayesian survival analysis. Si el cambio de precio reduce retención D7 en %2 pero sube LTV de $12 a $14, es neto positivo. El modelo de supervivencia usa distribución Weibull para estimar parámetros shape y scale, validación predictiva posterior te da forecast de LTV a 90 días.",{"type":32,"tag":33,"props":684,"children":685},{},[686,688,693,695,700],{"type":37,"value":687},"El test de impacto en retención toma 6-8 semanas porque necesitas esperar la señal de retención D30. El enfoque Bayesiano predice D30 desde datos D7 — usa como prior la tasa D7→D30 de cohortes pasadas. Así en la semana 3 tienes señal temprana: si el posterior mean de retención D30 es %18 con intervalo 95% ",{"type":32,"tag":183,"props":689,"children":690},{},[691],{"type":37,"value":692},"%16, %20",{"type":37,"value":694},", continúas; si es ",{"type":32,"tag":183,"props":696,"children":697},{},[698],{"type":37,"value":699},"%14, %16",{"type":37,"value":701},", el cambio de precio quiebra retención, detienes y revertes.",{"type":32,"tag":40,"props":703,"children":705},{"id":704},"economía-del-juego-y-dinámicas-de-plataforma",[706],{"type":37,"value":707},"Economía del Juego y Dinámicas de Plataforma",{"type":32,"tag":33,"props":709,"children":710},{},[711],{"type":37,"value":712},"Usuarios iOS y Android responden diferente a la misma escalera. Usuarios iOS promedian %23 ARPPU más alto, el mismo precio $4.99 genera %3.2 conversión en iOS pero %2.1 en Android. El modelo Bayesiano añade plataforma como factor jerárquico — cada una tiene su propio prior de segmento pero la tendencia global es compartida.",{"type":32,"tag":33,"props":714,"children":715},{},[716],{"type":37,"value":717},"El sistema de pricing tiers de Apple Store (Tier 1 = $0.99, Tier 5 = $4.99...) limita flexibilidad. Testas entre Tier 3\u002F4\u002F5 con grid search en lugar de posterior, eligiendo el que maximiza revenue esperado posterior. Google Play es más flexible (precios arbitrarios) pero conversión es más volátil — en tests Android la varianza prior se establece %30 más amplia.",{"type":32,"tag":33,"props":719,"children":720},{},[721],{"type":37,"value":722},"Las fluctuaciones de moneda también impactan el posterior: si el precio en Türkiye es ₺49.99 y el dólar sube de ₺25 a ₺35, el precio real cae de $2 a $1.43. El modelo usa revenue ajustado por moneda, posterior se calcula en base USD. Para mercados emergentes, pricing PPP-ajustado requiere prior separado — el mismo juego puede costar $4.99 en EE.UU. y R$9.90 en Brasil (~$1.80 con paridad de poder adquisitivo).",{"type":32,"tag":33,"props":724,"children":725},{},[726,728,734],{"type":37,"value":727},"En el contexto del ",{"type":32,"tag":121,"props":729,"children":731},{"href":730},"\u002Fes\u002Fpremiumyayinci",[732],{"type":37,"value":733},"Programa de Editor Premium",{"type":37,"value":735},", las campañas de UA alimentan los resultados de tests de precio: para segmentos de alto LTV subes CPM bidding, para segmentos de conversión baja bajas bids. Cuando integras el modelo Bayesiano IAP con estrategia de bidding en UA, logras optimización ROI a nivel de portfolio — el output del modelo define qué segmento de usuario a qué precio y con qué CPI máximo obtener UA.",{"type":32,"tag":737,"props":738,"children":739},"hr",{},[],{"type":32,"tag":33,"props":741,"children":742},{},[743],{"type":37,"value":744},"La optimización de precios en F2P móvil ya no se reduce a \"qué precio es mejor\". Elasticidad basada en segmentos, diferencias de plataforma, impacto en retención, riesgo de divisa — todo se encaja en el framework prior\u002Fposterior Bayesiano y permite decisión temprana. Sin embargo, implementar un test Bayesiano es más complejo que A\u002FB frecuentista — requiere data pipeline, infraestructura MCMC, tuning de prior. El cálculo ROI es directo: si corres 2+ tests de precio mensuales y cierras en 2 semanas en lugar de 4, el tiempo ahorrado cubre el costo del modelo. Construir toma 1 sprint, mantener 2 horas de analytics semanales — el trade-off es neto positivo.",{"type":32,"tag":746,"props":747,"children":748},"style",{},[749],{"type":37,"value":750},"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":222,"depth":222,"links":752},[753,756,759,762,763],{"id":42,"depth":212,"text":45,"children":754},[755],{"id":64,"depth":222,"text":67},{"id":80,"depth":212,"text":83,"children":757},[758],{"id":101,"depth":222,"text":104},{"id":131,"depth":212,"text":134,"children":760},[761],{"id":152,"depth":222,"text":155},{"id":669,"depth":212,"text":672},{"id":704,"depth":212,"text":707},"markdown","content:es:gaming:bayesian-precio-optimizacion-f2p-movil.md","content","es\u002Fgaming\u002Fbayesian-precio-optimizacion-f2p-movil.md","es\u002Fgaming\u002Fbayesian-precio-optimizacion-f2p-movil","md",1785967481118]