<!doctype html>
<html lang="en" >
    <head>
        <meta charset="utf-8">
        <meta name="robots" content="index, follow">
        <title>    Data &amp; Experimentation Blog | Alhan Keser
</title>
        <meta name="description" content="    A blog about data and experimentation, by Alhan Keser.
">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <link rel="canonical" href="https://blog.alhan.co">
        <link rel="amphtml" href="https://blog.alhan.co?amp=1">
                 
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <style id="tw">/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,footer,header,nav{display:block}h1{font-size:2em;margin:.67em 0}main{display:block}a{background-color:transparent;-webkit-text-decoration-skip:objects}strong{font-weight:inherit;font-weight:bolder}img{border-style:none}html{box-sizing:border-box;font-family:sans-serif}*,:after,:before{box-sizing:inherit}h1,h2,h3,p,ul{margin:0}*,:after,:before{border:0 solid #dae1e7}img{border-style:solid;max-width:100%;height:auto}.container{width:100%;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:576px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:992px){.container{max-width:992px}}@media (min-width:1200px){.container{max-width:1200px}}body{font-family:system-ui,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:#f1f5f8;color:#3d4852;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{display:flex;flex-direction:column;min-height:100vh}nav{background-color:#fff;border-style:solid}header nav{margin-bottom:2.5rem;border-bottom-width:1px}footer nav{margin-top:4rem;border-top-width:1px}a{text-decoration:none;color:#3d4852}a:not(.unstyled){border-bottom:2px;border-color:#a0f0ed;border-style:solid}a:not(.unstyled):hover{background-color:#a0f0ed;border-color:transparent}nav a.nav-link{color:#606f7b;margin-right:1rem}nav a.nav-link,nav a.nav-link:hover{border-width:0;font-weight:300;font-size:1.25rem}nav a.nav-link:hover{color:#3d4852;background-color:#fff}.post-container{padding:2.5rem 1.25rem;border:1px solid #dae1e7;background-color:#fff}.post{background-color:#fff;border-width:1px;display:flex;flex-grow:1;flex-direction:column;justify-content:space-between}.post,.post:first-child{width:100%}.post a{display:flex;flex-direction:column;justify-content:center;flex-grow:1}.post a:hover h3{color:#38a89d}main h1{letter-spacing:-.02em;margin-bottom:2rem}article,p{font-size:1.125rem;line-height:1.5}h2,h3,p,ul{margin-bottom:1rem}.code{font-family:Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;color:#38a89d;background-color:#f8fafc;font-size:.875rem}span.code{padding:.25rem}pre.code{border:1px dashed #f1f5f8;padding:1rem;overflow:auto}div#close-opt span{background:#000;width:30px;height:2px;display:block;position:absolute;margin-top:10px;margin-left:-.5rem}div#close-opt{width:30px;height:30px;top:0;right:1rem}div#close-opt span:first-child{-webkit-transform:rotate(45deg);transform:rotate(45deg)}div#close-opt span:nth-child(2){-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.bg-grey-lightest{background-color:#f8fafc}.bg-white{background-color:#fff}.border-t{border-top-width:1px}.cursor-pointer{cursor:pointer}.block{display:block}.hidden{display:none}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.justify-between{justify-content:space-between}.flex-grow{flex-grow:1}.font-bold{font-weight:700}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.m-10{margin:2.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-5{margin-top:1.25rem;margin-bottom:1.25rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-5{margin-top:1.25rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mt-20{margin-top:5rem}.-mb-10{margin-bottom:-2.5rem}.p-2{padding:.5rem}.p-10{padding:2.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pt-2{padding-top:.5rem}.pr-20{padding-right:5rem}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.pin-t{top:0}.text-center{text-align:center}.text-grey-darker{color:#606f7b}.text-xs{font-size:.75rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.tracking-tight{letter-spacing:-.02em}.w-full{width:100%}@media (min-width:576px){.sm\:m-4{margin:1rem}.sm\:my-8{margin-top:2rem}.sm\:mb-8,.sm\:my-8{margin-bottom:2rem}.sm\:-m-4{margin:-1rem}.sm\:p-0{padding:0}.sm\:p-10{padding:2.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:text-2xl{font-size:1.5rem}.sm\:w-1\/3{width:33.33333%}}@media (min-width:768px){.md\:my-10{margin-top:2.5rem;margin-bottom:2.5rem}.md\:mt-20{margin-top:5rem}.md\:p-16{padding:4rem}.md\:text-2xl{font-size:1.5rem}.md\:text-5xl{font-size:3rem}}@media (min-width:992px){.lg\:max-w-lg{max-width:50rem}.lg\:pt-1{padding-top:.25rem}};</style>
                <link rel="shortcut icon" href="data:image/x-icon;" type="image/x-icon">
            </head>
    <body class="">
        <div id="app" class="">
            
                            
                        
                <main class="container flex-grow lg:max-w-lg">
        <div class="text-lg leading-tight md:text-2xl sm:my-8 p-10 sm:p-0 text-center">A blog about data and experimentation, by <a href="https://www.linkedin.com/in/alhankeser/">Alhan Keser</a>.</div>
        <div class="flex flex-wrap sm:-m-4">
                    <div class="post sm:w-1/3 sm:m-4 mb-4">
            <a class="unstyled" href="/p/2020-presidential-candidates-behavioral-science">
                                    <div>
                                            <picture>
                            <source 
                                media="(max-width:380px)"
                                type="image/webp"
                                srcset="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_sm.webp">
                            <source 
                                media="(max-width:480px)" 
                                type="image/webp"
                                srcset="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_md.webp">
                            <source 
                                type="image/webp"
                                srcset="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_lg.webp">
                            <source 
                                media="(max-width:380px)"
                                type="image/jpeg"
                                srcset="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_sm.jpg">
                            <source 
                                media="(max-width:480px)" 
                                type="image/jpeg"
                                srcset="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_md.jpg">
                            <img src="/storage/images/posts/4/2020-candidates-behavioral-science_4_1582477362_lg.jpg" alt="$post->featuredImage->alt_text">
                        </picture> 
                                        </div>
                                <div class="m-10">
                    <h3 class="text-xl sm:text-2xl">How 2020 Candidates Use Behavioral Science to Convert Visitors into Donors</h3>
                    <p>Most 2020 candidates are either actively A/B testing messaging and imagery or evolving their website experiences to be increasingly effective at generating support, usually in the form of revenue.</p>
                </div>
                </a>
                <div class="px-10 py-4 bg-grey-lightest border-t flex justify-between">
                    <small class="text-grey-darker">Feb 26, 2020</small>
                     
                        <small>
                            <a class="text-grey-darker" href="/web-experimentation">Web Experimentation</a>
                        </small>
                                    </div>            
            </div>
                    <div class="post sm:w-1/3 sm:m-4 mb-4">
            <a class="unstyled" href="/p/tech-companies-helping-trump-2020">
                                    <div>
                     
                    <picture>
                            <source 
                                type="image/webp"
                                data-srcset="/storage/images/posts/3/stripe-used-by-winred_3_1581969413_sm.webp">
                            
                            <source 
                                type="image/jpeg"
                                data-srcset="/storage/images/posts/3/stripe-used-by-winred_3_1581969413_sm.jpg">
                            <img 
                                class="lazy"
                                style="width:100%;height:150px;"
                                src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mOc+R8AAjcBmvywMWoAAAAASUVORK5CYII="  
                                data-style="" 
                                data-src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mOc+R8AAjcBmvywMWoAAAAASUVORK5CYII="
                                alt="Stripe used by winred"
                                >
                        </picture> 
                                        </div>
                                <div class="m-10">
                    <h3 class="text-xl sm:text-2xl">The Hip Tech Companies Powering Trump 2020</h3>
                    <p>Whether you like it or not, these tech companies are helping Donald Trump get reelected.</p>
                </div>
                </a>
                <div class="px-10 py-4 bg-grey-lightest border-t flex justify-between">
                    <small class="text-grey-darker">Jun 09, 2021</small>
                     
                        <small>
                            <a class="text-grey-darker" href="/web-development">Web Development</a>
                        </small>
                                    </div>            
            </div>
                    <div class="post sm:w-1/3 sm:m-4 mb-4">
            <a class="unstyled" href="/p/how-to-make-a-fast-loading-blog">
                                    <div>
                     
                    <picture>
                            <source 
                                type="image/webp"
                                data-srcset="/storage/images/posts/1/lighthouse-report-for-this-blog_1_1582449170_sm.webp">
                            
                            <source 
                                type="image/jpeg"
                                data-srcset="/storage/images/posts/1/lighthouse-report-for-this-blog_1_1582449170_sm.jpg">
                            <img 
                                class="lazy"
                                style="width:100%;height:150px;"
                                src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mOc+R8AAjcBmvywMWoAAAAASUVORK5CYII="  
                                data-style="" 
                                data-src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mOc+R8AAjcBmvywMWoAAAAASUVORK5CYII="
                                alt="Lighthouse report for this blog."
                                >
                        </picture> 
                                        </div>
                                <div class="m-10">
                    <h3 class="text-xl sm:text-2xl">How to make a fast-loading blog</h3>
                    <p>
Part of the reason I created this blog is to practice page speed optimization skills.</p>
                </div>
                </a>
                <div class="px-10 py-4 bg-grey-lightest border-t flex justify-between">
                    <small class="text-grey-darker">Mar 07, 2020</small>
                     
                        <small>
                            <a class="text-grey-darker" href="/web-development">Web Development</a>
                        </small>
                                    </div>            
            </div>
                </div> 
    </main>
            
            <footer>
                <nav class="md:mt-20">
                    <div class="container py-5 px-5 sm:px-0 lg:max-w-lg">
                        <a class="nav-link" href="/">Home</a>
                        <a class="nav-link" href="/privacy">Privacy</a>
                    </div>    
                </nav>
            </footer>
        </div>
         
            
                        <script>
  !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=1)}({1:function(e,t,n){e.exports=n("3tGK")},"3tGK":function(e,t){function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}document.addEventListener("DOMContentLoaded",function(){var e=function(e){var t=function(e){if("IMG"===e.tagName){var t=e.parentNode;if("PICTURE"===t.tagName&&[].slice.call(t.querySelectorAll("source")).forEach(function(e){return r(e)}),!0===a.asyncDecodeSupport&&!0===a.replaceWithSupport){var n=new Image;r(n,e),n.decode().then(function(){for(var t=0;t<e.attributes.length;t++){var r=e.attributes[t].name,o=e.attributes[t].value;-1===a.ignoredImgAttributes.indexOf(r)&&n.setAttribute(r,o)}e.replaceWith(n)})}else r(e)}},r=function(e){var t=(arguments.length>1&&void 0!==arguments[1]&&arguments[1]).dataset||e.dataset;for(var n in t)-1!==a.acceptedDataAttributes.indexOf("data-".concat(n))&&(e.setAttribute(n,t[n]),e.removeAttribute("data-".concat(n)))},o=function e(){var n=!1;!1===n&&s.length>0&&(n=!0,setTimeout(function(){s.forEach(function(e){e.getBoundingClientRect().top<=window.innerHeight+c.threshold&&e.getBoundingClientRect().bottom>=-c.threshold&&"none"!==getComputedStyle(e).display&&(!0===c.idlyLoad&&!0===a.idleCallbackSupport?requestIdleCallback(function(){t(e)},l):t(e),e.classList.remove(c.lazyClass),s=s.filter(function(t){return t!==e}))}),n=!1,0===s.length&&!1===c.observeChanges&&a.eventsToBind.forEach(function(t){return t[0].removeEventListener(t[1],e)})},c.throttleTime))},i=new Image,a={intersectionObserverSupport:"IntersectionObserver"in window&&"IntersectionObserverEntry"in window&&"intersectionRatio"in window.IntersectionObserverEntry.prototype,mutationObserverSupport:"MutationObserver"in window,idleCallbackSupport:"requestIdleCallback"in window,asyncDecodeSupport:"decode"in i,replaceWithSupport:"replaceWith"in i,ignoredImgAttributes:["data-src","data-sizes","data-media","data-srcset","src","srcset","style"],acceptedDataAttributes:["data-src","data-sizes","data-media","data-srcset","data-style"],eventsToBind:[[document,"scroll"],[document,"touchmove"],[window,"resize"],[window,"orientationchange"]]},c=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),o.forEach(function(t){n(e,t,r[t])})}return e}({lazyClass:"lazy",lazyBackgroundClass:"lazy-bg",lazyBackgroundLoaded:"lazy-bg-loaded",throttleTime:200,idlyLoad:!1,idleLoadTimeout:100,threshold:200,observeChanges:!0,observeRootSelector:"body",mutationObserverOptions:{childList:!0}},e),u="img.".concat(c.lazyClass),l={timeout:c.idleLoadTimeout},s=[].slice.call(document.querySelectorAll(u));if(!0===a.intersectionObserverSupport){var d=new IntersectionObserver(function(e,n){e.forEach(function(e){if(!0===e.isIntersecting||e.intersectionRatio>0){var r=e.target;!0===c.idlyLoad&&!0===a.idleCallbackSupport?requestIdleCallback(function(){t(r)},l):t(r),r.classList.remove(c.lazyClass),n.unobserve(r),s=s.filter(function(e){return e!==r})}})},{rootMargin:"".concat(c.threshold,"px 0%")});s.forEach(function(e){return d.observe(e)})}else a.eventsToBind.forEach(function(e){return e[0].addEventListener(e[1],o)}),o();!0===a.mutationObserverSupport&&!0===c.observeChanges&&new MutationObserver(function(e){e.forEach(function(e){[].slice.call(document.querySelectorAll(u)).forEach(function(e){-1===s.indexOf(e)&&(s.push(e),!0===a.intersectionObserverSupport?d.observe(e):o())})})}).observe(document.querySelector(c.observeRootSelector),c.mutationObserverOptions)};e(),window.yall=e})}});</script>

<script>
window.__ip = '64.233.172.12';window.__eu = false;</script>



<script>
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=2)}({2:function(e,t,n){e.exports=n("hWlC")},hWlC:function(e,t){!function(e){var t,n,r,o="__ba__vid",c="__ba__optOut",u=!1;function l(){return Number.isNaN(Number(localStorage.getItem(c)))&&localStorage.setItem(c,0),Number(localStorage.getItem(c))}function i(){document.getElementById("optOut")&&(l()?document.getElementById("optOut").innerHTML="Opt In to Tracking":document.getElementById("optOut").innerHTML="Opt Out of Tracking",document.getElementById("optOut").addEventListener("click",a)),document.getElementById("optOutStatus")&&(document.getElementById("optOutStatus").innerHTML=!l())}function a(){l()?(localStorage.setItem(c,0),i()):(localStorage.setItem(c,1),i())}var f={url:e.location.href,ip:e.__ip,referrer:document.referrer,timestamp:(new Date).toISOString().slice(0,19).replace("T"," "),userAgent:navigator.userAgent,browserDimensions:e.innerWidth+"x"+e.innerHeight,vid:function(){try{if(localStorage.getItem(o)&&!l()&&!e.__eu)return localStorage.getItem(o);var t=(new Date).getTime()+":"+e.__ip;return l()||e.__eu||localStorage.setItem(o,t),t}catch(e){return!1}}(),optOut:l()};function s(t,n){if(n&&Object.entries(n).forEach(function(e){t[e[0]]=e[1]}),l()&&!e.__eu)return!1;var r=new XMLHttpRequest;r.open("POST","https://us-central1-alhan-blog-1536736167251.cloudfunctions.net/track",!0),r.setRequestHeader("Content-Type","application/json"),r.send(JSON.stringify(t))}null===localStorage.getItem(c)&&e.__eu&&a(),s(f),document.querySelectorAll("a").forEach(function(t){8!==t.href.indexOf(e.location.hostname)&&t.addEventListener("click",function(){s(f,{click:t.href})})}),document.querySelectorAll('[data-track="true"]').forEach(function(e){e.addEventListener("click",function(){s(f,{click:e.innerText})})}),e.addEventListener("scroll",function o(){u=e.scrollY,t=setInterval(function(){if((r=e.scrollY)===n&&Math.abs(r-u)>500){var c=r-u,l=r/document.body.clientHeight;s(f,{scrollDistance:c,scrollPercent:l}),e.addEventListener("scroll",o),clearInterval(t)}else n=r},1e3),e.removeEventListener("scroll",o)}),i()}(window)}});</script>

            </body>
</html>
