1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e._posthogReleaseId=e._posthogReleaseId||"01a07ee0-71f8-0000-ce95-fb19181ce373";var n=(new e.Error).stack;n&&(e._posthogChunkIds=e._posthogChunkIds||{},e._posthogChunkIds[n]="9dc9b1ab-654c-512c-8900-db65ac8d57dd")}catch(e){}}();"use strict";(globalThis.webpackChunkix_coach||=[]).push([[9785],{32166(e,a,t){t.r(a),t.d(a,{default:()=>d});var r=t(76998),i=t(38482),n=t(93063),o=t(75483);const l="landing_go_ixcoach",s=[{id:"registrationToTrialConversionRate",label:"Registration \u2192 Trial",description:"Rate at which real registrations start a trial",unit:"%",decimals:1,higherIsBetter:!0,weight:.25,gapMessage:"Fewer paid-traffic registrations are entering trial \u2014 landing page or onboarding may need tuning."},{id:"trialToPaidConversionRate",label:"Trial \u2192 Paid",description:"Rate at which trial users convert to paid subscription",unit:"%",decimals:1,higherIsBetter:!0,weight:.35,gapMessage:"Trial users from paid ads are not converting \u2014 coaching experience during trial needs improvement."},{id:"paidRetention30dRate",label:"Paid 30-Day Retention",description:"Rate of paid users still active after 30 days",unit:"%",decimals:1,higherIsBetter:!0,weight:.25,gapMessage:"Paid-ads users churning within first 30 days \u2014 early engagement or value delivery needs work."},{id:"payerRate",label:"Overall Payer Rate",description:"Real registrations who ever made a payment",unit:"%",decimals:2,higherIsBetter:!0,weight:.15,gapMessage:"End-to-end conversion from paid-ads registration to payment is below peak."}];var u=t(23446);const d=()=>{const e=(0,o.KJ)(),a=(0,r.useRef)(e);a.current=e;const[t,d]=(0,r.useState)(null),[c,g]=(0,r.useState)(!0),[p,h]=(0,r.useState)(null),v=(0,r.useCallback)(async()=>{g(!0),h(null);try{var e,t;const r=await a.current.get(`/api/admin/tools/stripe/cohort-metrics/segment-compare?segmentA=${l}&segmentB=${l}`),i=(null===r||void 0===r||null===(e=r.data)||void 0===e||null===(t=e.data)||void 0===t?void 0:t.segmentA)||null;d(i)}catch(r){h((null===r||void 0===r?void 0:r.message)||"Failed to load beta50 conversion data")}finally{g(!1)}},[]);(0,r.useEffect)(()=>{v()},[v]);const{metrics:m,weeklyHistory:y}=function(e){var a;if(!e)return{metrics:[],weeklyHistory:[]};const t=(e.userPopulation||{}).realRegistrations||0,r=e.monthly||{},i=Object.keys(r).sort(),n=i.reduce((e,a)=>{var t;return e+((null===(t=r[a])||void 0===t?void 0:t.everPaid)||0)},0),o=t>0?n/t*100:0,l=i.reduce((e,a)=>{var t;return e+((null===(t=r[a])||void 0===t?void 0:t.totalSubscriptions)||0)},0),u=l>0?n/l*100:0,d=t>0?l/t*100:0,c=((null===(a=e.rolling)||void 0===a?void 0:a[30])||{}).activePaying||0,g=n>0?c/n*100:0,p=[],h=[],v=[];let m=0,y=0;i.forEach((e,a)=>{const n=r[e],o=(null===n||void 0===n?void 0:n.totalSubscriptions)||0,l=(null===n||void 0===n?void 0:n.everPaid)||0;m+=o,y+=l;const s=t*(a+1)/i.length;o>0&&p.push({monthLabel:e,rateValue:l/o*100}),s>0&&(h.push({monthLabel:e,rateValue:y/s*100}),v.push({monthLabel:e,rateValue:m/s*100}))});const b=p.length>0?p.reduce((e,a)=>a.rateValue>e.rateValue?a:e):{rateValue:0,monthLabel:"\u2014"},k=h.length>0?h.reduce((e,a)=>a.rateValue>e.rateValue?a:e):{rateValue:0,monthLabel:"\u2014"},R=v.length>0?v.reduce((e,a)=>a.rateValue>e.rateValue?a:e):{rateValue:0,monthLabel:"\u2014"};return{metrics:s.map(e=>{switch(e.id){case"registrationToTrialConversionRate":return{...e,currentValue:d,peakValue:R.rateValue,peakWeek:R.monthLabel};case"trialToPaidConversionRate":return{...e,currentValue:u,peakValue:b.rateValue,peakWeek:b.monthLabel};case"paidRetention30dRate":return{...e,currentValue:g,peakValue:Math.max(g,50),peakWeek:"rolling"};case"payerRate":return{...e,currentValue:o,peakValue:k.rateValue,peakWeek:k.monthLabel};default:return{...e,currentValue:0,peakValue:0,peakWeek:"\u2014"}}}),weeklyHistory:i.map(e=>{const a=r[e],t=(null===a||void 0===a?void 0:a.totalSubscriptions)||0,i=(null===a||void 0===a?void 0:a.everPaid)||0;return{weekLabel:e,values:{trialToPaidConversionRate:t>0?i/t*100:0,payerRate:o,registrationToTrialConversionRate:d,paidRetention30dRate:g}}})}}(t);return(0,u.jsx)(n.A,{title:"Beta50 Conversion: Road to Peak",subtitle:"Paid ads funnel (go.ixcoach.com) \u2014 registration through retention, compared to historical peaks",icon:i.A,metrics:m,weeklyHistory:y,loading:c,error:p,onRetry:v,emptyMessage:"No beta50 conversion data available yet. Data populates from the segment-compare system after the first cohort snapshot."})}}}]); 2//# sourceMappingURL=9785.e7413013.chunk.js.map 3//# chunkId=9dc9b1ab-654c-512c-8900-db65ac8d57dd
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.