[{"data":1,"prerenderedAt":1342},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fit\u002Fmarketing\u002Ftest-bayesian-decisione-rapida":13},{"i18nKey":4,"paths":5},"marketing-002-2026-05",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fmarketing\u002Fbayesian-ab-test-h","\u002Fen\u002Fmarketing\u002Fbayesian-ab-test-hizli-karar-verme","\u002Fes\u002Fmarketing\u002Fbayesian-ab-test-hizli-karar","\u002Ffr\u002Fmarketing\u002Fbayesian-ab-test-ile-hizli-karar-verme","\u002Fit\u002Fmarketing\u002Ftest-bayesian-decisione-rapida","\u002Fru\u002Fmarketing\u002Fbayesian-ab-testy-dlya-bystrogo-prinyatiya-reshenij","\u002Ftr\u002Fmarketing\u002Fbayesian-a-b-test-ile-hizli-karar-verme",{"_path":10,"_dir":14,"_draft":15,"_partial":15,"_locale":16,"title":17,"description":18,"publishedAt":19,"modifiedAt":19,"category":14,"i18nKey":4,"tags":20,"readingTime":26,"author":27,"body":28,"_type":1336,"_id":1337,"_source":1338,"_file":1339,"_stem":1340,"_extension":1341},"marketing",false,"","Test Bayesiano per Decisioni Veloci nel Performance Marketing","Supera i limiti dei test frequentist. Logic di sequential test, dynamic sample size, e A\u002FB test Bayesiano per decidere in giorni anziché settimane.","2026-05-09",[21,22,23,24,25],"ab-testing","bayesian-statistics","conversion-optimization","performance-marketing","sequential-testing",9,"Roibase",{"type":29,"children":30,"toc":1324},"root",[31,39,46,51,56,61,67,72,77,82,87,94,681,687,692,712,717,825,830,835,841,846,851,867,873,1236,1241,1247,1252,1257,1262,1267,1273,1294,1299,1304,1309,1313,1318],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Nel performance marketing, la velocità del test è un vantaggio competitivo. Con lo scenario di A\u002FB test frequentist tradizionale, aspetti due settimane prima che l'intervallo di confidenza si stabilizzi — intanto il budget della campagna si consuma. L'approccio Bayesiano ti fornisce ogni giorno una distribuzione posteriore aggiornata — puoi affermare \"la variante B ha il 73% di probabilità di vincere\" anche prima che il test sia concluso. Questo articolo spiega la meccanica del test A\u002FB Bayesiano, le regole di decisione sequenziale e la dinamica della dimensione campionaria. Supererai il vincolo dell'orizzonte fisso frequentist, passando all'aggiornamento continuo delle decisioni all'interno del flusso dati quotidiano.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"il-problema-dellorizzonte-fisso-nel-test-frequentist",[44],{"type":37,"value":45},"Il Problema dell'Orizzonte Fisso nel Test Frequentist",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"Il test A\u002FB classico si basa su p-value e dimensione campionaria fissa. Inizi il test affermando \"ho bisogno di n=5000 visitatori, ci vorranno 14 giorni\" — e fino al 14º giorno non puoi giungere a nessuna conclusione definitiva. Durante questo periodo, continui a inviare traffico alla variante perdente — anche se il tasso di conversione è inferiore di 2 punti percentuali, sei obbligato ad attendere il 14º giorno senza rompere il piano. Se interrompi anticipatamente, l'errore di tipo I si amplifica, emerge il problema del multiple testing.",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"La logica frequentist, con il suo soglia p \u003C 0.05, fornisce significatività statistica ma non necessariamente rilevanza pratica. Per esempio, un incremento dello 0.5% può risultare statisticamente significativo (grazie a una dimensione campionaria ampia) ma l'impatto operativo è nullo. L'intervallo di confidenza e l'effect size richiedono interpretazione separata — il framework frequentist non lo mostra automaticamente.",{"type":32,"tag":33,"props":57,"children":58},{},[59],{"type":37,"value":60},"Un'altra limitazione: non puoi fare monitoring sequenziale. Calcoli la dimensione campionaria all'inizio del test e attendi fino al raggiungimento di quel campione. Se una variante sta vincendo chiaramente durante questo periodo, sei comunque obbligato a proseguire il test per non invalidiare il p-value. Diversamente, stai \"peeking\" ai dati, e il p-value perde validità.",{"type":32,"tag":40,"props":62,"children":64},{"id":63},"test-bayesiano-distribuzione-posteriore-aggiornata",[65],{"type":37,"value":66},"Test Bayesiano: Distribuzione Posteriore Aggiornata",{"type":32,"tag":33,"props":68,"children":69},{},[70],{"type":37,"value":71},"L'approccio Bayesiano si basa sulla logica: prior belief + dati = posteriore. All'inizio del test, definisci una distribuzione prior per il tasso di conversione di ogni variante (solitamente uninformativo Beta(1,1) oppure informativo basato su dati storici). Ogni visitatore che arriva aggiorna il posteriore mediante il teorema di Bayes. Al 100º visitatore il posteriore ha una forma, al 200º visitatore ne ha un'altra — aggiornamento continuo.",{"type":32,"tag":33,"props":73,"children":74},{},[75],{"type":37,"value":76},"La distribuzione posteriore rappresenta letteralmente \"la densità di probabilità del vero tasso di conversione di questa variante\". Per esempio, un posteriore Beta(25, 75) indica che il tasso di conversione tra il 20% e il 30% ha alta densità di probabilità. Confrontando i posteriori di due varianti, puoi calcolare \"la probabilità che B sia migliore di A\" — questa formula P(B > A) emerge naturalmente nel mondo Bayesiano.",{"type":32,"tag":33,"props":78,"children":79},{},[80],{"type":37,"value":81},"La versione sequenziale del test Bayesiano: aggiorna il posteriore ogni giorno, e quando P(B > A) > 0.95 ferma il test. Questa soglia riflette la tua tolleranza al rischio — puoi usare il 90% o il 99% invece del 95%. Nel framework frequentist non esiste tale meccanismo: la tua unica opzione è l'orizzonte fisso. Nel Bayesiano, puoi decidere in qualsiasi momento perché il posteriore fornisce informazione completa.",{"type":32,"tag":33,"props":83,"children":84},{},[85],{"type":37,"value":86},"Nel test Bayesiano non esiste il p-value. Al suo posto usi metriche come: probability of superiority P(B > A), expected loss (il lift atteso che perdi se scegli A quando B è effettivamente migliore), credible interval (l'intervallo al 95% della distribuzione posteriore). Queste sono più interpretabili nella pratica — puoi dire \"la variante B ha l'85% di probabilità di vincere e se vince offre un lift medio del 2.3%\".",{"type":32,"tag":88,"props":89,"children":91},"h3",{"id":90},"codice-di-aggiornamento-del-posteriore",[92],{"type":37,"value":93},"Codice di Aggiornamento del Posteriore",{"type":32,"tag":95,"props":96,"children":100},"pre",{"className":97,"code":98,"language":99,"meta":16,"style":16},"language-python shiki shiki-themes github-dark","import numpy as np\nfrom scipy.stats import beta\n\n# Prior: Beta(1,1) = uniforme\nprior_alpha, prior_beta = 1, 1\n\n# Dati in arrivo: variante A con 50 conversioni, 200 visite\nconversions_A = 50\nvisits_A = 200\nfailures_A = visits_A - conversions_A\n\n# Posteriore: Beta(alpha + conversioni, beta + fallimenti)\npost_alpha_A = prior_alpha + conversions_A\npost_beta_A = prior_beta + failures_A\n\n# Campiona dalla distribuzione posteriore\nsamples_A = beta.rvs(post_alpha_A, post_beta_A, size=10000)\n\n# Stesso processo per la variante B\nconversions_B = 60\nvisits_B = 200\nfailures_B = visits_B - conversions_B\npost_alpha_B = prior_alpha + conversions_B\npost_beta_B = prior_beta + failures_B\nsamples_B = beta.rvs(post_alpha_B, post_beta_B, size=10000)\n\n# Calcola P(B > A)\nprob_B_wins = (samples_B > samples_A).mean()\nprint(f\"P(B > A): {prob_B_wins:.2%}\")  # Esempio: 0.82 = 82% di probabilità che B vinca\n","python",[101],{"type":32,"tag":102,"props":103,"children":104},"code",{"__ignoreMap":16},[105,133,156,166,176,206,214,223,241,258,286,294,303,330,357,365,374,412,420,429,447,464,491,516,542,576,584,593,621],{"type":32,"tag":106,"props":107,"children":110},"span",{"class":108,"line":109},"line",1,[111,117,123,128],{"type":32,"tag":106,"props":112,"children":114},{"style":113},"--shiki-default:#F97583",[115],{"type":37,"value":116},"import",{"type":32,"tag":106,"props":118,"children":120},{"style":119},"--shiki-default:#E1E4E8",[121],{"type":37,"value":122}," numpy ",{"type":32,"tag":106,"props":124,"children":125},{"style":113},[126],{"type":37,"value":127},"as",{"type":32,"tag":106,"props":129,"children":130},{"style":119},[131],{"type":37,"value":132}," np\n",{"type":32,"tag":106,"props":134,"children":136},{"class":108,"line":135},2,[137,142,147,151],{"type":32,"tag":106,"props":138,"children":139},{"style":113},[140],{"type":37,"value":141},"from",{"type":32,"tag":106,"props":143,"children":144},{"style":119},[145],{"type":37,"value":146}," scipy.stats ",{"type":32,"tag":106,"props":148,"children":149},{"style":113},[150],{"type":37,"value":116},{"type":32,"tag":106,"props":152,"children":153},{"style":119},[154],{"type":37,"value":155}," beta\n",{"type":32,"tag":106,"props":157,"children":159},{"class":108,"line":158},3,[160],{"type":32,"tag":106,"props":161,"children":163},{"emptyLinePlaceholder":162},true,[164],{"type":37,"value":165},"\n",{"type":32,"tag":106,"props":167,"children":169},{"class":108,"line":168},4,[170],{"type":32,"tag":106,"props":171,"children":173},{"style":172},"--shiki-default:#6A737D",[174],{"type":37,"value":175},"# Prior: Beta(1,1) = uniforme\n",{"type":32,"tag":106,"props":177,"children":179},{"class":108,"line":178},5,[180,185,190,196,201],{"type":32,"tag":106,"props":181,"children":182},{"style":119},[183],{"type":37,"value":184},"prior_alpha, prior_beta ",{"type":32,"tag":106,"props":186,"children":187},{"style":113},[188],{"type":37,"value":189},"=",{"type":32,"tag":106,"props":191,"children":193},{"style":192},"--shiki-default:#79B8FF",[194],{"type":37,"value":195}," 1",{"type":32,"tag":106,"props":197,"children":198},{"style":119},[199],{"type":37,"value":200},", ",{"type":32,"tag":106,"props":202,"children":203},{"style":192},[204],{"type":37,"value":205},"1\n",{"type":32,"tag":106,"props":207,"children":209},{"class":108,"line":208},6,[210],{"type":32,"tag":106,"props":211,"children":212},{"emptyLinePlaceholder":162},[213],{"type":37,"value":165},{"type":32,"tag":106,"props":215,"children":217},{"class":108,"line":216},7,[218],{"type":32,"tag":106,"props":219,"children":220},{"style":172},[221],{"type":37,"value":222},"# Dati in arrivo: variante A con 50 conversioni, 200 visite\n",{"type":32,"tag":106,"props":224,"children":226},{"class":108,"line":225},8,[227,232,236],{"type":32,"tag":106,"props":228,"children":229},{"style":119},[230],{"type":37,"value":231},"conversions_A ",{"type":32,"tag":106,"props":233,"children":234},{"style":113},[235],{"type":37,"value":189},{"type":32,"tag":106,"props":237,"children":238},{"style":192},[239],{"type":37,"value":240}," 50\n",{"type":32,"tag":106,"props":242,"children":243},{"class":108,"line":26},[244,249,253],{"type":32,"tag":106,"props":245,"children":246},{"style":119},[247],{"type":37,"value":248},"visits_A ",{"type":32,"tag":106,"props":250,"children":251},{"style":113},[252],{"type":37,"value":189},{"type":32,"tag":106,"props":254,"children":255},{"style":192},[256],{"type":37,"value":257}," 200\n",{"type":32,"tag":106,"props":259,"children":261},{"class":108,"line":260},10,[262,267,271,276,281],{"type":32,"tag":106,"props":263,"children":264},{"style":119},[265],{"type":37,"value":266},"failures_A ",{"type":32,"tag":106,"props":268,"children":269},{"style":113},[270],{"type":37,"value":189},{"type":32,"tag":106,"props":272,"children":273},{"style":119},[274],{"type":37,"value":275}," visits_A ",{"type":32,"tag":106,"props":277,"children":278},{"style":113},[279],{"type":37,"value":280},"-",{"type":32,"tag":106,"props":282,"children":283},{"style":119},[284],{"type":37,"value":285}," conversions_A\n",{"type":32,"tag":106,"props":287,"children":289},{"class":108,"line":288},11,[290],{"type":32,"tag":106,"props":291,"children":292},{"emptyLinePlaceholder":162},[293],{"type":37,"value":165},{"type":32,"tag":106,"props":295,"children":297},{"class":108,"line":296},12,[298],{"type":32,"tag":106,"props":299,"children":300},{"style":172},[301],{"type":37,"value":302},"# Posteriore: Beta(alpha + conversioni, beta + fallimenti)\n",{"type":32,"tag":106,"props":304,"children":306},{"class":108,"line":305},13,[307,312,316,321,326],{"type":32,"tag":106,"props":308,"children":309},{"style":119},[310],{"type":37,"value":311},"post_alpha_A ",{"type":32,"tag":106,"props":313,"children":314},{"style":113},[315],{"type":37,"value":189},{"type":32,"tag":106,"props":317,"children":318},{"style":119},[319],{"type":37,"value":320}," prior_alpha ",{"type":32,"tag":106,"props":322,"children":323},{"style":113},[324],{"type":37,"value":325},"+",{"type":32,"tag":106,"props":327,"children":328},{"style":119},[329],{"type":37,"value":285},{"type":32,"tag":106,"props":331,"children":333},{"class":108,"line":332},14,[334,339,343,348,352],{"type":32,"tag":106,"props":335,"children":336},{"style":119},[337],{"type":37,"value":338},"post_beta_A ",{"type":32,"tag":106,"props":340,"children":341},{"style":113},[342],{"type":37,"value":189},{"type":32,"tag":106,"props":344,"children":345},{"style":119},[346],{"type":37,"value":347}," prior_beta ",{"type":32,"tag":106,"props":349,"children":350},{"style":113},[351],{"type":37,"value":325},{"type":32,"tag":106,"props":353,"children":354},{"style":119},[355],{"type":37,"value":356}," failures_A\n",{"type":32,"tag":106,"props":358,"children":360},{"class":108,"line":359},15,[361],{"type":32,"tag":106,"props":362,"children":363},{"emptyLinePlaceholder":162},[364],{"type":37,"value":165},{"type":32,"tag":106,"props":366,"children":368},{"class":108,"line":367},16,[369],{"type":32,"tag":106,"props":370,"children":371},{"style":172},[372],{"type":37,"value":373},"# Campiona dalla distribuzione posteriore\n",{"type":32,"tag":106,"props":375,"children":377},{"class":108,"line":376},17,[378,383,387,392,398,402,407],{"type":32,"tag":106,"props":379,"children":380},{"style":119},[381],{"type":37,"value":382},"samples_A ",{"type":32,"tag":106,"props":384,"children":385},{"style":113},[386],{"type":37,"value":189},{"type":32,"tag":106,"props":388,"children":389},{"style":119},[390],{"type":37,"value":391}," beta.rvs(post_alpha_A, post_beta_A, ",{"type":32,"tag":106,"props":393,"children":395},{"style":394},"--shiki-default:#FFAB70",[396],{"type":37,"value":397},"size",{"type":32,"tag":106,"props":399,"children":400},{"style":113},[401],{"type":37,"value":189},{"type":32,"tag":106,"props":403,"children":404},{"style":192},[405],{"type":37,"value":406},"10000",{"type":32,"tag":106,"props":408,"children":409},{"style":119},[410],{"type":37,"value":411},")\n",{"type":32,"tag":106,"props":413,"children":415},{"class":108,"line":414},18,[416],{"type":32,"tag":106,"props":417,"children":418},{"emptyLinePlaceholder":162},[419],{"type":37,"value":165},{"type":32,"tag":106,"props":421,"children":423},{"class":108,"line":422},19,[424],{"type":32,"tag":106,"props":425,"children":426},{"style":172},[427],{"type":37,"value":428},"# Stesso processo per la variante B\n",{"type":32,"tag":106,"props":430,"children":432},{"class":108,"line":431},20,[433,438,442],{"type":32,"tag":106,"props":434,"children":435},{"style":119},[436],{"type":37,"value":437},"conversions_B ",{"type":32,"tag":106,"props":439,"children":440},{"style":113},[441],{"type":37,"value":189},{"type":32,"tag":106,"props":443,"children":444},{"style":192},[445],{"type":37,"value":446}," 60\n",{"type":32,"tag":106,"props":448,"children":450},{"class":108,"line":449},21,[451,456,460],{"type":32,"tag":106,"props":452,"children":453},{"style":119},[454],{"type":37,"value":455},"visits_B ",{"type":32,"tag":106,"props":457,"children":458},{"style":113},[459],{"type":37,"value":189},{"type":32,"tag":106,"props":461,"children":462},{"style":192},[463],{"type":37,"value":257},{"type":32,"tag":106,"props":465,"children":467},{"class":108,"line":466},22,[468,473,477,482,486],{"type":32,"tag":106,"props":469,"children":470},{"style":119},[471],{"type":37,"value":472},"failures_B ",{"type":32,"tag":106,"props":474,"children":475},{"style":113},[476],{"type":37,"value":189},{"type":32,"tag":106,"props":478,"children":479},{"style":119},[480],{"type":37,"value":481}," visits_B ",{"type":32,"tag":106,"props":483,"children":484},{"style":113},[485],{"type":37,"value":280},{"type":32,"tag":106,"props":487,"children":488},{"style":119},[489],{"type":37,"value":490}," conversions_B\n",{"type":32,"tag":106,"props":492,"children":494},{"class":108,"line":493},23,[495,500,504,508,512],{"type":32,"tag":106,"props":496,"children":497},{"style":119},[498],{"type":37,"value":499},"post_alpha_B ",{"type":32,"tag":106,"props":501,"children":502},{"style":113},[503],{"type":37,"value":189},{"type":32,"tag":106,"props":505,"children":506},{"style":119},[507],{"type":37,"value":320},{"type":32,"tag":106,"props":509,"children":510},{"style":113},[511],{"type":37,"value":325},{"type":32,"tag":106,"props":513,"children":514},{"style":119},[515],{"type":37,"value":490},{"type":32,"tag":106,"props":517,"children":519},{"class":108,"line":518},24,[520,525,529,533,537],{"type":32,"tag":106,"props":521,"children":522},{"style":119},[523],{"type":37,"value":524},"post_beta_B ",{"type":32,"tag":106,"props":526,"children":527},{"style":113},[528],{"type":37,"value":189},{"type":32,"tag":106,"props":530,"children":531},{"style":119},[532],{"type":37,"value":347},{"type":32,"tag":106,"props":534,"children":535},{"style":113},[536],{"type":37,"value":325},{"type":32,"tag":106,"props":538,"children":539},{"style":119},[540],{"type":37,"value":541}," failures_B\n",{"type":32,"tag":106,"props":543,"children":545},{"class":108,"line":544},25,[546,551,555,560,564,568,572],{"type":32,"tag":106,"props":547,"children":548},{"style":119},[549],{"type":37,"value":550},"samples_B ",{"type":32,"tag":106,"props":552,"children":553},{"style":113},[554],{"type":37,"value":189},{"type":32,"tag":106,"props":556,"children":557},{"style":119},[558],{"type":37,"value":559}," beta.rvs(post_alpha_B, post_beta_B, ",{"type":32,"tag":106,"props":561,"children":562},{"style":394},[563],{"type":37,"value":397},{"type":32,"tag":106,"props":565,"children":566},{"style":113},[567],{"type":37,"value":189},{"type":32,"tag":106,"props":569,"children":570},{"style":192},[571],{"type":37,"value":406},{"type":32,"tag":106,"props":573,"children":574},{"style":119},[575],{"type":37,"value":411},{"type":32,"tag":106,"props":577,"children":579},{"class":108,"line":578},26,[580],{"type":32,"tag":106,"props":581,"children":582},{"emptyLinePlaceholder":162},[583],{"type":37,"value":165},{"type":32,"tag":106,"props":585,"children":587},{"class":108,"line":586},27,[588],{"type":32,"tag":106,"props":589,"children":590},{"style":172},[591],{"type":37,"value":592},"# Calcola P(B > A)\n",{"type":32,"tag":106,"props":594,"children":596},{"class":108,"line":595},28,[597,602,606,611,616],{"type":32,"tag":106,"props":598,"children":599},{"style":119},[600],{"type":37,"value":601},"prob_B_wins ",{"type":32,"tag":106,"props":603,"children":604},{"style":113},[605],{"type":37,"value":189},{"type":32,"tag":106,"props":607,"children":608},{"style":119},[609],{"type":37,"value":610}," (samples_B ",{"type":32,"tag":106,"props":612,"children":613},{"style":113},[614],{"type":37,"value":615},">",{"type":32,"tag":106,"props":617,"children":618},{"style":119},[619],{"type":37,"value":620}," samples_A).mean()\n",{"type":32,"tag":106,"props":622,"children":624},{"class":108,"line":623},29,[625,630,635,640,646,651,656,661,666,671,676],{"type":32,"tag":106,"props":626,"children":627},{"style":192},[628],{"type":37,"value":629},"print",{"type":32,"tag":106,"props":631,"children":632},{"style":119},[633],{"type":37,"value":634},"(",{"type":32,"tag":106,"props":636,"children":637},{"style":113},[638],{"type":37,"value":639},"f",{"type":32,"tag":106,"props":641,"children":643},{"style":642},"--shiki-default:#9ECBFF",[644],{"type":37,"value":645},"\"P(B > A): ",{"type":32,"tag":106,"props":647,"children":648},{"style":192},[649],{"type":37,"value":650},"{",{"type":32,"tag":106,"props":652,"children":653},{"style":119},[654],{"type":37,"value":655},"prob_B_wins",{"type":32,"tag":106,"props":657,"children":658},{"style":113},[659],{"type":37,"value":660},":.2%",{"type":32,"tag":106,"props":662,"children":663},{"style":192},[664],{"type":37,"value":665},"}",{"type":32,"tag":106,"props":667,"children":668},{"style":642},[669],{"type":37,"value":670},"\"",{"type":32,"tag":106,"props":672,"children":673},{"style":119},[674],{"type":37,"value":675},")  ",{"type":32,"tag":106,"props":677,"children":678},{"style":172},[679],{"type":37,"value":680},"# Esempio: 0.82 = 82% di probabilità che B vinca\n",{"type":32,"tag":40,"props":682,"children":684},{"id":683},"dynamic-sample-size-e-early-stopping",[685],{"type":37,"value":686},"Dynamic Sample Size e Early Stopping",{"type":32,"tag":33,"props":688,"children":689},{},[690],{"type":37,"value":691},"Nel test Bayesiano la dimensione campionaria non è fissa. Puoi fissare un limite minimo all'inizio del test — per esempio \"almeno 1000 visitatori\" (affinché il posteriore non sia eccessivamente ampio) — ma il limite superiore è dinamico. Quando P(B > A) > 0.95 fermi il test — potrebbe accadere al 500º visitatore oppure al 5000º.",{"type":32,"tag":33,"props":693,"children":694},{},[695,697,703,705,710],{"type":37,"value":696},"La metrica expected loss è eccellente per decisioni precoci. Formula: ",{"type":32,"tag":102,"props":698,"children":700},{"className":699},[],[701],{"type":37,"value":702},"E[Loss] = E[max(0, CR_winner - CR_chosen)]",{"type":37,"value":704},". In altre parole, se scegli A ma B è effettivamente migliore, l'incremento di tasso di conversione che stai perdendo in aspettativa. Fissa una soglia di loss — per esempio \"E",{"type":32,"tag":106,"props":706,"children":707},{},[708],{"type":37,"value":709},"Loss",{"type":37,"value":711}," \u003C 0.5%\" — e ferma il test con la garanzia \"nel peggiore dei casi perdo lo 0.5% di lift\". Questa metrica facilita decisioni risk-averse.",{"type":32,"tag":33,"props":713,"children":714},{},[715],{"type":37,"value":716},"Esempio di regola di stopping sequenziale:",{"type":32,"tag":718,"props":719,"children":720},"table",{},[721,745],{"type":32,"tag":722,"props":723,"children":724},"thead",{},[725],{"type":32,"tag":726,"props":727,"children":728},"tr",{},[729,735,740],{"type":32,"tag":730,"props":731,"children":732},"th",{},[733],{"type":37,"value":734},"Metrica",{"type":32,"tag":730,"props":736,"children":737},{},[738],{"type":37,"value":739},"Soglia",{"type":32,"tag":730,"props":741,"children":742},{},[743],{"type":37,"value":744},"Azione",{"type":32,"tag":746,"props":747,"children":748},"tbody",{},[749,768,785,807],{"type":32,"tag":726,"props":750,"children":751},{},[752,758,763],{"type":32,"tag":753,"props":754,"children":755},"td",{},[756],{"type":37,"value":757},"P(B > A)",{"type":32,"tag":753,"props":759,"children":760},{},[761],{"type":37,"value":762},"> 0.95",{"type":32,"tag":753,"props":764,"children":765},{},[766],{"type":37,"value":767},"Dichiara B come vincitore",{"type":32,"tag":726,"props":769,"children":770},{},[771,776,780],{"type":32,"tag":753,"props":772,"children":773},{},[774],{"type":37,"value":775},"P(A > B)",{"type":32,"tag":753,"props":777,"children":778},{},[779],{"type":37,"value":762},{"type":32,"tag":753,"props":781,"children":782},{},[783],{"type":37,"value":784},"Dichiara A come vincitore",{"type":32,"tag":726,"props":786,"children":787},{},[788,797,802],{"type":32,"tag":753,"props":789,"children":790},{},[791,793],{"type":37,"value":792},"E",{"type":32,"tag":106,"props":794,"children":795},{},[796],{"type":37,"value":709},{"type":32,"tag":753,"props":798,"children":799},{},[800],{"type":37,"value":801},"\u003C 0.005",{"type":32,"tag":753,"props":803,"children":804},{},[805],{"type":37,"value":806},"Chiudi la variante perdente",{"type":32,"tag":726,"props":808,"children":809},{},[810,815,820],{"type":32,"tag":753,"props":811,"children":812},{},[813],{"type":37,"value":814},"Visite minime",{"type":32,"tag":753,"props":816,"children":817},{},[818],{"type":37,"value":819},"\u003C 1000",{"type":32,"tag":753,"props":821,"children":822},{},[823],{"type":37,"value":824},"Non decidere ancora",{"type":32,"tag":33,"props":826,"children":827},{},[828],{"type":37,"value":829},"Grazie a queste regole, la durata del test si accorcia in media del 30-40% (secondo i dati dei motori Bayesiani di Google Optimize e VWO). In scenari di grande effect size, puoi decidere con il 95% di confidence in 3 giorni — con il frequentist aspettavi 14 giorni.",{"type":32,"tag":33,"props":831,"children":832},{},[833],{"type":37,"value":834},"La differenza con il multi-armed bandit: il test A\u002FB Bayesiano non esegue ancora optimization exploration-exploitation; esegue solo aggiornamento posteriore e regole di stopping. L'algoritmo bandit ottimizza dinamicamente la distribuzione del traffico (come Thompson Sampling), il test Bayesiano usa uno split fisso (50\u002F50) ma termina prima. Il bandit è più aggressivo — ad ogni impression alloca più traffico alla variante vincente. Il test Bayesiano è più conservatore — lo split rimane fisso, solo la decisione è veloce.",{"type":32,"tag":40,"props":836,"children":838},{"id":837},"prior-informativo-e-test-di-incrementality",[839],{"type":37,"value":840},"Prior Informativo e Test di Incrementality",{"type":32,"tag":33,"props":842,"children":843},{},[844],{"type":37,"value":845},"La scelta del prior è il punto critico del test Bayesiano. Un prior uninformativo (Beta(1,1)) ignora la conoscenza passata, producendo un posteriore completamente data-driven. Un prior informativo invece proviene da test storici o da tassi di conversione baseline per segmento. Per esempio, se nei tuoi ultimi 50 test su dispositivi mobili la media è stata il 12% di conversione, puoi usare un prior Beta(60, 440) (approssimativamente 12% di media, ma con variabilità). Questo prior fornisce al nuovo test un'assunzione \"ragionevole rispetto alla storia\".",{"type":32,"tag":33,"props":847,"children":848},{},[849],{"type":37,"value":850},"Il vantaggio di un prior informativo è ridotto il bisogno di sample size. L'aggiornamento posteriore non parte da zero; comincia da un punto informato. Lo svantaggio è il potenziale bias: se il prior è scelto male, distorce il risultato. Se il segmento è cambiato o c'è un effetto stagionale, il prior vecchio induce in inganno. Pertanto, un'analisi di sensibilità del prior è necessaria — verifica se i risultati cambiano con prior diversi.",{"type":32,"tag":33,"props":852,"children":853},{},[854,856,865],{"type":37,"value":855},"Nei processi di ",{"type":32,"tag":857,"props":858,"children":862},"a",{"href":859,"rel":860},"https:\u002F\u002Fwww.roibase.com.tr\u002Fit\u002Fcro",[861],"nofollow",[863],{"type":37,"value":864},"Conversion Rate Optimization",{"type":37,"value":866},", il test Bayesiano facilita la misurazione dell'incrementality. Un test di incrementality richiede un holdout group o un geo-split. Con l'approccio Bayesiano, confronti il posteriore del tasso di conversione del gruppo holdout con quello del gruppo test — ottieni una distribuzione del lift. Invece del t-test classico, calcoli P(lift > 0), che è più interpretabile. Puoi dire \"la nuova campagna ha il 78% di probabilità di generare incrementality, e il lift atteso è tra 1.2% e 2.8%\".",{"type":32,"tag":88,"props":868,"children":870},{"id":869},"confronto-tra-scelte-di-prior",[871],{"type":37,"value":872},"Confronto Tra Scelte di Prior",{"type":32,"tag":95,"props":874,"children":876},{"className":97,"code":875,"language":99,"meta":16,"style":16},"# Prior uninformativo\nprior_uninf = beta(1, 1)\n\n# Prior informativo: conversione storica del 12%, n=500 campioni\n# Beta media = alpha \u002F (alpha + beta) → 60\u002F500 = 0.12\nprior_inf = beta(60, 440)\n\n# Posteriore con 20 conversioni, 100 visite\nconversions, visits = 20, 100\npost_uninf = beta(1 + conversions, 1 + (visits - conversions))\npost_inf = beta(60 + conversions, 440 + (visits - conversions))\n\n# Medie posteriori\nprint(f\"Media posteriore uninformativo: {post_uninf.mean():.2%}\")  # ~20%\nprint(f\"Media posteriore informativo: {post_inf.mean():.2%}\")      # ~13.3%\n",[877],{"type":32,"tag":102,"props":878,"children":879},{"__ignoreMap":16},[880,888,922,929,937,945,979,986,994,1020,1072,1120,1127,1135,1185],{"type":32,"tag":106,"props":881,"children":882},{"class":108,"line":109},[883],{"type":32,"tag":106,"props":884,"children":885},{"style":172},[886],{"type":37,"value":887},"# Prior uninformativo\n",{"type":32,"tag":106,"props":889,"children":890},{"class":108,"line":135},[891,896,900,905,910,914,918],{"type":32,"tag":106,"props":892,"children":893},{"style":119},[894],{"type":37,"value":895},"prior_uninf ",{"type":32,"tag":106,"props":897,"children":898},{"style":113},[899],{"type":37,"value":189},{"type":32,"tag":106,"props":901,"children":902},{"style":119},[903],{"type":37,"value":904}," beta(",{"type":32,"tag":106,"props":906,"children":907},{"style":192},[908],{"type":37,"value":909},"1",{"type":32,"tag":106,"props":911,"children":912},{"style":119},[913],{"type":37,"value":200},{"type":32,"tag":106,"props":915,"children":916},{"style":192},[917],{"type":37,"value":909},{"type":32,"tag":106,"props":919,"children":920},{"style":119},[921],{"type":37,"value":411},{"type":32,"tag":106,"props":923,"children":924},{"class":108,"line":158},[925],{"type":32,"tag":106,"props":926,"children":927},{"emptyLinePlaceholder":162},[928],{"type":37,"value":165},{"type":32,"tag":106,"props":930,"children":931},{"class":108,"line":168},[932],{"type":32,"tag":106,"props":933,"children":934},{"style":172},[935],{"type":37,"value":936},"# Prior informativo: conversione storica del 12%, n=500 campioni\n",{"type":32,"tag":106,"props":938,"children":939},{"class":108,"line":178},[940],{"type":32,"tag":106,"props":941,"children":942},{"style":172},[943],{"type":37,"value":944},"# Beta media = alpha \u002F (alpha + beta) → 60\u002F500 = 0.12\n",{"type":32,"tag":106,"props":946,"children":947},{"class":108,"line":208},[948,953,957,961,966,970,975],{"type":32,"tag":106,"props":949,"children":950},{"style":119},[951],{"type":37,"value":952},"prior_inf ",{"type":32,"tag":106,"props":954,"children":955},{"style":113},[956],{"type":37,"value":189},{"type":32,"tag":106,"props":958,"children":959},{"style":119},[960],{"type":37,"value":904},{"type":32,"tag":106,"props":962,"children":963},{"style":192},[964],{"type":37,"value":965},"60",{"type":32,"tag":106,"props":967,"children":968},{"style":119},[969],{"type":37,"value":200},{"type":32,"tag":106,"props":971,"children":972},{"style":192},[973],{"type":37,"value":974},"440",{"type":32,"tag":106,"props":976,"children":977},{"style":119},[978],{"type":37,"value":411},{"type":32,"tag":106,"props":980,"children":981},{"class":108,"line":216},[982],{"type":32,"tag":106,"props":983,"children":984},{"emptyLinePlaceholder":162},[985],{"type":37,"value":165},{"type":32,"tag":106,"props":987,"children":988},{"class":108,"line":225},[989],{"type":32,"tag":106,"props":990,"children":991},{"style":172},[992],{"type":37,"value":993},"# Posteriore con 20 conversioni, 100 visite\n",{"type":32,"tag":106,"props":995,"children":996},{"class":108,"line":26},[997,1002,1006,1011,1015],{"type":32,"tag":106,"props":998,"children":999},{"style":119},[1000],{"type":37,"value":1001},"conversions, visits ",{"type":32,"tag":106,"props":1003,"children":1004},{"style":113},[1005],{"type":37,"value":189},{"type":32,"tag":106,"props":1007,"children":1008},{"style":192},[1009],{"type":37,"value":1010}," 20",{"type":32,"tag":106,"props":1012,"children":1013},{"style":119},[1014],{"type":37,"value":200},{"type":32,"tag":106,"props":1016,"children":1017},{"style":192},[1018],{"type":37,"value":1019},"100\n",{"type":32,"tag":106,"props":1021,"children":1022},{"class":108,"line":260},[1023,1028,1032,1036,1040,1045,1050,1054,1058,1063,1067],{"type":32,"tag":106,"props":1024,"children":1025},{"style":119},[1026],{"type":37,"value":1027},"post_uninf ",{"type":32,"tag":106,"props":1029,"children":1030},{"style":113},[1031],{"type":37,"value":189},{"type":32,"tag":106,"props":1033,"children":1034},{"style":119},[1035],{"type":37,"value":904},{"type":32,"tag":106,"props":1037,"children":1038},{"style":192},[1039],{"type":37,"value":909},{"type":32,"tag":106,"props":1041,"children":1042},{"style":113},[1043],{"type":37,"value":1044}," +",{"type":32,"tag":106,"props":1046,"children":1047},{"style":119},[1048],{"type":37,"value":1049}," conversions, ",{"type":32,"tag":106,"props":1051,"children":1052},{"style":192},[1053],{"type":37,"value":909},{"type":32,"tag":106,"props":1055,"children":1056},{"style":113},[1057],{"type":37,"value":1044},{"type":32,"tag":106,"props":1059,"children":1060},{"style":119},[1061],{"type":37,"value":1062}," (visits ",{"type":32,"tag":106,"props":1064,"children":1065},{"style":113},[1066],{"type":37,"value":280},{"type":32,"tag":106,"props":1068,"children":1069},{"style":119},[1070],{"type":37,"value":1071}," conversions))\n",{"type":32,"tag":106,"props":1073,"children":1074},{"class":108,"line":288},[1075,1080,1084,1088,1092,1096,1100,1104,1108,1112,1116],{"type":32,"tag":106,"props":1076,"children":1077},{"style":119},[1078],{"type":37,"value":1079},"post_inf ",{"type":32,"tag":106,"props":1081,"children":1082},{"style":113},[1083],{"type":37,"value":189},{"type":32,"tag":106,"props":1085,"children":1086},{"style":119},[1087],{"type":37,"value":904},{"type":32,"tag":106,"props":1089,"children":1090},{"style":192},[1091],{"type":37,"value":965},{"type":32,"tag":106,"props":1093,"children":1094},{"style":113},[1095],{"type":37,"value":1044},{"type":32,"tag":106,"props":1097,"children":1098},{"style":119},[1099],{"type":37,"value":1049},{"type":32,"tag":106,"props":1101,"children":1102},{"style":192},[1103],{"type":37,"value":974},{"type":32,"tag":106,"props":1105,"children":1106},{"style":113},[1107],{"type":37,"value":1044},{"type":32,"tag":106,"props":1109,"children":1110},{"style":119},[1111],{"type":37,"value":1062},{"type":32,"tag":106,"props":1113,"children":1114},{"style":113},[1115],{"type":37,"value":280},{"type":32,"tag":106,"props":1117,"children":1118},{"style":119},[1119],{"type":37,"value":1071},{"type":32,"tag":106,"props":1121,"children":1122},{"class":108,"line":296},[1123],{"type":32,"tag":106,"props":1124,"children":1125},{"emptyLinePlaceholder":162},[1126],{"type":37,"value":165},{"type":32,"tag":106,"props":1128,"children":1129},{"class":108,"line":305},[1130],{"type":32,"tag":106,"props":1131,"children":1132},{"style":172},[1133],{"type":37,"value":1134},"# Medie posteriori\n",{"type":32,"tag":106,"props":1136,"children":1137},{"class":108,"line":332},[1138,1142,1146,1150,1155,1159,1164,1168,1172,1176,1180],{"type":32,"tag":106,"props":1139,"children":1140},{"style":192},[1141],{"type":37,"value":629},{"type":32,"tag":106,"props":1143,"children":1144},{"style":119},[1145],{"type":37,"value":634},{"type":32,"tag":106,"props":1147,"children":1148},{"style":113},[1149],{"type":37,"value":639},{"type":32,"tag":106,"props":1151,"children":1152},{"style":642},[1153],{"type":37,"value":1154},"\"Media posteriore uninformativo: ",{"type":32,"tag":106,"props":1156,"children":1157},{"style":192},[1158],{"type":37,"value":650},{"type":32,"tag":106,"props":1160,"children":1161},{"style":119},[1162],{"type":37,"value":1163},"post_uninf.mean()",{"type":32,"tag":106,"props":1165,"children":1166},{"style":113},[1167],{"type":37,"value":660},{"type":32,"tag":106,"props":1169,"children":1170},{"style":192},[1171],{"type":37,"value":665},{"type":32,"tag":106,"props":1173,"children":1174},{"style":642},[1175],{"type":37,"value":670},{"type":32,"tag":106,"props":1177,"children":1178},{"style":119},[1179],{"type":37,"value":675},{"type":32,"tag":106,"props":1181,"children":1182},{"style":172},[1183],{"type":37,"value":1184},"# ~20%\n",{"type":32,"tag":106,"props":1186,"children":1187},{"class":108,"line":359},[1188,1192,1196,1200,1205,1209,1214,1218,1222,1226,1231],{"type":32,"tag":106,"props":1189,"children":1190},{"style":192},[1191],{"type":37,"value":629},{"type":32,"tag":106,"props":1193,"children":1194},{"style":119},[1195],{"type":37,"value":634},{"type":32,"tag":106,"props":1197,"children":1198},{"style":113},[1199],{"type":37,"value":639},{"type":32,"tag":106,"props":1201,"children":1202},{"style":642},[1203],{"type":37,"value":1204},"\"Media posteriore informativo: ",{"type":32,"tag":106,"props":1206,"children":1207},{"style":192},[1208],{"type":37,"value":650},{"type":32,"tag":106,"props":1210,"children":1211},{"style":119},[1212],{"type":37,"value":1213},"post_inf.mean()",{"type":32,"tag":106,"props":1215,"children":1216},{"style":113},[1217],{"type":37,"value":660},{"type":32,"tag":106,"props":1219,"children":1220},{"style":192},[1221],{"type":37,"value":665},{"type":32,"tag":106,"props":1223,"children":1224},{"style":642},[1225],{"type":37,"value":670},{"type":32,"tag":106,"props":1227,"children":1228},{"style":119},[1229],{"type":37,"value":1230},")      ",{"type":32,"tag":106,"props":1232,"children":1233},{"style":172},[1234],{"type":37,"value":1235},"# ~13.3%\n",{"type":32,"tag":33,"props":1237,"children":1238},{},[1239],{"type":37,"value":1240},"Il prior uninformativo è sensibile ai dati su campioni piccoli; il prior informativo regolarizza usando la conoscenza passata.",{"type":32,"tag":40,"props":1242,"children":1244},{"id":1243},"trade-off-test-bayesiano-vs-frequentist-vs-bandit",[1245],{"type":37,"value":1246},"Trade-off: Test Bayesiano vs Frequentist vs Bandit",{"type":32,"tag":33,"props":1248,"children":1249},{},[1250],{"type":37,"value":1251},"Il test Bayesiano non è ottimale in tutti gli scenari. Il test frequentist è preferibile in ambienti regolamentati (soprattutto medicinale\u002Ffinanziario) perché lo standard del p-value è codificato, e i processi di peer-review si basano su di esso. La scelta del prior Bayesiano può apparire soggettiva. Se il regolamento richiede il p-value e non c'è flessibilità sulla durata (per esempio, un periodo fisso di 30 giorni è obbligatorio), il frequentist è razionale.",{"type":32,"tag":33,"props":1253,"children":1254},{},[1255],{"type":37,"value":1256},"Gli algoritmi bandit (Thompson Sampling, UCB) bilanciano automaticamente exploration-exploitation, ottimizzando dinamicamente la distribuzione del traffico. In scenari di test prolungato (3+ settimane), un bandit supera il Bayesiano A\u002FB perché invia meno traffico alla variante perdente. In test brevi (1-2 settimane), il test A\u002FB Bayesiano è sufficiente — il vantaggio di regret minimization del bandit non emerge in poco tempo.",{"type":32,"tag":33,"props":1258,"children":1259},{},[1260],{"type":37,"value":1261},"Se la dimensione campionaria è molto piccola (per esempio, 100 visitatori al giorno), né Bayesian né frequentist forniscono garanzie. La distribuzione posteriore diventa così ampia che P(B > A) non raggiunge mai il 95%. In questi casi, il test su micro-conversioni (click, add-to-cart — eventi più frequenti) oppure test aggregati per geografia sono preferibili. Bayesian non offre vantaggio su campioni minuscoli; fornisce solo output interpretabile.",{"type":32,"tag":33,"props":1263,"children":1264},{},[1265],{"type":37,"value":1266},"La vera forza del test Bayesiano è l'orchestrazione di test cross-channel. Supponi di eseguire un test creativo su paid channel e contemporaneamente un test CRO sulla landing page. Puoi combinare i posteriori di entrambi i test (posteriore congiunto) e separare il contributo al lift. Con il frequentist servirebbe un'ANOVA complessa; con Bayesian e Markov Chain Monte Carlo (MCMC) il calcolo è naturale.",{"type":32,"tag":40,"props":1268,"children":1270},{"id":1269},"implementazione-pratica-platform-e-tooling",[1271],{"type":37,"value":1272},"Implementazione Pratica: Platform e Tooling",{"type":32,"tag":33,"props":1274,"children":1275},{},[1276,1278,1284,1286,1292],{"type":37,"value":1277},"Google Optimize (il server è stato disattivato) usava un motore Bayesiano. Oggi per test Bayesiano open-source ci sono la libreria Python ",{"type":32,"tag":102,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":37,"value":1283},"bayesian-testing",{"type":37,"value":1285}," o il pacchetto R ",{"type":32,"tag":102,"props":1287,"children":1289},{"className":1288},[],[1290],{"type":37,"value":1291},"bayesAB",{"type":37,"value":1293},". In un ambiente di produzione devi costruire il tuo stack — puoi scrivere SQL UDF in BigQuery per calcolare il posteriore oppure creando un modello dbt per il pipeline posteriore.",{"type":32,"tag":33,"props":1295,"children":1296},{},[1297],{"type":37,"value":1298},"Esempio di macro dbt: i dati del test arrivano ogni giorno, la macro aggiorna i parametri alpha\u002Fbeta del posteriore, calcola P(B > A). Quando la soglia è superata, un notifiche Slack viene inviato. Così il monitoraggio manuale è sostituito da una regola di stopping automatizzata. Aggiungi credible interval e metriche di expected loss al dashboard — gli stakeholder vedono \"il 82% di probabilità che B vinca adesso\" invece di chiedere \"quando decidiamo?\".",{"type":32,"tag":33,"props":1300,"children":1301},{},[1302],{"type":37,"value":1303},"Le piattaforme di AB testing (VWO, Optimizely) hanno aggiunto motori Bayesiani, ma i risultati Bayesiani non sono il default — mostrano sia frequentist che Bayesian. Perché la scelta del prior è un tuo parametro, non automatizzata dalla piattaforma. La piattaforma assume prior uninformativo; se vuoi prior informativo, serve configurazione custom. Per questo motivo, a larga scala il testing Bayesiano preferisce tooling interno.",{"type":32,"tag":33,"props":1305,"children":1306},{},[1307],{"type":37,"value":1308},"Il test multi-variante (A\u002FB\u002FC\u002FD) in Bayesian è più semplice. Nel frequentist serve correzione per confronti multipli (Bonferroni, Holm); nel Bayesian calcoli il posteriore di ogni variante separatamente e accedi a tutte le coppie: P(C > A), P(D > B), e così via. La scelta del vincitore: la variante con la media posteriore più alta oppure la più bassa expected loss.",{"type":32,"tag":1310,"props":1311,"children":1312},"hr",{},[],{"type":32,"tag":33,"props":1314,"children":1315},{},[1316],{"type":37,"value":1317},"Il test A\u002FB Bayesiano accelera la velocità decisionale nel performance marketing. Elimina il vincolo dell'orizzonte fisso frequentist, fornendo monitoring sequenziale. La distribuzione",{"type":32,"tag":1319,"props":1320,"children":1321},"style",{},[1322],{"type":37,"value":1323},"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":158,"depth":158,"links":1325},[1326,1327,1330,1331,1334,1335],{"id":42,"depth":135,"text":45},{"id":63,"depth":135,"text":66,"children":1328},[1329],{"id":90,"depth":158,"text":93},{"id":683,"depth":135,"text":686},{"id":837,"depth":135,"text":840,"children":1332},[1333],{"id":869,"depth":158,"text":872},{"id":1243,"depth":135,"text":1246},{"id":1269,"depth":135,"text":1272},"markdown","content:it:marketing:test-bayesian-decisione-rapida.md","content","it\u002Fmarketing\u002Ftest-bayesian-decisione-rapida.md","it\u002Fmarketing\u002Ftest-bayesian-decisione-rapida","md",1778335431568]