[{"data":1,"prerenderedAt":1310},["ShallowReactive",2],{"article-alternates":3,"article-\u002Fru\u002Fmarketing\u002Fbayesian-ab-testy-dlya-bystrogo-prinyatiya-reshenij":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":11,"_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":1304,"_id":1305,"_source":1306,"_file":1307,"_stem":1308,"_extension":1309},"marketing",false,"","Байесовский A\u002FB тест для быстрого принятия решений","Преодолейте ограничения частотного тестирования. Логика последовательного тестирования, динамический размер выборки и Байесовский A\u002FB тест позволяют принимать решения в перформанс-маркетинге за дни.","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":1292},"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,1286],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","В перформанс-маркетинге скорость тестирования — конкурентное преимущество. В сценарии с частотным A\u002FB тестом ты ждёшь две недели, пока сформируется доверительный интервал, а бюджет кампании за это время сгорает. Байесовский подход даёт тебе обновлённое апостериорное распределение каждый день — даже до завершения теста можешь сказать «вариант B выигрывает с вероятностью 73 %». Эта статья разбирает механику Байесовского A\u002FB теста, правила последовательного принятия решений и динамику размера выборки. Ты отказываешься от фиксированного горизонта частотного метода и переходишь на непрерывное обновление решений в потоке ежедневных данных.",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"проблема-фиксированного-горизонта-в-частотном-тестировании",[44],{"type":37,"value":45},"Проблема фиксированного горизонта в частотном тестировании",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"Классический A\u002FB тест построен на p-value и фиксированном размере выборки. Ты начинаешь с плана вроде «нужно n=5000 посетителей, это займёт 14 дней» и до 14-го дня не принимаешь никакого решения. В течение этого периода ты отправляешь трафик проигрывающему варианту — даже если его коэффициент конверсии на 2 пункта ниже, ты вынужден ждать, не нарушая план теста. Если остановиться раньше, inflates Type I error, возникает проблема множественного тестирования.",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"В частотном контексте порог p \u003C 0,05 даёт статистическую значимость, но на практике часто встречаются случаи «значимый, но бесполезный» лифт. Например, lift в 0,5 % может быть статистически значимым (благодаря большому размеру выборки), но не иметь практического эффекта. Ширина доверительного интервала и размер эффекта нужно интерпретировать отдельно — частотная логика это не выявляет автоматически.",{"type":32,"tag":33,"props":57,"children":58},{},[59],{"type":37,"value":60},"Другое ограничение: sequential monitoring невозможен. Ты вычисляешь размер выборки в начале, ждёшь, пока накопится этот объём. Если один из вариантов явно выигрывает на промежуточном этапе, ты всё равно продолжаешь — нарушение плана теста делает p-value недействительным.",{"type":32,"tag":40,"props":62,"children":64},{"id":63},"байесовский-тест-обновлённое-апостериорное-распределение",[65],{"type":37,"value":66},"Байесовский тест: обновлённое апостериорное распределение",{"type":32,"tag":33,"props":68,"children":69},{},[70],{"type":37,"value":71},"Байесовский подход работает по логике: prior belief + данные = posterior. В начале теста ты определяешь априорное распределение коэффициента конверсии каждого варианта (обычно неинформативное Beta(1,1) или информативное на основе исторических данных). При каждом посещении Байесова теорема обновляет posterior. На 100-м посетителе posterior имеет одно состояние, на 200-м — другое. Обновление непрерывное.",{"type":32,"tag":33,"props":73,"children":74},{},[75],{"type":37,"value":76},"Апостериорное распределение точно показывает «вероятностную плотность истинного коэффициента конверсии этого варианта». Например, Beta(25, 75) posterior указывает, что конверсия между 20 % и 30 % имеет высокую вероятностную плотность. Сравнивая posteriori двух вариантов, ты вычисляешь «вероятность того, что B лучше A» — в Байесовском мире эта формула P(B > A) естественна.",{"type":32,"tag":33,"props":78,"children":79},{},[80],{"type":37,"value":81},"Байесовская версия sequential теста: обновляй posterior каждый день, если P(B > A) > 0,95 — остановись и признай B победителем. Этот порог определяется твоей терпимостью к риску — вместо 95 % можешь использовать 90 % или 99 %. В частотном методе нет такого механизма; решение вне фиксированного горизонта не определено. В Байесовском методе решение можешь принять в любой момент — posterior даёт полную информацию.",{"type":32,"tag":33,"props":83,"children":84},{},[85],{"type":37,"value":86},"В Байесовском тесте нет p-value. Вместо этого метрики: probability of superiority (P(B > A)), expected loss (ожидаемый лифт, который теряешь, если выберешь A вместо B), credible interval (95 % диапазон апостериорного распределения). На практике они нагляднее — «вариант B выигрывает в 85 % случаев и при выигрыше даёт средний лифт 2,3 %».",{"type":32,"tag":88,"props":89,"children":91},"h3",{"id":90},"код-обновления-posterior",[92],{"type":37,"value":93},"Код обновления posterior",{"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# Априор: Beta(1,1) = uniform\nprior_alpha, prior_beta = 1, 1\n\n# Данные: вариант A — 50 конверсий, 200 посещений\nconversions_A = 50\nvisits_A = 200\nfailures_A = visits_A - conversions_A\n\n# Posterior: Beta(alpha + conversions, beta + failures)\npost_alpha_A = prior_alpha + conversions_A\npost_beta_A = prior_beta + failures_A\n\n# Выборка из апостериорного распределения\nsamples_A = beta.rvs(post_alpha_A, post_beta_A, size=10000)\n\n# Вариант 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# Вычисли P(B > A)\nprob_B_wins = (samples_B > samples_A).mean()\nprint(f\"P(B > A): {prob_B_wins:.2%}\")  # Пример: 0.82 = B выигрывает в 82 %\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},"# Априор: Beta(1,1) = uniform\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},"# Данные: вариант A — 50 конверсий, 200 посещений\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},"# Posterior: Beta(alpha + conversions, beta + failures)\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},"# Выборка из апостериорного распределения\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},"# Вариант 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},"# Вычисли 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},"# Пример: 0.82 = B выигрывает в 82 %\n",{"type":32,"tag":40,"props":682,"children":684},{"id":683},"динамический-размер-выборки-и-ранняя-остановка",[685],{"type":37,"value":686},"Динамический размер выборки и ранняя остановка",{"type":32,"tag":33,"props":688,"children":689},{},[690],{"type":37,"value":691},"В Байесовском тесте размер выборки не фиксирован. Ты можешь установить нижний предел (например, «минимум 1000 посещений», чтобы posterior не был слишком широким), но верхний предел динамический. Как только P(B > A) > 0,95 — тест останавливается. Это может произойти на 500-м посещении или на 5000-м.",{"type":32,"tag":33,"props":693,"children":694},{},[695,697,703,705,710],{"type":37,"value":696},"Expected loss — отличная метрика для раннего принятия решения. Формула: ",{"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},". Если выбираешь A, но B реально лучше, ожидаемый лифт в конверсии, который теряешь. Устанавливаешь порог, например «E",{"type":32,"tag":106,"props":706,"children":707},{},[708],{"type":37,"value":709},"Loss",{"type":37,"value":711}," \u003C 0,5 %», и говоришь: «даже в худшем случае потеряю максимум 0,5 % лифта». Такая метрика облегчает консервативное принятие решений.",{"type":32,"tag":33,"props":713,"children":714},{},[715],{"type":37,"value":716},"Пример правила последовательной остановки:",{"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},"Метрика",{"type":32,"tag":730,"props":736,"children":737},{},[738],{"type":37,"value":739},"Порог",{"type":32,"tag":730,"props":741,"children":742},{},[743],{"type":37,"value":744},"Действие",{"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},"Объявить B победителем",{"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},"Объявить A победителем",{"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},"Закрыть проигрывающий вариант",{"type":32,"tag":726,"props":808,"children":809},{},[810,815,820],{"type":32,"tag":753,"props":811,"children":812},{},[813],{"type":37,"value":814},"Минимум посещений",{"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},"Принимать решение не рано",{"type":32,"tag":33,"props":826,"children":827},{},[828],{"type":37,"value":829},"Благодаря этим правилам длительность теста сокращается в среднем на 30–40 % (согласно данным Google Optimize и VWO). При большом размере эффекта можешь принять решение с 95 % доверием за 3 дня — вместо 14 дней в частотном методе.",{"type":32,"tag":33,"props":831,"children":832},{},[833],{"type":37,"value":834},"Отличие от multi-armed bandit: Байесовский A\u002FB тест всё ещё не оптимизирует распределение трафика (exploration-exploitation), только обновляет posterior и применяет stopping rule. Алгоритм bandit перераспределяет трафик динамически (например, Thompson Sampling) — побеждающему варианту идёт больше. Байесовский тест сохраняет фиксированное разбиение (50\u002F50), но заканчивается быстро. Bandit агрессивнее — на каждый impression предпочитает побеждающий вариант. Байесовский тест консервативнее — разбиение постоянно, только решение принимается быстро.",{"type":32,"tag":40,"props":836,"children":838},{"id":837},"информативный-prior-и-тест-incrementality",[839],{"type":37,"value":840},"Информативный prior и тест incrementality",{"type":32,"tag":33,"props":842,"children":843},{},[844],{"type":37,"value":845},"Выбор prior — самый критичный пункт в Байесовском тесте. Неинформативный prior (Beta(1,1)) игнорирует прошлые знания, posterior полностью data-driven. Информативный prior происходит из исторических данных тестов или базовой конверсии по сегментам. Если среднее за последние 50 тестов на мобильных — 12 % конверсии, можешь использовать Beta(60, 440) prior (примерно 12 % среднее, но с разбросом). Этот prior даёт новому тесту «разумное предположение на основе прошлого».",{"type":32,"tag":33,"props":847,"children":848},{},[849],{"type":37,"value":850},"Преимущество информативного prior: требуемый размер выборки меньше. Posterior обновляется не с нуля, а с обоснованной стартовой позиции. Недостаток: неправильный prior создаёт смещение. Если сегмент изменился или есть сезонный эффект, старый prior вводит в заблуждение. Поэтому нужен анализ чувствительности prior — проверить, меняются ли результаты теста при разных priori.",{"type":32,"tag":33,"props":852,"children":853},{},[854,856,865],{"type":37,"value":855},"В ",{"type":32,"tag":857,"props":858,"children":862},"a",{"href":859,"rel":860},"https:\u002F\u002Fwww.roibase.com.tr\u002Fru\u002Fcro",[861],"nofollow",[863],{"type":37,"value":864},"процессах оптимизации коэффициента конверсии",{"type":37,"value":866}," Байесовский тест упрощает измерение incrementality. Для incrementality нужна контрольная группа или geo-split. Байесовский подход: сравни aposterior коэффициента конверсии контрольной группы с группой теста — получишь распределение лифта. Вместо классического t-test вычисляешь P(lift > 0) — интерпретируется проще. Например: «новая кампания вероятно даёт incrementality в 78 %, ожидаемый лифт 1,2–2,8 %».",{"type":32,"tag":88,"props":868,"children":870},{"id":869},"сравнение-выбора-prior",[871],{"type":37,"value":872},"Сравнение выбора prior",{"type":32,"tag":95,"props":874,"children":876},{"className":97,"code":875,"language":99,"meta":16,"style":16},"# Неинформативный prior\nprior_uninf = beta(1, 1)\n\n# Информативный prior: исторических 12 % конверсии, n=500 sample\n# Beta mean = alpha \u002F (alpha + beta) → 60\u002F500 = 0,12\nprior_inf = beta(60, 440)\n\n# 20 конверсий, 100 посещений → posterior\nconversions, visits = 20, 100\npost_uninf = beta(1 + conversions, 1 + (visits - conversions))\npost_inf = beta(60 + conversions, 440 + (visits - conversions))\n\n# Средние значения posterior\nprint(f\"Неинформативный posterior mean: {post_uninf.mean():.2%}\")  # ~20 %\nprint(f\"Информативный posterior mean: {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\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: исторических 12 % конверсии, n=500 sample\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 mean = 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},"# 20 конверсий, 100 посещений → posterior\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},"# Средние значения posterior\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},"\"Неинформативный posterior mean: ",{"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},"\"Информативный posterior mean: ",{"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},"Неинформативный prior на малых выборках очень чувствителен к данным, информативный prior регуляризирует на основе истории.",{"type":32,"tag":40,"props":1242,"children":1244},{"id":1243},"компромисс-байесовский-тест-vs-частотный-vs-bandit",[1245],{"type":37,"value":1246},"Компромисс: Байесовский тест vs Частотный vs Bandit",{"type":32,"tag":33,"props":1248,"children":1249},{},[1250],{"type":37,"value":1251},"Байесовский тест оптимален не для всех сценариев. Частотный тест предпочтителен в регулируемых секторах (медицина, финансы), где p-value — стандарт и процессы peer-review на нём построены. Выбор prior в Байесовском методе может показаться субъективным. Если регуляция требует p-value и время теста фиксировано (например, 30-дневный period обязателен), частотная логика разумнее.",{"type":32,"tag":33,"props":1253,"children":1254},{},[1255],{"type":37,"value":1256},"Алгоритмы bandit (Thompson Sampling, UCB) автоматически уравновешивают exploration-exploitation, динамически оптимизируют распределение трафика. Для долгих тестов (3+ недели) bandit превосходит Байесовский A\u002FB тест — отправляет меньше трафика проигрывающему варианту. На коротких тестах (1–2 недели) Байесовский A\u002FB достаточен — регret minimization от bandit'а даёт минимальный прирост за короткий срок.",{"type":32,"tag":33,"props":1258,"children":1259},{},[1260],{"type":37,"value":1261},"При очень малых размерах выборки (например, 100 посещений в день) ни Байесовский, ни частотный метод не помогает. Апостериорное распределение слишком широко, P(B > A) никогда не достигает 95 %. В таком случае используй микроконверсии (клик, добавление в корзину — события чаще) или geo-агрегированное тестирование. Байесовский метод не дарует магическое улучшение при малых данных, только даёт интерпретируемый output.",{"type":32,"tag":33,"props":1263,"children":1264},{},[1265],{"type":37,"value":1266},"Истинная мощь Байесовского теста: оркестрация cross-channel тестов. Ты проводишь тест креатива в paid-канале, одновременно CRO тест на landing page. Апостериоры обоих тестов можешь объединить (joint posterior), разделить вклад лифта. В частотном методе для этого нужен сложный ANOVA, в Байесовском — MCMC естественно справляется.",{"type":32,"tag":40,"props":1268,"children":1270},{"id":1269},"практическое-применение-платформы-и-инструментарий",[1271],{"type":37,"value":1272},"Практическое применение: платформы и инструментарий",{"type":32,"tag":33,"props":1274,"children":1275},{},[1276,1278,1284],{"type":37,"value":1277},"Google Optimize (сервер закрыт) использовал Байесовский движок. Сейчас для открытого исходного кода есть Python ",{"type":32,"tag":102,"props":1279,"children":1281},{"className":1280},[],[1282],{"type":37,"value":1283},"bayesian-testing",{"type":37,"value":1285}," или R `bayes",{"type":32,"tag":1287,"props":1288,"children":1289},"style",{},[1290],{"type":37,"value":1291},"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":1293},[1294,1295,1298,1299,1302,1303],{"id":42,"depth":135,"text":45},{"id":63,"depth":135,"text":66,"children":1296},[1297],{"id":90,"depth":158,"text":93},{"id":683,"depth":135,"text":686},{"id":837,"depth":135,"text":840,"children":1300},[1301],{"id":869,"depth":158,"text":872},{"id":1243,"depth":135,"text":1246},{"id":1269,"depth":135,"text":1272},"markdown","content:ru:marketing:bayesian-ab-testy-dlya-bystrogo-prinyatiya-reshenij.md","content","ru\u002Fmarketing\u002Fbayesian-ab-testy-dlya-bystrogo-prinyatiya-reshenij.md","ru\u002Fmarketing\u002Fbayesian-ab-testy-dlya-bystrogo-prinyatiya-reshenij","md",1778335431777]