Funnel conversion rate

퍼널 전환율

See how step-to-step pass rates combine into final conversion.

···
html
<div class="rate"><div class="rate-inputs"><label>VIEW <input id="rate-view" type="range" min="30" max="95" value="70"><b id="rate-view-value">70%</b></label><label>CART <input id="rate-cart" type="range" min="15" max="90" value="50"><b id="rate-cart-value">50%</b></label><label>BUY <input id="rate-buy" type="range" min="20" max="95" value="60"><b id="rate-buy-value">60%</b></label></div><div class="rate-result"><small>1,000 VISITS →</small><strong id="rate-result">210</strong><span>BUYERS</span></div></div>
css
.rate{width:min(90%,740px);display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(13px,4vmin,36px);align-items:center;font:800 clamp(10px,max(2vmin,1vw),16px)/1 sans-serif}.rate-inputs{display:grid;gap:clamp(9px,3vmin,21px)}.rate label{display:grid;grid-template-columns:clamp(35px,7vw,52px) 1fr clamp(30px,7vw,50px);gap:6px;align-items:center}.rate input{min-width:0;width:100%;accent-color:var(--accent)}.rate b{text-align:right}.rate-result{display:grid;gap:clamp(4px,1.5vmin,10px);border:2px solid var(--fg);box-shadow:7px 7px 0 var(--accent-2);padding:clamp(9px,3vmin,24px);text-align:center}.rate-result small{color:var(--muted)}.rate-result strong{font:900 clamp(26px,9vmin,70px)/1 sans-serif;color:var(--accent)}.rate-result span{letter-spacing:.1em}small{font-size:max(.833em,10px,1vw)}
js
const ids=['view','cart','buy'],inputs=ids.map(k=>document.getElementById('rate-'+k));function update(){const values=inputs.map((el,i)=>{document.getElementById('rate-'+ids[i]+'-value').textContent=el.value+'%';return Number(el.value)/100});document.getElementById('rate-result').textContent=Math.round(1000*values.reduce((a,b)=>a*b,1))}inputs.forEach(el=>el.oninput=()=>{clearInterval(auto);update()});update();let tick=0;const auto=setInterval(()=>{inputs[1].value=tick++%2?50:65;update()},1800);

Funnel conversion rate is the share of a starting cohort that reaches a goal. Looking at pass rates between steps shows which transitions create the final result.

Change the pass rates in the demo to see how many of 1,000 starting visitors reach purchase. An improvement at one transition propagates through the remaining flow.

Keep denominators clear. Purchases per visit and purchases per cart entrant answer different questions.

When to use

Use it to translate a conversion goal into step-level improvements.

Open as page ↗