[{"data":1,"prerenderedAt":1178},["ShallowReactive",2],{"article-alternates":3,"article-\u002Ftr\u002Fmarketing\u002Fmmm-incrementality-2026nin-attribution-setupi":13},{"i18nKey":4,"paths":5},"marketing-004-2026-05",{"de":6,"en":7,"es":8,"fr":9,"it":10,"ru":11,"tr":12},"\u002Fde\u002Fmarketing\u002Fmmm-incrementality-2026-attribution-setup","\u002Fen\u002Fmarketing\u002Fmmm-incrementality-2026-attribution-setup","\u002Fes\u002Fmarketing\u002Fmmm-incrementality-2026-attribution-setup","\u002Ffr\u002Fmarketing\u002Fmmm-incrementality-2026-attribution-setup","\u002Fit\u002Fmarketing\u002Fmmm-incrementality-2026-attribution-setup","\u002Fru\u002Fmarketing\u002Fmmm-incrementality-2026-attribution","\u002Ftr\u002Fmarketing\u002Fmmm-incrementality-2026nin-attribution-setupi",{"_path":12,"_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":1172,"_id":1173,"_source":1174,"_file":1175,"_stem":1176,"_extension":1177},"marketing",false,"","MMM + Incrementality: 2026'nın Attribution Setup'ı","Robyn, Meta Lift, geo experiments — hangisini ne zaman kullanmalı? Post-cookie dönemde doğru ölçüm mimarisi nasıl kurulur?","2026-05-14",[21,22,23,24,25],"mmm","incrementality","attribution","robyn","meta-lift",8,"Roibase",{"type":29,"children":30,"toc":1162},"root",[31,39,46,51,56,70,76,81,86,91,98,266,276,282,287,292,407,939,944,950,955,965,975,985,995,1005,1021,1031,1037,1042,1047,1055,1060,1101,1107,1117,1127,1137,1147,1151,1156],{"type":32,"tag":33,"props":34,"children":35},"element","p",{},[36],{"type":37,"value":38},"text","Last-click attribution öldü, browser signali güvenilmez, conversion API bile gürültülü — 2026'da performans pazarlaması ölçümü tamamen farklı bir zemine oturdu. Marketing Mix Modeling (MMM) artık sadece CPG markalarının yıllık bütçe planlamasında kullandığı ağır bir araç değil; haftalık karar mekanizmasına entegre edilen, incrementality testleriyle sürekli kalibre edilen dinamik bir sistem. Meta'nın Robyn'i açık kaynak oldu, Google kendi MMM stack'ini BigQuery ML'e taşıdı, Snapchat geo-experiment API'sini production'a aldı. Soru artık \"MMM mi, incrementality mi?\" değil — \"hangi katmanda hangisini, nasıl birlikte kullanıyorum?\"",{"type":32,"tag":40,"props":41,"children":43},"h2",{"id":42},"mmm-neden-şimdi-masaya-geldi",[44],{"type":37,"value":45},"MMM Neden Şimdi Masaya Geldi",{"type":32,"tag":33,"props":47,"children":48},{},[49],{"type":37,"value":50},"Cookie yok, ATT opt-in %25'te, Privacy Sandbox hâlâ belirsiz — platform raporlaması 2024'ten bu yana %40-60 arasında hata payıyla çalışıyor (Forrester 2025). Bu ortamda son tıklama modeli veya data-driven attribution Google Analytics'ten alınan sayılarla karar vermek, kör nokta üzerinde hız yapmak gibi. MMM bu senaryoda tek makro ölçüm çerçevesi: tüm kanalları toplam spend ve sonuç üzerinden regresyon modeliyle değerlendirir, cookie'ye ihtiyaç duymaz, zaman serisi üzerinden sebep-sonuç ilişkisini çıkarır.",{"type":32,"tag":33,"props":52,"children":53},{},[54],{"type":37,"value":55},"2026'da MMM'in yeniliği şu: artık yıllık değil haftalık güncellenen, otomatik pipeline'a oturan, sGTM ve CDP'den gelen first-party sinyali kullanabilen bir yapı. Meta'nın Robyn kütüphanesi bunu mümkün kılıyor: açık kaynak, R\u002FPython, haftalık refresh, Bayesian ridge regression, adstock ve saturation curve'leri otomatik hyperparameter tuning ile fit ediyor. Yani artık \"model kurulumu 6 ay\" dönemi bitti — 2 haftalık sprint'te production'a giriyor.",{"type":32,"tag":33,"props":57,"children":58},{},[59,61,68],{"type":37,"value":60},"Örnek senaryo: 15 kanallı bir DTC markası Robyn'i BigQuery'ye bağladı. Haftalık spend, impression, revenue verisini ",{"type":32,"tag":62,"props":63,"children":65},"code",{"className":64},[],[66],{"type":37,"value":67},"bq load",{"type":37,"value":69}," ile pipe etti. Model 3 haftalık geçmiş veriye bakıp her kanal için ROAS curve, adstock (reklam etkisinin gecikmesi) ve saturation (artan spend'in azalan getirisi) tahmin etti. Sonuç: TikTok'un ROAS'ı tahmin edilenden %18 düşük çıktı — çünkü son tıklama attribution TikTok'u fazla kredilendiriyordu. Google Search ise tam tersi: gerçek katkısı %22 daha yüksekti.",{"type":32,"tag":40,"props":71,"children":73},{"id":72},"incrementality-test-nerede-devreye-giriyor",[74],{"type":37,"value":75},"Incrementality Test Nerede Devreye Giriyor",{"type":32,"tag":33,"props":77,"children":78},{},[79],{"type":37,"value":80},"MMM makro bakar — tüm kanalların toplam etkisini zaman serisi regresyonuyla çıkarır. Ama şu soruya cevap veremez: \"Bu hafta Meta'ya 10.000$ daha fazla verseydim ne olurdu?\" İşte burada incrementality test devreye girer: gerçek bir deney kurar, kontrol grubu tutar, kaldırımı (lift) ölçer.",{"type":32,"tag":33,"props":82,"children":83},{},[84],{"type":37,"value":85},"Meta'nın Conversion Lift testi bunu platforma entegre etti: kullanıcıları rastgele holdout grubuna ayır, holdout'a reklam gösterme, sonunda iki grubun dönüşüm farkını ölç. 2026'da bu yöntem artık sadece Meta'da değil — Google Ads'te Geo Experiments (coğrafya bazlı kontrol grubu), TikTok'ta Brand Lift API, Snapchat'te Snap Lift Studio var. Hepsi aynı prensibi kullanıyor: rastgeleştirme ve kontrollü maruz bırakma.",{"type":32,"tag":33,"props":87,"children":88},{},[89],{"type":37,"value":90},"Fark şu: MMM \"geçmişte ne oldu\" sorusuna cevap verir, incrementality \"gelecekte ne olur\" sorusuna. MMM gözlemsel veri üzerinden korelasyon çıkarır, incrementality nedensel ilişkiyi test eder. İdeal setup ikisini birleştirmek: MMM ile makro trend + ROI benchmark'ını al, incrementality ile kanal-spesifik taktikleri doğrula.",{"type":32,"tag":92,"props":93,"children":95},"h3",{"id":94},"hangi-testi-ne-zaman-kullanmalı",[96],{"type":37,"value":97},"Hangi Testi Ne Zaman Kullanmalı",{"type":32,"tag":99,"props":100,"children":101},"table",{},[102,136],{"type":32,"tag":103,"props":104,"children":105},"thead",{},[106],{"type":32,"tag":107,"props":108,"children":109},"tr",{},[110,116,121,126,131],{"type":32,"tag":111,"props":112,"children":113},"th",{},[114],{"type":37,"value":115},"Yöntem",{"type":32,"tag":111,"props":117,"children":118},{},[119],{"type":37,"value":120},"Ne Zaman",{"type":32,"tag":111,"props":122,"children":123},{},[124],{"type":37,"value":125},"Süre",{"type":32,"tag":111,"props":127,"children":128},{},[129],{"type":37,"value":130},"Maliyet",{"type":32,"tag":111,"props":132,"children":133},{},[134],{"type":37,"value":135},"Kesinlik",{"type":32,"tag":137,"props":138,"children":139},"tbody",{},[140,173,204,235],{"type":32,"tag":107,"props":141,"children":142},{},[143,153,158,163,168],{"type":32,"tag":144,"props":145,"children":146},"td",{},[147],{"type":32,"tag":148,"props":149,"children":150},"strong",{},[151],{"type":37,"value":152},"MMM (Robyn)",{"type":32,"tag":144,"props":154,"children":155},{},[156],{"type":37,"value":157},"Yıllık\u002Fçeyreklik planlama, kanal mix optimizasyonu",{"type":32,"tag":144,"props":159,"children":160},{},[161],{"type":37,"value":162},"2-4 hafta setup, haftalık refresh",{"type":32,"tag":144,"props":164,"children":165},{},[166],{"type":37,"value":167},"Düşük (açık kaynak)",{"type":32,"tag":144,"props":169,"children":170},{},[171],{"type":37,"value":172},"Orta (korelasyon)",{"type":32,"tag":107,"props":174,"children":175},{},[176,184,189,194,199],{"type":32,"tag":144,"props":177,"children":178},{},[179],{"type":32,"tag":148,"props":180,"children":181},{},[182],{"type":37,"value":183},"Meta Conversion Lift",{"type":32,"tag":144,"props":185,"children":186},{},[187],{"type":37,"value":188},"Kampanya-seviye taktik karar, yeni kreatif A\u002FB",{"type":32,"tag":144,"props":190,"children":191},{},[192],{"type":37,"value":193},"2-4 hafta test",{"type":32,"tag":144,"props":195,"children":196},{},[197],{"type":37,"value":198},"Orta (spend holdout)",{"type":32,"tag":144,"props":200,"children":201},{},[202],{"type":37,"value":203},"Yüksek (RCT)",{"type":32,"tag":107,"props":205,"children":206},{},[207,215,220,225,230],{"type":32,"tag":144,"props":208,"children":209},{},[210],{"type":32,"tag":148,"props":211,"children":212},{},[213],{"type":37,"value":214},"Google Geo Experiments",{"type":32,"tag":144,"props":216,"children":217},{},[218],{"type":37,"value":219},"Coğrafya-bazlı spend değişikliği",{"type":32,"tag":144,"props":221,"children":222},{},[223],{"type":37,"value":224},"3-6 hafta",{"type":32,"tag":144,"props":226,"children":227},{},[228],{"type":37,"value":229},"Orta",{"type":32,"tag":144,"props":231,"children":232},{},[233],{"type":37,"value":234},"Yüksek (quasi-RCT)",{"type":32,"tag":107,"props":236,"children":237},{},[238,246,251,256,261],{"type":32,"tag":144,"props":239,"children":240},{},[241],{"type":32,"tag":148,"props":242,"children":243},{},[244],{"type":37,"value":245},"Ghost Ads (Snapchat\u002FTikTok)",{"type":32,"tag":144,"props":247,"children":248},{},[249],{"type":37,"value":250},"Platform ROI doğrulama",{"type":32,"tag":144,"props":252,"children":253},{},[254],{"type":37,"value":255},"2-3 hafta",{"type":32,"tag":144,"props":257,"children":258},{},[259],{"type":37,"value":260},"Düşük",{"type":32,"tag":144,"props":262,"children":263},{},[264],{"type":37,"value":265},"Orta-yüksek",{"type":32,"tag":33,"props":267,"children":268},{},[269,274],{"type":32,"tag":148,"props":270,"children":271},{},[272],{"type":37,"value":273},"Gerçek örnek:",{"type":37,"value":275}," Bir fintech uygulaması App Store'da %15 organik büyüme görüyor. Apple Search Ads'i kapatıp organik etkiyi ölçmek için geo-experiment kuruyor: ABD'yi 10 DMA'ya böl, 5'inde ASA'yı tamamen kes. 21 gün sonra kontrol grubunda install 12% daha fazla ama holdout grubunda organik install sadece %2 artmış — yani ASA'nın %10 incrementality'si var. Bu veriyle ASA bütçesini %30 artırıp ROAS'ı 2.1'den 2.8'e çıkarıyorlar.",{"type":32,"tag":40,"props":277,"children":279},{"id":278},"robyn-ile-pratik-mmm-pipeline-kurmak",[280],{"type":37,"value":281},"Robyn ile Pratik MMM Pipeline Kurmak",{"type":32,"tag":33,"props":283,"children":284},{},[285],{"type":37,"value":286},"Robyn açık kaynak, MIT lisanslı, Meta'nın kendi MMM altyapısından türetilmiş. 2026 sürümü (v3.11) artık Python native destekli (R wrapper değil), BigQuery connector built-in, hyperparameter tuning Optuna ile otomatik.",{"type":32,"tag":33,"props":288,"children":289},{},[290],{"type":37,"value":291},"Basit setup adımları:",{"type":32,"tag":293,"props":294,"children":295},"ol",{},[296,352,370,380,397],{"type":32,"tag":297,"props":298,"children":299},"li",{},[300,305,307,313,315,321,322,328,329,335,336,342,344,350],{"type":32,"tag":148,"props":301,"children":302},{},[303],{"type":37,"value":304},"Veri hazırlama:",{"type":37,"value":306}," Haftalık granülaritede tablo — ",{"type":32,"tag":62,"props":308,"children":310},{"className":309},[],[311],{"type":37,"value":312},"date",{"type":37,"value":314},", ",{"type":32,"tag":62,"props":316,"children":318},{"className":317},[],[319],{"type":37,"value":320},"channel",{"type":37,"value":314},{"type":32,"tag":62,"props":323,"children":325},{"className":324},[],[326],{"type":37,"value":327},"spend",{"type":37,"value":314},{"type":32,"tag":62,"props":330,"children":332},{"className":331},[],[333],{"type":37,"value":334},"impressions",{"type":37,"value":314},{"type":32,"tag":62,"props":337,"children":339},{"className":338},[],[340],{"type":37,"value":341},"revenue",{"type":37,"value":343},". BigQuery'de ",{"type":32,"tag":62,"props":345,"children":347},{"className":346},[],[348],{"type":37,"value":349},"marketing_data.weekly_agg",{"type":37,"value":351}," tablosu.",{"type":32,"tag":297,"props":353,"children":354},{},[355,360,362,368],{"type":32,"tag":148,"props":356,"children":357},{},[358],{"type":37,"value":359},"Robyn install:",{"type":37,"value":361}," ",{"type":32,"tag":62,"props":363,"children":365},{"className":364},[],[366],{"type":37,"value":367},"pip install pyrobyn",{"type":37,"value":369}," (Python 3.10+)",{"type":32,"tag":297,"props":371,"children":372},{},[373,378],{"type":32,"tag":148,"props":374,"children":375},{},[376],{"type":37,"value":377},"Config yazma:",{"type":37,"value":379}," YAML dosyası — adstock tipi (geometric vs. Weibull), saturation curve (Hill), hyperparameter range.",{"type":32,"tag":297,"props":381,"children":382},{},[383,388,389,395],{"type":32,"tag":148,"props":384,"children":385},{},[386],{"type":37,"value":387},"Model train:",{"type":37,"value":361},{"type":32,"tag":62,"props":390,"children":392},{"className":391},[],[393],{"type":37,"value":394},"robyn.train()",{"type":37,"value":396}," — Nevergrad optimizer 2000 iterasyon, en iyi fit Pareto frontier'dan seç.",{"type":32,"tag":297,"props":398,"children":399},{},[400,405],{"type":32,"tag":148,"props":401,"children":402},{},[403],{"type":37,"value":404},"Output:",{"type":37,"value":406}," Her kanal için ROAS curve, decomposition chart (haftaya göre katkı payı), budget allocator (optimal spend dağıtımı).",{"type":32,"tag":408,"props":409,"children":413},"pre",{"code":410,"language":411,"meta":16,"className":412,"style":16},"from pyrobyn import Robyn\n\n# BigQuery'den veri çek\ndata = client.query(\"\"\"\n  SELECT date, channel, spend, revenue\n  FROM `project.marketing_data.weekly_agg`\n  WHERE date BETWEEN '2025-01-01' AND '2026-05-14'\n\"\"\").to_dataframe()\n\n# Model kur\nmodel = Robyn(\n    data=data,\n    dep_var='revenue',\n    paid_media_spends=['spend'],\n    adstock='geometric',\n    saturation='hill',\n    hyperparameters='auto'  # Optuna tuning\n)\n\n# Train (2 saat, 8 core)\nmodel.train(iterations=2000, trials=5)\n\n# En iyi modeli seç (Pareto NRMSE + convergence)\nbest = model.select_model('pareto_front', rank=1)\n\n# Budget reallocation\nallocator = best.budget_allocator(\n    total_budget=500000,  # Aylık toplam\n    scenario='max_response'\n)\nprint(allocator.optimal_allocation)\n","python","language-python shiki shiki-themes github-dark",[414],{"type":32,"tag":62,"props":415,"children":416},{"__ignoreMap":16},[417,445,455,465,490,499,508,517,530,538,547,565,584,607,635,657,679,702,711,719,728,774,782,791,836,844,853,871,899,917,925],{"type":32,"tag":418,"props":419,"children":422},"span",{"class":420,"line":421},"line",1,[423,429,435,440],{"type":32,"tag":418,"props":424,"children":426},{"style":425},"--shiki-default:#F97583",[427],{"type":37,"value":428},"from",{"type":32,"tag":418,"props":430,"children":432},{"style":431},"--shiki-default:#E1E4E8",[433],{"type":37,"value":434}," pyrobyn ",{"type":32,"tag":418,"props":436,"children":437},{"style":425},[438],{"type":37,"value":439},"import",{"type":32,"tag":418,"props":441,"children":442},{"style":431},[443],{"type":37,"value":444}," Robyn\n",{"type":32,"tag":418,"props":446,"children":448},{"class":420,"line":447},2,[449],{"type":32,"tag":418,"props":450,"children":452},{"emptyLinePlaceholder":451},true,[453],{"type":37,"value":454},"\n",{"type":32,"tag":418,"props":456,"children":458},{"class":420,"line":457},3,[459],{"type":32,"tag":418,"props":460,"children":462},{"style":461},"--shiki-default:#6A737D",[463],{"type":37,"value":464},"# BigQuery'den veri çek\n",{"type":32,"tag":418,"props":466,"children":468},{"class":420,"line":467},4,[469,474,479,484],{"type":32,"tag":418,"props":470,"children":471},{"style":431},[472],{"type":37,"value":473},"data ",{"type":32,"tag":418,"props":475,"children":476},{"style":425},[477],{"type":37,"value":478},"=",{"type":32,"tag":418,"props":480,"children":481},{"style":431},[482],{"type":37,"value":483}," client.query(",{"type":32,"tag":418,"props":485,"children":487},{"style":486},"--shiki-default:#9ECBFF",[488],{"type":37,"value":489},"\"\"\"\n",{"type":32,"tag":418,"props":491,"children":493},{"class":420,"line":492},5,[494],{"type":32,"tag":418,"props":495,"children":496},{"style":486},[497],{"type":37,"value":498},"  SELECT date, channel, spend, revenue\n",{"type":32,"tag":418,"props":500,"children":502},{"class":420,"line":501},6,[503],{"type":32,"tag":418,"props":504,"children":505},{"style":486},[506],{"type":37,"value":507},"  FROM `project.marketing_data.weekly_agg`\n",{"type":32,"tag":418,"props":509,"children":511},{"class":420,"line":510},7,[512],{"type":32,"tag":418,"props":513,"children":514},{"style":486},[515],{"type":37,"value":516},"  WHERE date BETWEEN '2025-01-01' AND '2026-05-14'\n",{"type":32,"tag":418,"props":518,"children":519},{"class":420,"line":26},[520,525],{"type":32,"tag":418,"props":521,"children":522},{"style":486},[523],{"type":37,"value":524},"\"\"\"",{"type":32,"tag":418,"props":526,"children":527},{"style":431},[528],{"type":37,"value":529},").to_dataframe()\n",{"type":32,"tag":418,"props":531,"children":533},{"class":420,"line":532},9,[534],{"type":32,"tag":418,"props":535,"children":536},{"emptyLinePlaceholder":451},[537],{"type":37,"value":454},{"type":32,"tag":418,"props":539,"children":541},{"class":420,"line":540},10,[542],{"type":32,"tag":418,"props":543,"children":544},{"style":461},[545],{"type":37,"value":546},"# Model kur\n",{"type":32,"tag":418,"props":548,"children":550},{"class":420,"line":549},11,[551,556,560],{"type":32,"tag":418,"props":552,"children":553},{"style":431},[554],{"type":37,"value":555},"model ",{"type":32,"tag":418,"props":557,"children":558},{"style":425},[559],{"type":37,"value":478},{"type":32,"tag":418,"props":561,"children":562},{"style":431},[563],{"type":37,"value":564}," Robyn(\n",{"type":32,"tag":418,"props":566,"children":568},{"class":420,"line":567},12,[569,575,579],{"type":32,"tag":418,"props":570,"children":572},{"style":571},"--shiki-default:#FFAB70",[573],{"type":37,"value":574},"    data",{"type":32,"tag":418,"props":576,"children":577},{"style":425},[578],{"type":37,"value":478},{"type":32,"tag":418,"props":580,"children":581},{"style":431},[582],{"type":37,"value":583},"data,\n",{"type":32,"tag":418,"props":585,"children":587},{"class":420,"line":586},13,[588,593,597,602],{"type":32,"tag":418,"props":589,"children":590},{"style":571},[591],{"type":37,"value":592},"    dep_var",{"type":32,"tag":418,"props":594,"children":595},{"style":425},[596],{"type":37,"value":478},{"type":32,"tag":418,"props":598,"children":599},{"style":486},[600],{"type":37,"value":601},"'revenue'",{"type":32,"tag":418,"props":603,"children":604},{"style":431},[605],{"type":37,"value":606},",\n",{"type":32,"tag":418,"props":608,"children":610},{"class":420,"line":609},14,[611,616,620,625,630],{"type":32,"tag":418,"props":612,"children":613},{"style":571},[614],{"type":37,"value":615},"    paid_media_spends",{"type":32,"tag":418,"props":617,"children":618},{"style":425},[619],{"type":37,"value":478},{"type":32,"tag":418,"props":621,"children":622},{"style":431},[623],{"type":37,"value":624},"[",{"type":32,"tag":418,"props":626,"children":627},{"style":486},[628],{"type":37,"value":629},"'spend'",{"type":32,"tag":418,"props":631,"children":632},{"style":431},[633],{"type":37,"value":634},"],\n",{"type":32,"tag":418,"props":636,"children":638},{"class":420,"line":637},15,[639,644,648,653],{"type":32,"tag":418,"props":640,"children":641},{"style":571},[642],{"type":37,"value":643},"    adstock",{"type":32,"tag":418,"props":645,"children":646},{"style":425},[647],{"type":37,"value":478},{"type":32,"tag":418,"props":649,"children":650},{"style":486},[651],{"type":37,"value":652},"'geometric'",{"type":32,"tag":418,"props":654,"children":655},{"style":431},[656],{"type":37,"value":606},{"type":32,"tag":418,"props":658,"children":660},{"class":420,"line":659},16,[661,666,670,675],{"type":32,"tag":418,"props":662,"children":663},{"style":571},[664],{"type":37,"value":665},"    saturation",{"type":32,"tag":418,"props":667,"children":668},{"style":425},[669],{"type":37,"value":478},{"type":32,"tag":418,"props":671,"children":672},{"style":486},[673],{"type":37,"value":674},"'hill'",{"type":32,"tag":418,"props":676,"children":677},{"style":431},[678],{"type":37,"value":606},{"type":32,"tag":418,"props":680,"children":682},{"class":420,"line":681},17,[683,688,692,697],{"type":32,"tag":418,"props":684,"children":685},{"style":571},[686],{"type":37,"value":687},"    hyperparameters",{"type":32,"tag":418,"props":689,"children":690},{"style":425},[691],{"type":37,"value":478},{"type":32,"tag":418,"props":693,"children":694},{"style":486},[695],{"type":37,"value":696},"'auto'",{"type":32,"tag":418,"props":698,"children":699},{"style":461},[700],{"type":37,"value":701},"  # Optuna tuning\n",{"type":32,"tag":418,"props":703,"children":705},{"class":420,"line":704},18,[706],{"type":32,"tag":418,"props":707,"children":708},{"style":431},[709],{"type":37,"value":710},")\n",{"type":32,"tag":418,"props":712,"children":714},{"class":420,"line":713},19,[715],{"type":32,"tag":418,"props":716,"children":717},{"emptyLinePlaceholder":451},[718],{"type":37,"value":454},{"type":32,"tag":418,"props":720,"children":722},{"class":420,"line":721},20,[723],{"type":32,"tag":418,"props":724,"children":725},{"style":461},[726],{"type":37,"value":727},"# Train (2 saat, 8 core)\n",{"type":32,"tag":418,"props":729,"children":731},{"class":420,"line":730},21,[732,737,742,746,752,756,761,765,770],{"type":32,"tag":418,"props":733,"children":734},{"style":431},[735],{"type":37,"value":736},"model.train(",{"type":32,"tag":418,"props":738,"children":739},{"style":571},[740],{"type":37,"value":741},"iterations",{"type":32,"tag":418,"props":743,"children":744},{"style":425},[745],{"type":37,"value":478},{"type":32,"tag":418,"props":747,"children":749},{"style":748},"--shiki-default:#79B8FF",[750],{"type":37,"value":751},"2000",{"type":32,"tag":418,"props":753,"children":754},{"style":431},[755],{"type":37,"value":314},{"type":32,"tag":418,"props":757,"children":758},{"style":571},[759],{"type":37,"value":760},"trials",{"type":32,"tag":418,"props":762,"children":763},{"style":425},[764],{"type":37,"value":478},{"type":32,"tag":418,"props":766,"children":767},{"style":748},[768],{"type":37,"value":769},"5",{"type":32,"tag":418,"props":771,"children":772},{"style":431},[773],{"type":37,"value":710},{"type":32,"tag":418,"props":775,"children":777},{"class":420,"line":776},22,[778],{"type":32,"tag":418,"props":779,"children":780},{"emptyLinePlaceholder":451},[781],{"type":37,"value":454},{"type":32,"tag":418,"props":783,"children":785},{"class":420,"line":784},23,[786],{"type":32,"tag":418,"props":787,"children":788},{"style":461},[789],{"type":37,"value":790},"# En iyi modeli seç (Pareto NRMSE + convergence)\n",{"type":32,"tag":418,"props":792,"children":794},{"class":420,"line":793},24,[795,800,804,809,814,818,823,827,832],{"type":32,"tag":418,"props":796,"children":797},{"style":431},[798],{"type":37,"value":799},"best ",{"type":32,"tag":418,"props":801,"children":802},{"style":425},[803],{"type":37,"value":478},{"type":32,"tag":418,"props":805,"children":806},{"style":431},[807],{"type":37,"value":808}," model.select_model(",{"type":32,"tag":418,"props":810,"children":811},{"style":486},[812],{"type":37,"value":813},"'pareto_front'",{"type":32,"tag":418,"props":815,"children":816},{"style":431},[817],{"type":37,"value":314},{"type":32,"tag":418,"props":819,"children":820},{"style":571},[821],{"type":37,"value":822},"rank",{"type":32,"tag":418,"props":824,"children":825},{"style":425},[826],{"type":37,"value":478},{"type":32,"tag":418,"props":828,"children":829},{"style":748},[830],{"type":37,"value":831},"1",{"type":32,"tag":418,"props":833,"children":834},{"style":431},[835],{"type":37,"value":710},{"type":32,"tag":418,"props":837,"children":839},{"class":420,"line":838},25,[840],{"type":32,"tag":418,"props":841,"children":842},{"emptyLinePlaceholder":451},[843],{"type":37,"value":454},{"type":32,"tag":418,"props":845,"children":847},{"class":420,"line":846},26,[848],{"type":32,"tag":418,"props":849,"children":850},{"style":461},[851],{"type":37,"value":852},"# Budget reallocation\n",{"type":32,"tag":418,"props":854,"children":856},{"class":420,"line":855},27,[857,862,866],{"type":32,"tag":418,"props":858,"children":859},{"style":431},[860],{"type":37,"value":861},"allocator ",{"type":32,"tag":418,"props":863,"children":864},{"style":425},[865],{"type":37,"value":478},{"type":32,"tag":418,"props":867,"children":868},{"style":431},[869],{"type":37,"value":870}," best.budget_allocator(\n",{"type":32,"tag":418,"props":872,"children":874},{"class":420,"line":873},28,[875,880,884,889,894],{"type":32,"tag":418,"props":876,"children":877},{"style":571},[878],{"type":37,"value":879},"    total_budget",{"type":32,"tag":418,"props":881,"children":882},{"style":425},[883],{"type":37,"value":478},{"type":32,"tag":418,"props":885,"children":886},{"style":748},[887],{"type":37,"value":888},"500000",{"type":32,"tag":418,"props":890,"children":891},{"style":431},[892],{"type":37,"value":893},",  ",{"type":32,"tag":418,"props":895,"children":896},{"style":461},[897],{"type":37,"value":898},"# Aylık toplam\n",{"type":32,"tag":418,"props":900,"children":902},{"class":420,"line":901},29,[903,908,912],{"type":32,"tag":418,"props":904,"children":905},{"style":571},[906],{"type":37,"value":907},"    scenario",{"type":32,"tag":418,"props":909,"children":910},{"style":425},[911],{"type":37,"value":478},{"type":32,"tag":418,"props":913,"children":914},{"style":486},[915],{"type":37,"value":916},"'max_response'\n",{"type":32,"tag":418,"props":918,"children":920},{"class":420,"line":919},30,[921],{"type":32,"tag":418,"props":922,"children":923},{"style":431},[924],{"type":37,"value":710},{"type":32,"tag":418,"props":926,"children":928},{"class":420,"line":927},31,[929,934],{"type":32,"tag":418,"props":930,"children":931},{"style":748},[932],{"type":37,"value":933},"print",{"type":32,"tag":418,"props":935,"children":936},{"style":431},[937],{"type":37,"value":938},"(allocator.optimal_allocation)\n",{"type":32,"tag":33,"props":940,"children":941},{},[942],{"type":37,"value":943},"Çıktı: Meta spend'i %12 azalt, Google Search %18 artır, TikTok sabit tut — bu dağıtımla predicted revenue %9 artacak. Bu tahmini doğrulamak için 4 haftalık incrementality testi kur.",{"type":32,"tag":40,"props":945,"children":947},{"id":946},"i̇ki-yöntemi-birleştiren-karar-döngüsü",[948],{"type":37,"value":949},"İki Yöntemi Birleştiren Karar Döngüsü",{"type":32,"tag":33,"props":951,"children":952},{},[953],{"type":37,"value":954},"MMM ve incrementality test birbirini besleyen iki katman. MMM \"neyi test etmeli\" sorusunu yanıtlar, test \"MMM tahminini doğrular veya yalanlı\". 2026'da başarılı kurumlar şu döngüyü işletiyor:",{"type":32,"tag":33,"props":956,"children":957},{},[958,963],{"type":32,"tag":148,"props":959,"children":960},{},[961],{"type":37,"value":962},"1. Makro planlama (Çeyreklik):",{"type":37,"value":964}," Robyn MMM'i çalıştır, her kanal için ROAS curve + saturation noktasını çıkar. Hangi kanalda margin var?",{"type":32,"tag":33,"props":966,"children":967},{},[968,973],{"type":32,"tag":148,"props":969,"children":970},{},[971],{"type":37,"value":972},"2. Hipotez üretme (Aylık):",{"type":37,"value":974}," MMM \"Google Display ROAS 1.2, saturation %70\" diyorsa, bütçe artırma hipotezi kur.",{"type":32,"tag":33,"props":976,"children":977},{},[978,983],{"type":32,"tag":148,"props":979,"children":980},{},[981],{"type":37,"value":982},"3. Test tasarımı (2 haftalık sprint):",{"type":37,"value":984}," Google Ads'te geo-experiment veya Meta Lift testi. Holdout %20, kontrol grubunda spend %0, test grubunda +%50.",{"type":32,"tag":33,"props":986,"children":987},{},[988,993],{"type":32,"tag":148,"props":989,"children":990},{},[991],{"type":37,"value":992},"4. Test sonucu (3-4 hafta):",{"type":37,"value":994}," Gerçek incrementality 1.8 çıktı — MMM tahmininden yüksek. Model kalibre et.",{"type":32,"tag":33,"props":996,"children":997},{},[998,1003],{"type":32,"tag":148,"props":999,"children":1000},{},[1001],{"type":37,"value":1002},"5. Model güncelleme:",{"type":37,"value":1004}," Yeni test sonucunu MMM'e prior olarak ekle (Bayesian update). Sonraki iterasyonda model daha doğru tahmin yapacak.",{"type":32,"tag":33,"props":1006,"children":1007},{},[1008,1010,1019],{"type":37,"value":1009},"Bu döngü ",{"type":32,"tag":1011,"props":1012,"children":1016},"a",{"href":1013,"rel":1014},"https:\u002F\u002Fwww.roibase.com.tr\u002Ftr\u002Fdijitalpazarlama",[1015],"nofollow",[1017],{"type":37,"value":1018},"dijital pazarlama",{"type":37,"value":1020}," stratejisinin merkezine oturmalı — planlamadan execution'a kadar her katmanda veri akışı kopmamalı.",{"type":32,"tag":33,"props":1022,"children":1023},{},[1024,1029],{"type":32,"tag":148,"props":1025,"children":1026},{},[1027],{"type":37,"value":1028},"Gerçek vaka:",{"type":37,"value":1030}," Bir seyahat platformu 2025 Q4'te Robyn ile TikTok'un ROAS'ını 0.9 olarak tahmin etti. Platform raporu 1.3 gösteriyordu. 6 haftalık Conversion Lift testi kurdular: gerçek incrementality 0.85 çıktı. Platform 53% hata yapıyordu (last-click bias). TikTok bütçesini %40 kestiler, Google Search'e kaydırdılar — toplam ROAS 1.8'den 2.3'e çıktı.",{"type":32,"tag":40,"props":1032,"children":1034},{"id":1033},"post-cookie-dünyada-attribution-mimarisinin-temeli",[1035],{"type":37,"value":1036},"Post-Cookie Dünyada Attribution Mimarisinin Temeli",{"type":32,"tag":33,"props":1038,"children":1039},{},[1040],{"type":37,"value":1041},"2026'da attribution artık \"hangi kanala kredi ver\" sorusu değil — \"hangi sinyali nasıl birleştir\" sorusu. Cookie ölünce tek kaynak kalmadı, onun yerine parçalı veri noktaları var: sGTM'den gelen first-party event, platform Conversion API'den gelen server-side sinyal, CRM'den gelen offline dönüşüm. Bunları birleştiren katman CDP + data warehouse — BigQuery, Snowflake, Redshift.",{"type":32,"tag":33,"props":1043,"children":1044},{},[1045],{"type":37,"value":1046},"Modern stack şöyle:",{"type":32,"tag":408,"props":1048,"children":1050},{"code":1049},"Web\u002FApp → sGTM → BigQuery\n              ↓\n           dbt transform\n              ↓\n      Robyn MMM + Lift Test\n              ↓\n       Looker Dashboard\n",[1051],{"type":32,"tag":62,"props":1052,"children":1053},{"__ignoreMap":16},[1054],{"type":37,"value":1049},{"type":32,"tag":33,"props":1056,"children":1057},{},[1058],{"type":37,"value":1059},"Bu pipeline'da Robyn sadece bir node. Ama kritik node — çünkü makro trendi gösteriyor, test yönünü belirliyor. Test sonuçları tekrar BigQuery'ye yazılıyor, bir sonraki MMM iterasyonunda prior olarak kullanılıyor.",{"type":32,"tag":33,"props":1061,"children":1062},{},[1063,1068,1070,1076,1078,1083,1085,1091,1093,1099],{"type":32,"tag":148,"props":1064,"children":1065},{},[1066],{"type":37,"value":1067},"Teknik not:",{"type":37,"value":1069}," Robyn'in BigQuery entegrasyonu ",{"type":32,"tag":62,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":37,"value":1075},"google-cloud-bigquery",{"type":37,"value":1077}," Python SDK üzerinden çalışıyor. ",{"type":32,"tag":62,"props":1079,"children":1081},{"className":1080},[],[1082],{"type":37,"value":67},{"type":37,"value":1084}," komutuyla haftalık veriyi ",{"type":32,"tag":62,"props":1086,"children":1088},{"className":1087},[],[1089],{"type":37,"value":1090},"marketing_data.robyn_input",{"type":37,"value":1092}," tablosuna yükle, model çıktısını ",{"type":32,"tag":62,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":37,"value":1098},"robyn_output",{"type":37,"value":1100}," tablosuna yaz. Looker Studio doğrudan bu tabloyu okusun — böylece CMO dashboard'unda gerçek zamanlı ROAS curve ve budget allocation önerisi görünsün.",{"type":32,"tag":40,"props":1102,"children":1104},{"id":1103},"sık-yapılan-hatalar-ve-karşı-argümanlar",[1105],{"type":37,"value":1106},"Sık Yapılan Hatalar ve Karşı Argümanlar",{"type":32,"tag":33,"props":1108,"children":1109},{},[1110,1115],{"type":32,"tag":148,"props":1111,"children":1112},{},[1113],{"type":37,"value":1114},"\"MMM veri bilimci gerektirir, biz yapamayız.\"",{"type":37,"value":1116},"\nRobyn açık kaynak, dokümantasyonu net, Colab notebook'ları hazır. Orta seviye Python bilen bir growth analyst 2 hafta dokümantasyona bakıp production'a alır. 2026'da \"data science\" bahanesi geçmiyor.",{"type":32,"tag":33,"props":1118,"children":1119},{},[1120,1125],{"type":32,"tag":148,"props":1121,"children":1122},{},[1123],{"type":37,"value":1124},"\"Incrementality testi pahalı, holdout kaybı var.\"",{"type":37,"value":1126},"\nHoldout %10-20 tutarsan, 3 haftalık test %1.5-3 revenue kaybı demek. Ama yanlış kanala devam edersen yıllık %20-30 kayıp. Test ROI'si 10x üstü.",{"type":32,"tag":33,"props":1128,"children":1129},{},[1130,1135],{"type":32,"tag":148,"props":1131,"children":1132},{},[1133],{"type":37,"value":1134},"\"Platform raporlaması yeterli.\"",{"type":37,"value":1136},"\nMeta dashboard'u last-click + view-through 1-day atfediyor. Organik etkiyi, cross-channel sinerjisini, gecikmeli dönüşümü görmüyor. Platform raporu taktiksel sinyal, MMM stratejik gerçek.",{"type":32,"tag":33,"props":1138,"children":1139},{},[1140,1145],{"type":32,"tag":148,"props":1141,"children":1142},{},[1143],{"type":37,"value":1144},"\"Her hafta model train etmek gereksiz.\"",{"type":37,"value":1146},"\nSezonalite, promosyon, ekonomik şok — hepsi ROAS'ı etkiliyor. Haftalık refresh ile 2 hafta içinde trend değişikliğini yakalarsın. Aylık refresh 6-8 hafta gecikmeli karar demek.",{"type":32,"tag":1148,"props":1149,"children":1150},"hr",{},[],{"type":32,"tag":33,"props":1152,"children":1153},{},[1154],{"type":37,"value":1155},"2026'da attribution sorunu çözüldü mü? Hayır — ama araç kutusu tamamen değişti. Cookie gitti, onun yerine MMM + incrementality + first-party data stack geldi. Robyn gibi açık kaynak araçlar büyük markayla küçük startup'ı aynı seviyeye getirdi. Geo-experiment ve Conversion Lift testleri platform içine gömüldü, artık ayrı bir veri bilimci ekibi kurmaya gerek yok. Soru \"hangi yöntem\" değil — \"hangi katmanda hangi yöntemi, nasıl entegre edip döngüye sokuyorum?\" Cevap veren kazanıyor.",{"type":32,"tag":1157,"props":1158,"children":1159},"style",{},[1160],{"type":37,"value":1161},"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":457,"depth":457,"links":1163},[1164,1165,1168,1169,1170,1171],{"id":42,"depth":447,"text":45},{"id":72,"depth":447,"text":75,"children":1166},[1167],{"id":94,"depth":457,"text":97},{"id":278,"depth":447,"text":281},{"id":946,"depth":447,"text":949},{"id":1033,"depth":447,"text":1036},{"id":1103,"depth":447,"text":1106},"markdown","content:tr:marketing:mmm-incrementality-2026nin-attribution-setupi.md","content","tr\u002Fmarketing\u002Fmmm-incrementality-2026nin-attribution-setupi.md","tr\u002Fmarketing\u002Fmmm-incrementality-2026nin-attribution-setupi","md",1778738634469]