1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4543],{4265:(e,t,a)=>{a.d(t,{ADAUCalculator:()=>c});var r=a(14540),s=a(68256);function n(e){let t=1e4*Math.sin(e);return t-Math.floor(t)}function l(e){let{data:t,color:a,className:n}=e,l=(0,s.useId)(),d=Math.max(...t),i=Math.min(...t),o=d-i||1,c=t.map((e,a)=>({x:2+a/(t.length-1)*296,y:118-(e-i)/o*116})),m=c.map((e,t)=>"".concat(0===t?"M":"L").concat(e.x,",").concat(e.y)).join(" "),u="".concat(m," L").concat(c[c.length-1].x,",").concat(120," L").concat(c[0].x,",").concat(120," Z");return(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(300," ").concat(120),className:n,preserveAspectRatio:"none",role:"img","aria-label":"Daily active users chart",children:[(0,r.jsx)("defs",{children:(0,r.jsxs)("linearGradient",{id:l,x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,r.jsx)("stop",{offset:"0%",stopColor:a,stopOpacity:"0.25"}),(0,r.jsx)("stop",{offset:"100%",stopColor:a,stopOpacity:"0.02"})]})}),(0,r.jsx)("path",{d:u,fill:"url(#".concat(l,")")}),(0,r.jsx)("path",{d:m,fill:"none",stroke:a,strokeWidth:"2",strokeLinejoin:"round"})]})}function d(e){return e.toLocaleString()}function i(e){return Math.round((1-e.aDAU/e.mau)*100)}let o=[{label:"The Big Event",badge:"SPIKE PATTERN",badgeCls:"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400",accentCls:"text-amber-600 dark:text-amber-400",barColor:"bg-gradient-to-r from-amber-400 to-amber-300",chartColor:"#f59e0b",insightBg:"bg-amber-50 border-amber-500 dark:bg-amber-950/30",description:"Product launch or viral moment causes a 5x spike on day 10",fn:function(e){let t=[],a=new Set,r=Math.round(1.3*e),s=Math.round(4*e);for(let e=1;e<=30;e++){let l=new Set,d=1e3*e;for(let e=0;e<r;e++).77>n(d+e)&&(l.add("c_"+e),a.add("c_"+e));let i=10===e?.95:11===e?.25:12===e?.1:.05*(13===e);if(i>0)for(let e=0;e<s;e++)n(d+5e4+e)<i&&(l.add("s_"+e),a.add("s_"+e));t.push(l.size)}let l=t.reduce((e,t)=>e+t,0);return{dailyDAU:t,mau:a.size,aDAU:Math.round(l/30),maxDAU:Math.max(...t)}},insight:(e,t)=>"The spike brings ".concat(d(e.mau-Math.round(1.3*t))," new users who mostly do not return. MAU jumps to ").concat(d(e.mau),", but aDAU stays at ").concat(d(e.aDAU)," (").concat(i(e),"% difference).")},{label:"The Work Week",badge:"B2B SAAS PATTERN",badgeCls:"bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400",accentCls:"text-blue-600 dark:text-blue-400",barColor:"bg-gradient-to-r from-blue-500 to-blue-400",chartColor:"#3b82f6",insightBg:"bg-blue-50 border-blue-500 dark:bg-blue-950/30",description:"Business apps see 50% fewer users on weekends",fn:function(e){let t=[],a=new Set,r=Math.round(1.3*e);for(let e=1;e<=30;e++){let s=new Set,l=1e3*e,d=(e-1)%7>=5?.385:.77;for(let e=0;e<r;e++)n(l+e)<d&&(s.add("u_"+e),a.add("u_"+e));t.push(s.size)}let s=t.reduce((e,t)=>e+t,0);return{dailyDAU:t,mau:a.size,aDAU:Math.round(s/30),maxDAU:Math.max(...t)}},insight:e=>"High user overlap means MAU (".concat(d(e.mau),") stays closer to peak DAU. Weekend drops still reduce aDAU to ").concat(d(e.aDAU)," (").concat(i(e),"% savings).")},{label:"The Spiky Pattern",badge:"CYCLIC PATTERN",badgeCls:"bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400",accentCls:"text-emerald-600 dark:text-emerald-400",barColor:"bg-gradient-to-r from-emerald-500 to-emerald-400",chartColor:"#10b981",insightBg:"bg-emerald-50 border-emerald-500 dark:bg-emerald-950/30",description:"Sports and entertainment apps spike on event days",fn:function(e){let t=[],a=new Set,r=Math.round(.5*e),s=Math.round(2.5*e);for(let e=1;e<=30;e++){let l=new Set,d=1e3*e,i=(e-1)%7;for(let e=0;e<r;e++).8>n(d+e)&&(l.add("d_"+e),a.add("d_"+e));if(6===i||3===i||0===i){let e=6===i?.5:.3,t=6===i?1e5:3===i?2e5:3e5;for(let r=0;r<s;r++)n(d+t+r)<e&&(l.add("f_"+r),a.add("f_"+r))}t.push(l.size)}let l=t.reduce((e,t)=>e+t,0);return{dailyDAU:t,mau:a.size,aDAU:Math.round(l/30),maxDAU:Math.max(...t)}},insight:e=>"Different users show up on different event days, inflating MAU to ".concat(d(e.mau),". Daily average is ").concat(d(e.aDAU)," (").concat(i(e),"% savings with aDAU).")}];
1function c(){let[e,t]=(0,s.useState)(1e3),a=(0,s.useMemo)(()=>o.map(t=>(function(e,t){let a=e(1e3),r=t/1e3;return{dailyDAU:a.dailyDAU.map(e=>Math.round(e*r)),mau:Math.round(a.mau*r),aDAU:Math.round(a.aDAU*r),maxDAU:Math.round(a.maxDAU*r)}})(t.fn,e)),[e]),n=Math.max(...a.map(e=>e.mau));return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"bg-subtle mb-8 flex flex-wrap items-center gap-5 rounded-2xl border border-border px-6 py-5",children:[(0,r.jsx)("span",{className:"whitespace-nowrap text-sm text-fg-subtle",children:"Base daily users"}),(0,r.jsx)("input",{type:"range","aria-label":"Base daily users",className:"h-1.5 min-w-[180px] flex-1 cursor-pointer appearance-none rounded-full bg-border accent-indigo-500 [&::-moz-range-thumb]:h-[18px] [&::-moz-range-thumb]:w-[18px] [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-none [&::-moz-range-thumb]:bg-indigo-500 [&::-webkit-slider-thumb]:h-[18px] [&::-webkit-slider-thumb]:w-[18px] [&::-webkit-slider-thumb]:cursor-pointer [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-indigo-500 [&::-webkit-slider-thumb]:shadow-md",min:500,max:1e4,step:500,value:e,onChange:e=>t(Number(e.target.value))}),(0,r.jsx)("div",{className:"min-w-[90px] rounded-xl bg-indigo-50 px-4 py-1.5 text-center text-base font-bold text-indigo-600 dark:bg-indigo-950/30 dark:text-indigo-400",children:d(e)})]}),(0,r.jsx)("div",{className:"mb-8 grid grid-cols-1 gap-5 md:grid-cols-3",children:o.map((t,s)=>{let n=a[s];return(0,r.jsxs)("div",{className:"bg-subtle flex flex-col rounded-2xl border border-border p-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"mb-2 inline-block whitespace-nowrap rounded-full px-2.5 py-1 text-[10px] font-semibold tracking-wide ".concat(t.badgeCls),children:t.badge}),(0,r.jsx)("h3",{className:"mb-1 text-xl font-bold text-fg",children:t.label}),(0,r.jsx)("p",{className:"mb-4 text-[13px] leading-relaxed text-fg-subtle",children:t.description})]}),(0,r.jsx)(l,{data:n.dailyDAU,color:t.chartColor,className:"mb-5 h-[140px] w-full"}),(0,r.jsxs)("div",{className:"mt-auto flex flex-col gap-2",children:[(0,r.jsxs)("div",{className:"border-subtle flex items-center justify-between rounded-xl border bg-bg px-4 py-2.5",children:[(0,r.jsx)("span",{className:"text-[11px] font-medium tracking-wide text-fg-mute",children:"AVG DAU"}),(0,r.jsx)("span",{className:"text-lg font-bold ".concat(t.accentCls),children:d(n.aDAU)})]}),(0,r.jsxs)("div",{className:"border-subtle flex items-center justify-between rounded-xl border bg-bg px-4 py-2.5",children:[(0,r.jsx)("span",{className:"text-[11px] font-medium tracking-wide text-fg-mute",children:"PEAK DAU"}),(0,r.jsx)("span",{className:"text-lg font-bold text-fg",children:d(n.maxDAU)})]}),(0,r.jsxs)("div",{className:"border-subtle flex items-center justify-between rounded-xl border bg-bg px-4 py-2.5",children:[(0,r.jsx)("span",{className:"text-[11px] font-medium tracking-wide text-fg-mute",children:"EST. MAU"}),(0,r.jsx)("span",{className:"text-lg font-bold text-red-600 dark:text-red-400",children:d(n.mau)})]})]}),(0,r.jsx)("div",{className:"mt-4 rounded-lg border-l-[3px] p-3 ".concat(t.insightBg),children:(0,r.jsx)("p",{className:"text-xs leading-relaxed text-fg-subtle",children:t.insight(n,e)})})]},t.label)})}),(0,r.jsxs)("div",{className:"bg-subtle mb-8 rounded-2xl border border-border p-7",children:[(0,r.jsx)("h3",{className:"mb-1 text-lg font-bold text-fg",children:"Side-by-side comparison"}),(0,r.jsx)("p",{className:"mb-6 text-[13px] text-fg-subtle",children:"Billing metrics across all three patterns"}),o.map((e,t)=>{let s=a[t],l=i(s),o=n>0?s.aDAU/n*100:0,c=n>0?s.mau/n*100:0;return(0,r.jsxs)("div",{className:"mb-5 last:mb-0",children:[(0,r.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,r.jsx)("span",{className:"text-[13px] font-semibold text-fg",children:e.label}),(0,r.jsxs)("span",{className:"text-[13px] font-bold text-emerald-600 dark:text-emerald-400",children:[l,"% savings"]})]}),(0,r.jsxs)("div",{className:"mb-1.5 flex items-center gap-2.5",children:[(0,r.jsx)("span",{className:"w-9 text-[11px] text-fg-mute",children:"aDAU"}),(0,r.jsx)("div",{className:"h-6 flex-1 overflow-hidden rounded bg-border",children:(0,r.jsx)("div",{className:"duration-400 flex h-full items-center justify-end rounded pr-2 transition-all ".concat(e.barColor),style:{width:"".concat(Math.max(o,8),"%")},children:(0,r.jsx)("span",{className:"text-[11px] font-semibold text-white",children:d(s.aDAU)})})})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,r.jsx)("span",{className:"w-9 text-[11px] text-fg-mute",children:"MAU"}),(0,r.jsx)("div",{className:"h-6 flex-1 overflow-hidden rounded bg-border",children:(0,r.jsx)("div",{className:"duration-400 flex h-full items-center justify-end rounded bg-gradient-to-r from-red-500 to-red-400 pr-2 transition-all",style:{width:"".concat(Math.max(c,8),"%")},children:(0,r.jsx)("span",{className:"text-[11px] font-semibold text-white",children:d(s.mau)})})})]})]},e.label)}),(0,r.jsx)("div",{className:"mt-6 rounded-xl border-l-[3px] border-emerald-600 bg-emerald-50 p-4 dark:bg-emerald-950/30",children:(0,r.jsx)("p",{className:"text-[13px] leading-relaxed text-fg-subtle",children:"Real-world usage patterns rarely produce consistent daily activity. MAU-based billing charges for peak monthly presence, while aDAU tracks actual daily usage, typically reducing costs by 30-75% depending on traffic pattern."})})]}),(0,r.jsxs)("p",{className:"text-center text-xs text-fg-mute",children:["Data based on ",d(e)," base daily users \xb7 Unique user simulation with pattern-specific overlap"]})]})}},39690:(e,t,a)=>{a.r(t),a.d(t,{VideoPlayer:()=>d});var r=a(14540),s=a(73632),n=a(25242),l=a(44714);let d=e=>{let{className:t,...a}=e,d=(0,l.Q)(a.mediaId||"");return a.mediaId?(0,r.jsx)("div",{className:(0,s.cn)("wistia_embed flex flex-1",t),children:(0,r.jsx)(n.$,{bigPlayButton:!0,playerColor:"#000000",className:"max-h-full flex-1 object-contain",...a,mediaId:d})}):null}},40410:(e,t,a)=>{a.r(t),a.d(t,{MarkdownStyles:()=>s});var r=a(68256);let s=()=>((0,r.useEffect)(()=>{Promise.all([a.e(5243),a.e(5151)]).then(a.t.bind(a,87532,23)),Promise.all([a.e(7460),a.e(9123)]).then(a.t.bind(a,19123,23))},[]),null)},58803:(e,t,a)=>{a.r(t),a.d(t,{sanityLoader:()=>r});let r=e=>{let{src:t,width:a,quality:r}=e,s=new URL(t);s.searchParams.set("auto","format"),s.searchParams.has("fit")||s.searchParams.set("fit",s.searchParams.has("h")?"min":"max");let n=s.searchParams.get("h"),l=s.searchParams.get("w");if(n&&l){let e=parseInt(n,10),t=parseInt(l,10);s.searchParams.set("h",Math.round(e/t*a).toString())}return s.searchParams.set("w",a.toString()),r&&s.searchParams.set("q",r.toString()),s.href}},60917:(e,t,a)=>{a.r(t),a.d(t,{default:()=>l});var r,s=a(68256);function n(){return(n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e}).apply(null,arguments)}let l=function(e){return s.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",width:49,height:45,fill:"none"},e),r||(r=s.createElement("path",{fill:"currentColor",d:"M0 45V32.125q0-5.554 2.12-11.55A49.2 49.2 0 0 1 8.033 9.151Q11.824 3.724 16.514 0L27.31 6.88a68 68 0 0 0-6.362 11.739q-2.505 6.058-2.442 13.38V45zm21.69 0V32.125q0-5.554 2.12-11.55a49.2 49.2 0 0 1 5.913-11.424Q33.513 3.724 38.204 0L49 6.88a68 68 0 0 0-6.362 11.739q-2.505 6.058-2.441 13.38V45z"})))}},73632:(e,t,a)=>{a.d(t,{Bv:()=>c,CF:()=>l,JE:()=>d,Ql:()=>i,cn:()=>n,nL:()=>o,pr:()=>m});var r=a(52679),s=a(14310);function n(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,s.QP)((0,r.$)(t))}let l=/(\^[^\^]+\^)/g,d=/(\*\*[^*]+\*\*|\^[^\^]+\^)/g,i=/^\*\*[^*]+\*\*$/,o=/^\^[^\^]+\^$/;function c(e){return(null!=e?e:"").replace(l,e=>e.slice(1,-1))}function m(e,t){return e&&(e===t||e.startsWith("".concat(t,"?")))?e:t}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.