[{"data":1,"prerenderedAt":1149},["ShallowReactive",2],{"article-alternates":3,"article-\u002Ffr\u002Fgaming\u002Foptimisasi-harga-bayesian-f2p-mobile":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":8,"_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":1143,"_id":1144,"_source":1145,"_file":1146,"_stem":1147,"_extension":1148},"gaming",false,"","Optimisation des Prix Bayésienne en Mobile F2P","Optimisation segmentée des tests IAP via estimation postérieure : modèle probabiliste pour équilibrer conversion, revenu et LTV.","2026-05-26",[19,20,21,22,23],"monetisation-f2p","test-bayesien","optimisation-iap","price-ladder","jeux-mobiles",9,"Roibase",{"type":27,"children":28,"toc":1134},"root",[29,37,44,49,69,74,79,85,90,101,111,121,363,368,374,379,509,514,524,529,539,562,578,584,589,594,790,795,800,806,811,816,1014,1019,1027,1066,1071,1077,1082,1092,1102,1112,1117,1123,1128],{"type":30,"tag":31,"props":32,"children":33},"element","p",{},[34],{"type":35,"value":36},"text","Dans les jeux mobiles F2P, la tarification des IAP fonctionne encore à l'intuition : on copie la ladder $0.99, $4.99, $9.99, on réduit les prix si la conversion baisse, on ajoute \"plus de valeur\" si elle monte. Mais le même pack à $4.99 peut afficher 2,1 % de conversion chez l'utilisateur organique, 1,4 % dans la cohorte UA et 8,7 % dans le segment whale D30+. Le test A\u002FB classique montre ses limites : soit l'effectif explose, soit l'attente dépasse six semaines, soit on ne sait pas quelle métrique optimiser entre revenu et conversion. L'optimisation bayésienne des prix résout ces trois problèmes simultanément : elle capture les signaux précoces via la distribution postérieure, modélise l'impact LTV au niveau segment et gère l'équilibre revenu-conversion dans un cadre probabiliste.",{"type":30,"tag":38,"props":39,"children":41},"h2",{"id":40},"limpasse-du-test-fréquentiste-ab-en-tarification-iap",[42],{"type":35,"value":43},"L'Impasse du Test Fréquentiste A\u002FB en Tarification IAP",{"type":30,"tag":31,"props":45,"children":46},{},[47],{"type":35,"value":48},"Un test A\u002FB standard calcule la taille d'échantillon pour observer une différence p\u003C0,05 entre deux prix basée sur le taux de conversion. Pour un taux de base de 2 %, un relèvement relatif de 10 % visé et une puissance de 80 %, il faut environ 15 000 expositions. Pour un IAP de milieu de gamme, cela signifie 4 à 6 semaines. À mesure que le test s'étire :",{"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},"Le CPI augmente dans les campagnes Meta (fatigue créative)",{"type":30,"tag":54,"props":60,"children":61},{},[62],{"type":35,"value":63},"Le mix de cohortes organiques se décale (effet saisonnier, changement de classement ASO)",{"type":30,"tag":54,"props":65,"children":66},{},[67],{"type":35,"value":68},"Un jeu concurrent lance un nouvel événement, l'élasticité de la demande se brise",{"type":30,"tag":31,"props":70,"children":71},{},[72],{"type":35,"value":73},"Le problème plus critique reste la scission revenu-conversion : passer de $2,99 à $4,99 peut réduire la conversion de 2,1 % à 1,7 % mais augmenter le revenu par mille de 42 %. Sur quelle métrique calculer la p-value ? La plupart des studios déclarent \"on a gagné du revenu\" et passent à autre chose, mais une modélisation d'LTV D7 révèle que 31 % du segment whale s'est désabonné et que le nouveau prix a endommagé la retention.",{"type":30,"tag":31,"props":75,"children":76},{},[77],{"type":35,"value":78},"L'approche bayésienne conserve conversion et revenu dans le même modèle postérieur : conviction antérieure (distribution bêta issue des tests précédents) + observations (nouvelles données) → conviction mise à jour (distribution postérieure). Dès le jour 3, le test peut dire \"il y a 73 % de probabilité que $4,99 soit meilleur\", ce pourcentage montant à 89 % le jour 7, et une fois le regret tombé sous 1 % au jour 10, le test s'arrête.",{"type":30,"tag":38,"props":80,"children":82},{"id":81},"construction-de-la-distribution-a-priori-historique-iap-au-lieu-de-benchmarks",[83],{"type":35,"value":84},"Construction de la Distribution a Priori : Historique IAP au Lieu de Benchmarks",{"type":30,"tag":31,"props":86,"children":87},{},[88],{"type":35,"value":89},"La qualité d'un test bayésien dépend de la construction correcte de la distribution a priori. La plupart des documentations disent \"prends une a priori uniforme, laisse les données parler\" mais si tu as six mois d'historique IAP, ignorer cette ressource n'a pas de sens. Exemple de processus de construction d'a priori :",{"type":30,"tag":31,"props":91,"children":92},{},[93,99],{"type":30,"tag":94,"props":95,"children":96},"strong",{},[97],{"type":35,"value":98},"Étape 1 :",{"type":35,"value":100}," Extrais la distribution des taux de conversion de tous les paliers IAP des six derniers mois. Les conversions $0,99–$2,99 oscillent entre 1,8–3,2 %, médiane 2,4 %. Pour la distribution bêta, les paramètres alpha=24, beta=976 reflètent cette distribution (moyenne=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},"Étape 2 :",{"type":35,"value":110}," Ajoute la variance au niveau segment. La cohorte organique affiche une conversion de l'a priori 18 % plus élevée que la cohorte UA (alpha=28, beta=972). Pour le segment whale : parmi les utilisateurs payants D30+, la conversion atteint 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},"Étape 3 :",{"type":35,"value":120}," Intègre l'ajustement de la courbe d'élasticité prix. Historiquement, la transition $1,99 → $2,99 a réduit la conversion de 14 % en moyenne. Si le nouveau test passe de $2,99 à $3,99, inscris cette pente dans l'a priori :",{"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  # Baisse de 14% par dollar d'augmentation\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},"  # Baisse de 14% par dollar d'augmentation\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":352},{"class":135,"line":351},8,[353,358],{"type":30,"tag":133,"props":354,"children":355},{"style":140},[356],{"type":35,"value":357},"    return",{"type":30,"tag":133,"props":359,"children":360},{"style":152},[361],{"type":35,"value":362}," alpha, beta\n",{"type":30,"tag":31,"props":364,"children":365},{},[366],{"type":35,"value":367},"Cette approche reflète le comportement des cohortes du jeu lui-même plutôt qu'un \"benchmark de l'industrie 2,5 %\".",{"type":30,"tag":38,"props":369,"children":371},{"id":370},"estimation-postérieure-et-tarification-segmentée-en-ladder",[372],{"type":35,"value":373},"Estimation Postérieure et Tarification Segmentée en Ladder",{"type":30,"tag":31,"props":375,"children":376},{},[377],{"type":35,"value":378},"Configuration du test : pack de démarrage $2,99 vs $3,99, distribué 50\u002F50 sur le trafic UA pendant 7 jours. Mais la segmentation reste obligatoire :",{"type":30,"tag":380,"props":381,"children":382},"table",{},[383,412],{"type":30,"tag":384,"props":385,"children":386},"thead",{},[387],{"type":30,"tag":388,"props":389,"children":390},"tr",{},[391,397,402,407],{"type":30,"tag":392,"props":393,"children":394},"th",{},[395],{"type":35,"value":396},"Segment",{"type":30,"tag":392,"props":398,"children":399},{},[400],{"type":35,"value":401},"Prior α",{"type":30,"tag":392,"props":403,"children":404},{},[405],{"type":35,"value":406},"Prior β",{"type":30,"tag":392,"props":408,"children":409},{},[410],{"type":35,"value":411},"Effectif cible",{"type":30,"tag":413,"props":414,"children":415},"tbody",{},[416,440,463,486],{"type":30,"tag":388,"props":417,"children":418},{},[419,425,430,435],{"type":30,"tag":420,"props":421,"children":422},"td",{},[423],{"type":35,"value":424},"D0-D7 organique",{"type":30,"tag":420,"props":426,"children":427},{},[428],{"type":35,"value":429},"28",{"type":30,"tag":420,"props":431,"children":432},{},[433],{"type":35,"value":434},"972",{"type":30,"tag":420,"props":436,"children":437},{},[438],{"type":35,"value":439},"4000",{"type":30,"tag":388,"props":441,"children":442},{},[443,448,453,458],{"type":30,"tag":420,"props":444,"children":445},{},[446],{"type":35,"value":447},"D0-D7 UA",{"type":30,"tag":420,"props":449,"children":450},{},[451],{"type":35,"value":452},"22",{"type":30,"tag":420,"props":454,"children":455},{},[456],{"type":35,"value":457},"978",{"type":30,"tag":420,"props":459,"children":460},{},[461],{"type":35,"value":462},"6000",{"type":30,"tag":388,"props":464,"children":465},{},[466,471,476,481],{"type":30,"tag":420,"props":467,"children":468},{},[469],{"type":35,"value":470},"D7+ non-payant",{"type":30,"tag":420,"props":472,"children":473},{},[474],{"type":35,"value":475},"18",{"type":30,"tag":420,"props":477,"children":478},{},[479],{"type":35,"value":480},"982",{"type":30,"tag":420,"props":482,"children":483},{},[484],{"type":35,"value":485},"3000",{"type":30,"tag":388,"props":487,"children":488},{},[489,494,499,504],{"type":30,"tag":420,"props":490,"children":491},{},[492],{"type":35,"value":493},"D7+ acheteur antérieur",{"type":30,"tag":420,"props":495,"children":496},{},[497],{"type":35,"value":498},"68",{"type":30,"tag":420,"props":500,"children":501},{},[502],{"type":35,"value":503},"932",{"type":30,"tag":420,"props":505,"children":506},{},[507],{"type":35,"value":508},"2000",{"type":30,"tag":31,"props":510,"children":511},{},[512],{"type":35,"value":513},"Chaque segment met à jour sa postérieure indépendamment. Au jour 3, les résultats :",{"type":30,"tag":31,"props":515,"children":516},{},[517,522],{"type":30,"tag":94,"props":518,"children":519},{},[520],{"type":35,"value":521},"Segment organique :",{"type":35,"value":523}," $2,99 → 87 conversions \u002F 2100 expositions, $3,99 → 71 \u002F 2050. Postérieure : α₁=28+87=115, β₁=972+2013=2985 vs α₂=28+71=99, β₂=972+1979=2951. Via Monte Carlo sur 10 000 simulations, P($2,99 meilleur) = 78 %. Vue revenu : $2,99 × 87 = $260, $3,99 × 71 = $283. En modélisant la postérieure revenu avec une distribution gamma, P($3,99 supérieur en revenu) = 61 %.",{"type":30,"tag":31,"props":525,"children":526},{},[527],{"type":35,"value":528},"À ce point, la décision : si conversion est prioritaire chez l'organique, continue avec $2,99 ; si revenu prime, attends 2 jours de plus. Pour le segment UA, $3,99 domine clairement (83 % de probabilité postérieure), le test s'arrête tôt et ce segment bascule à $3,99.",{"type":30,"tag":31,"props":530,"children":531},{},[532,537],{"type":30,"tag":94,"props":533,"children":534},{},[535],{"type":35,"value":536},"Construction dynamique du price ladder par segment :",{"type":35,"value":538}," Une fois le test terminé, l'inventaire IAP se structure ainsi :",{"type":30,"tag":50,"props":540,"children":541},{},[542,547,552,557],{"type":30,"tag":54,"props":543,"children":544},{},[545],{"type":35,"value":546},"D0-D3 organique : pack de démarrage $2,99",{"type":30,"tag":54,"props":548,"children":549},{},[550],{"type":35,"value":551},"D0-D3 UA : pack de démarrage $3,99",{"type":30,"tag":54,"props":553,"children":554},{},[555],{"type":35,"value":556},"D7+ acheteur passé : booster $7,99 (postérieur issu d'un test distinct)",{"type":30,"tag":54,"props":558,"children":559},{},[560],{"type":35,"value":561},"Whale (D30+ $50+ LTV) : bundle premium $14,99",{"type":30,"tag":31,"props":563,"children":564},{},[565,567,576],{"type":35,"value":566},"Cette architecture optimise quatre courbes d'élasticité distinctes au lieu d'un prix global unique. Combinée à la ",{"type":30,"tag":568,"props":569,"children":573},"a",{"href":570,"rel":571},"https:\u002F\u002Fwww.roibase.com.tr\u002Ffr\u002Faso",[572],"nofollow",[574],{"type":35,"value":575},"stratégie d'optimisation pour App Store",{"type":35,"value":577},", cette segmentation affine l'entonnoir IAP davantage : la valeur affichée dans la créative s'aligne avec le palier IAP.",{"type":30,"tag":38,"props":579,"children":581},{"id":580},"thompson-sampling-extension-multi-armed-bandit",[582],{"type":35,"value":583},"Thompson Sampling : Extension Multi-Armed Bandit",{"type":30,"tag":31,"props":585,"children":586},{},[587],{"type":35,"value":588},"Au lieu d'un test fixe sur 7 jours, une extension Thompson sampling : à chaque impression, tire un échantillon de la postérieure du segment, présente le prix avec la plus forte espérance de valeur. Ainsi, pendant le test, l'équilibre exploration\u002Fexploitation se construit dynamiquement.",{"type":30,"tag":31,"props":590,"children":591},{},[592],{"type":35,"value":593},"Pseudo-code :",{"type":30,"tag":122,"props":595,"children":597},{"className":124,"code":596,"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",[598],{"type":30,"tag":129,"props":599,"children":600},{"__ignoreMap":14},[601,618,655,693,715,758],{"type":30,"tag":133,"props":602,"children":603},{"class":135,"line":136},[604,608,613],{"type":30,"tag":133,"props":605,"children":606},{"style":140},[607],{"type":35,"value":143},{"type":30,"tag":133,"props":609,"children":610},{"style":146},[611],{"type":35,"value":612}," thompson_sampling_price",{"type":30,"tag":133,"props":614,"children":615},{"style":152},[616],{"type":35,"value":617},"(segment, price_variants):\n",{"type":30,"tag":133,"props":619,"children":620},{"class":135,"line":158},[621,626,630,635,640,645,650],{"type":30,"tag":133,"props":622,"children":623},{"style":152},[624],{"type":35,"value":625},"    posteriors ",{"type":30,"tag":133,"props":627,"children":628},{"style":140},[629],{"type":35,"value":169},{"type":30,"tag":133,"props":631,"children":632},{"style":152},[633],{"type":35,"value":634}," {p: get_posterior(segment, p) ",{"type":30,"tag":133,"props":636,"children":637},{"style":140},[638],{"type":35,"value":639},"for",{"type":30,"tag":133,"props":641,"children":642},{"style":152},[643],{"type":35,"value":644}," p ",{"type":30,"tag":133,"props":646,"children":647},{"style":140},[648],{"type":35,"value":649},"in",{"type":30,"tag":133,"props":651,"children":652},{"style":152},[653],{"type":35,"value":654}," price_variants}\n",{"type":30,"tag":133,"props":656,"children":657},{"class":135,"line":199},[658,663,667,672,678,683,688],{"type":30,"tag":133,"props":659,"children":660},{"style":152},[661],{"type":35,"value":662},"    samples ",{"type":30,"tag":133,"props":664,"children":665},{"style":140},[666],{"type":35,"value":169},{"type":30,"tag":133,"props":668,"children":669},{"style":152},[670],{"type":35,"value":671}," {p: np.random.beta(post[",{"type":30,"tag":133,"props":673,"children":675},{"style":674},"--shiki-default:#9ECBFF",[676],{"type":35,"value":677},"'alpha'",{"type":30,"tag":133,"props":679,"children":680},{"style":152},[681],{"type":35,"value":682},"], post[",{"type":30,"tag":133,"props":684,"children":685},{"style":674},[686],{"type":35,"value":687},"'beta'",{"type":30,"tag":133,"props":689,"children":690},{"style":152},[691],{"type":35,"value":692},"]) \n",{"type":30,"tag":133,"props":694,"children":695},{"class":135,"line":227},[696,701,706,710],{"type":30,"tag":133,"props":697,"children":698},{"style":140},[699],{"type":35,"value":700},"               for",{"type":30,"tag":133,"props":702,"children":703},{"style":152},[704],{"type":35,"value":705}," p, post ",{"type":30,"tag":133,"props":707,"children":708},{"style":140},[709],{"type":35,"value":649},{"type":30,"tag":133,"props":711,"children":712},{"style":152},[713],{"type":35,"value":714}," posteriors.items()}\n",{"type":30,"tag":133,"props":716,"children":717},{"class":135,"line":255},[718,723,727,732,736,740,744,749,753],{"type":30,"tag":133,"props":719,"children":720},{"style":152},[721],{"type":35,"value":722},"    revenue_samples ",{"type":30,"tag":133,"props":724,"children":725},{"style":140},[726],{"type":35,"value":169},{"type":30,"tag":133,"props":728,"children":729},{"style":152},[730],{"type":35,"value":731}," {p: s ",{"type":30,"tag":133,"props":733,"children":734},{"style":140},[735],{"type":35,"value":247},{"type":30,"tag":133,"props":737,"children":738},{"style":152},[739],{"type":35,"value":644},{"type":30,"tag":133,"props":741,"children":742},{"style":140},[743],{"type":35,"value":639},{"type":30,"tag":133,"props":745,"children":746},{"style":152},[747],{"type":35,"value":748}," p, s ",{"type":30,"tag":133,"props":750,"children":751},{"style":140},[752],{"type":35,"value":649},{"type":30,"tag":133,"props":754,"children":755},{"style":152},[756],{"type":35,"value":757}," samples.items()}\n",{"type":30,"tag":133,"props":759,"children":760},{"class":135,"line":297},[761,765,770,775,781,785],{"type":30,"tag":133,"props":762,"children":763},{"style":140},[764],{"type":35,"value":357},{"type":30,"tag":133,"props":766,"children":767},{"style":177},[768],{"type":35,"value":769}," max",{"type":30,"tag":133,"props":771,"children":772},{"style":152},[773],{"type":35,"value":774},"(revenue_samples, ",{"type":30,"tag":133,"props":776,"children":778},{"style":777},"--shiki-default:#FFAB70",[779],{"type":35,"value":780},"key",{"type":30,"tag":133,"props":782,"children":783},{"style":140},[784],{"type":35,"value":169},{"type":30,"tag":133,"props":786,"children":787},{"style":152},[788],{"type":35,"value":789},"revenue_samples.get)\n",{"type":30,"tag":31,"props":791,"children":792},{},[793],{"type":35,"value":794},"Cette approche minimise particulièrement le regret lors du test de 3+ variantes de prix. Un A\u002FB classique sur 3 prix exige 3× l'effectif, Thompson sampling via mise à jour postérieure élimine automatiquement les mauvaises variantes. Si la postérieure de $2,99 tombe à 9 % au jour 10, son taux d'exposition chute à 5 %, sans gaspillage d'échantillon.",{"type":30,"tag":31,"props":796,"children":797},{},[798],{"type":35,"value":799},"Attention : sans source UA illimitée, Thompson sampling risque d'épuiser le budget. Un budget campagne Meta de $5000\u002Fjour signifie que Thompson pourrait choisir un prix baissant la conversion, le CPA explose, le budget s'écoule à midi. La configuration sûre : les 3 premiers jours, 50\u002F50 split, n'active Thompson que si la crédibilité postérieure dépasse 80 %.",{"type":30,"tag":38,"props":801,"children":803},{"id":802},"revenu-vs-ltv-fusionner-la-postérieure-avec-la-modélisation-de-retention",[804],{"type":35,"value":805},"Revenu vs LTV : Fusionner la Postérieure avec la Modélisation de Retention",{"type":30,"tag":31,"props":807,"children":808},{},[809],{"type":35,"value":810},"La couche finale de l'optimisation prix IAP est la projection LTV. Si $3,99 affiche une conversion plus faible mais une retention D7 supérieure de 8 %, le LTV 90 jours de cette cohorte pourrait surpasser celui de $2,99. Un A\u002FB classique ne le voit pas car le LTV se stabilise après 90 jours. Fusionner la postérieure bayésienne avec un modèle de survie capture le signal précoce.",{"type":30,"tag":31,"props":812,"children":813},{},[814],{"type":35,"value":815},"Setup : pour chaque variante de prix, fit la courbe de retention des 7 premiers jours via le modèle Cox à hasards proportionnels :",{"type":30,"tag":122,"props":817,"children":819},{"className":124,"code":818,"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",[820],{"type":30,"tag":129,"props":821,"children":822},{"__ignoreMap":14},[823,846,855,930,947,992],{"type":30,"tag":133,"props":824,"children":825},{"class":135,"line":136},[826,831,836,841],{"type":30,"tag":133,"props":827,"children":828},{"style":140},[829],{"type":35,"value":830},"from",{"type":30,"tag":133,"props":832,"children":833},{"style":152},[834],{"type":35,"value":835}," lifelines ",{"type":30,"tag":133,"props":837,"children":838},{"style":140},[839],{"type":35,"value":840},"import",{"type":30,"tag":133,"props":842,"children":843},{"style":152},[844],{"type":35,"value":845}," CoxPHFitter\n",{"type":30,"tag":133,"props":847,"children":848},{"class":135,"line":158},[849],{"type":30,"tag":133,"props":850,"children":852},{"emptyLinePlaceholder":851},true,[853],{"type":35,"value":854},"\n",{"type":30,"tag":133,"props":856,"children":857},{"class":135,"line":199},[858,863,868,873,877,882,887,892,897,902,907,912,917,921,925],{"type":30,"tag":133,"props":859,"children":860},{"style":152},[861],{"type":35,"value":862},"df[",{"type":30,"tag":133,"props":864,"children":865},{"style":674},[866],{"type":35,"value":867},"'price_variant'",{"type":30,"tag":133,"props":869,"children":870},{"style":152},[871],{"type":35,"value":872},"] ",{"type":30,"tag":133,"props":874,"children":875},{"style":140},[876],{"type":35,"value":169},{"type":30,"tag":133,"props":878,"children":879},{"style":152},[880],{"type":35,"value":881}," df[",{"type":30,"tag":133,"props":883,"children":884},{"style":674},[885],{"type":35,"value":886},"'variant'",{"type":30,"tag":133,"props":888,"children":889},{"style":152},[890],{"type":35,"value":891},"].map({",{"type":30,"tag":133,"props":893,"children":894},{"style":674},[895],{"type":35,"value":896},"'2.99'",{"type":30,"tag":133,"props":898,"children":899},{"style":152},[900],{"type":35,"value":901},": ",{"type":30,"tag":133,"props":903,"children":904},{"style":177},[905],{"type":35,"value":906},"0",{"type":30,"tag":133,"props":908,"children":909},{"style":152},[910],{"type":35,"value":911},", ",{"type":30,"tag":133,"props":913,"children":914},{"style":674},[915],{"type":35,"value":916},"'3.99'",{"type":30,"tag":133,"props":918,"children":919},{"style":152},[920],{"type":35,"value":901},{"type":30,"tag":133,"props":922,"children":923},{"style":177},[924],{"type":35,"value":284},{"type":30,"tag":133,"props":926,"children":927},{"style":152},[928],{"type":35,"value":929},"})\n",{"type":30,"tag":133,"props":931,"children":932},{"class":135,"line":227},[933,938,942],{"type":30,"tag":133,"props":934,"children":935},{"style":152},[936],{"type":35,"value":937},"cph ",{"type":30,"tag":133,"props":939,"children":940},{"style":140},[941],{"type":35,"value":169},{"type":30,"tag":133,"props":943,"children":944},{"style":152},[945],{"type":35,"value":946}," CoxPHFitter()\n",{"type":30,"tag":133,"props":948,"children":949},{"class":135,"line":255},[950,955,960,964,969,973,978,982,987],{"type":30,"tag":133,"props":951,"children":952},{"style":152},[953],{"type":35,"value":954},"cph.fit(df, ",{"type":30,"tag":133,"props":956,"children":957},{"style":777},[958],{"type":35,"value":959},"duration_col",{"type":30,"tag":133,"props":961,"children":962},{"style":140},[963],{"type":35,"value":169},{"type":30,"tag":133,"props":965,"children":966},{"style":674},[967],{"type":35,"value":968},"'days_retained'",{"type":30,"tag":133,"props":970,"children":971},{"style":152},[972],{"type":35,"value":911},{"type":30,"tag":133,"props":974,"children":975},{"style":777},[976],{"type":35,"value":977},"event_col",{"type":30,"tag":133,"props":979,"children":980},{"style":140},[981],{"type":35,"value":169},{"type":30,"tag":133,"props":983,"children":984},{"style":674},[985],{"type":35,"value":986},"'churned'",{"type":30,"tag":133,"props":988,"children":989},{"style":152},[990],{"type":35,"value":991},", \n",{"type":30,"tag":133,"props":993,"children":994},{"class":135,"line":297},[995,1000,1004,1009],{"type":30,"tag":133,"props":996,"children":997},{"style":777},[998],{"type":35,"value":999},"        formula",{"type":30,"tag":133,"props":1001,"children":1002},{"style":140},[1003],{"type":35,"value":169},{"type":30,"tag":133,"props":1005,"children":1006},{"style":674},[1007],{"type":35,"value":1008},"'price_variant + segment + paid_d3'",{"type":30,"tag":133,"props":1010,"children":1011},{"style":152},[1012],{"type":35,"value":1013},")\n",{"type":30,"tag":31,"props":1015,"children":1016},{},[1017],{"type":35,"value":1018},"Résultat : la variante $3,99 a un hazard ratio de 0,88 (churn 12 % moins élevé, p=0,03). Fusionne-le avec la postérieure :",{"type":30,"tag":31,"props":1020,"children":1021},{},[1022],{"type":30,"tag":94,"props":1023,"children":1024},{},[1025],{"type":35,"value":1026},"Calcul postérieur de LTV :",{"type":30,"tag":50,"props":1028,"children":1029},{},[1030,1049],{"type":30,"tag":54,"props":1031,"children":1032},{},[1033,1035,1040,1042,1047],{"type":35,"value":1034},"$2,99 : E",{"type":30,"tag":133,"props":1036,"children":1037},{},[1038],{"type":35,"value":1039},"conversion",{"type":35,"value":1041},"=0,024, E",{"type":30,"tag":133,"props":1043,"children":1044},{},[1045],{"type":35,"value":1046},"D90_retention",{"type":35,"value":1048},"=0,34, ARPDAU=$0,12 → LTV=$2,99 × 0,024 + 90 × 0,34 × 0,12 = $3,74",{"type":30,"tag":54,"props":1050,"children":1051},{},[1052,1054,1058,1060,1064],{"type":35,"value":1053},"$3,99 : E",{"type":30,"tag":133,"props":1055,"children":1056},{},[1057],{"type":35,"value":1039},{"type":35,"value":1059},"=0,019, E",{"type":30,"tag":133,"props":1061,"children":1062},{},[1063],{"type":35,"value":1046},{"type":35,"value":1065},"=0,38, ARPDAU=$0,15 → LTV=$3,99 × 0,019 + 90 × 0,38 × 0,15 = $5,21",{"type":30,"tag":31,"props":1067,"children":1068},{},[1069],{"type":35,"value":1070},"Via Monte Carlo sur 10 000 itérations, la distribution postérieure LTV : P($3,99 LTV supérieur) = 91 %. Cette crédibilité postérieure est un signal bien plus robuste qu'une vision revenu seul. Décision : choisir $3,99, rééquilibrer la stack IAP.",{"type":30,"tag":38,"props":1072,"children":1074},{"id":1073},"compromis-complexité-du-modèle-vs-vitesse-dexécution",[1075],{"type":35,"value":1076},"Compromis : Complexité du Modèle vs Vitesse d'Exécution",{"type":30,"tag":31,"props":1078,"children":1079},{},[1080],{"type":35,"value":1081},"L'optimisation bayésienne des prix IAP entraîne trois coûts opérationnels :",{"type":30,"tag":31,"props":1083,"children":1084},{},[1085,1090],{"type":30,"tag":94,"props":1086,"children":1087},{},[1088],{"type":35,"value":1089},"1. Maintenance de l'a priori :",{"type":35,"value":1091}," Chaque nouvel événement, changement meta, lancement de concurrent redessine la distribution a priori. Un re-calibrage tous les 6 mois est indispensable. Dans les petits studios sans data scientist, c'est insoutenable.",{"type":30,"tag":31,"props":1093,"children":1094},{},[1095,1100],{"type":30,"tag":94,"props":1096,"children":1097},{},[1098],{"type":35,"value":1099},"2. Granularité des segments :",{"type":35,"value":1101}," 8 segments × 3 prix = 24 postérieures à tracker. Pour les petits segments (ex. whale), la variance postérieure reste élevée, l'intervalle de confiance large. Solution pratique : isoler le segment whale, conserver un A\u002FB test classique, appliquer le bayésien ailleurs.",{"type":30,"tag":31,"props":1103,"children":1104},{},[1105,1110],{"type":30,"tag":94,"props":1106,"children":1107},{},[1108],{"type":35,"value":1109},"3. Fragmentation multi-plateforme :",{"type":35,"value":1111}," iOS vs Android affichent des sensibilités prix différentes. L'App Annie 2025 montre que la conversion iOS dépasse celle d'Android de 23 %. Faut-il une postérieure par plateforme ou un modèle fusionné ? Deux postérieures = sample split, fusion = biais plateforme. Solution : modèle bayésien hiérarchique — plateforme devient un effet aléatoire.",{"type":30,"tag":31,"props":1113,"children":1114},{},[1115],{"type":35,"value":1116},"Néanmoins, le bayésien reste plus rapide qu'attendre 4+ semaines d'A\u002FB. Le test s'arrête à 10 jours, l'impact revenu se voit la semaine 2, la projection LTV se met à jour le jour 30. En fréquentiste, cet agenda s'étire à 8–12 semaines.",{"type":30,"tag":38,"props":1118,"children":1120},{"id":1119},"conclusion-esprit-de-tarification-probabiliste",[1121],{"type":35,"value":1122},"Conclusion : Esprit de Tarification Probabiliste",{"type":30,"tag":31,"props":1124,"children":1125},{},[1126],{"type":35,"value":1127},"Dans le F2P mobile, le test de prix n'est plus binaire, c'est un processus de mise à jour postérieure continu. Au lieu de résoudre conversion et revenu avec des p-values distinctes, les modéliser ensemble dans un cadre probabiliste minimize le regret, raccourcit le test, et active l'optimisation par segment. L'approche bayésienne exige la discipline de construire l'a priori, mais en contrepartie offre le droit à une décision précoce, l'intégration LTV et Thompson sampling pour l'allocation dynamique. Si ta stack IAP dépasse 5+ paliers et que le budget UA mensuel franchit $100K+, l'infrastructure de test bayésienne n'est plus optionnelle, elle devient obligatoire.",{"type":30,"tag":1129,"props":1130,"children":1131},"style",{},[1132],{"type":35,"value":1133},"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":1135},[1136,1137,1138,1139,1140,1141,1142],{"id":40,"depth":158,"text":43},{"id":81,"depth":158,"text":84},{"id":370,"depth":158,"text":373},{"id":580,"depth":158,"text":583},{"id":802,"depth":158,"text":805},{"id":1073,"depth":158,"text":1076},{"id":1119,"depth":158,"text":1122},"markdown","content:fr:gaming:optimisasi-harga-bayesian-f2p-mobile.md","content","fr\u002Fgaming\u002Foptimisasi-harga-bayesian-f2p-mobile.md","fr\u002Fgaming\u002Foptimisasi-harga-bayesian-f2p-mobile","md",1782079501494]