{"id":3950,"date":"2026-03-25T11:15:49","date_gmt":"2026-03-25T00:15:49","guid":{"rendered":"https:\/\/www.begini.co\/?page_id=3950"},"modified":"2026-04-14T20:02:04","modified_gmt":"2026-04-14T10:02:04","slug":"i-frame-1","status":"publish","type":"page","link":"https:\/\/www.begini.co\/es\/i-frame-1\/","title":{"rendered":"i-fotograma-1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3950\" class=\"elementor elementor-3950\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-de1023e e-flex e-con-boxed e-con e-parent\" data-id=\"de1023e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c6d444 elementor-widget elementor-widget-html\" data-id=\"6c6d444\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ============================================================\n     BEGINI UPLIFT CALCULATOR \u2014 Elementor HTML Widget snippet\n     Paste the entire contents of this file into an Elementor\n     \"HTML\" widget. No other setup required.\n     ============================================================ -->\n\n<!-- Production React (no dev warnings, smaller payload) -->\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/react\/18.2.0\/umd\/react.production.min.js\"><\/script>\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/react-dom\/18.2.0\/umd\/react-dom.production.min.js\"><\/script>\n\n<!-- Scoped styles \u2014 all rules prefixed to .begini-calc to avoid\n     clashing with WordPress \/ Elementor \/ theme styles -->\n<style>\n\/* Hide HubSpot chat *\/\n#hubspot-messages-iframe-container,\n#hubspot-messages-iframe-container iframe,\n[class*=\"reagan\"],\n[class*=\"IconLauncher\"],\n[class*=\"BaseLauncher\"],\n[aria-label=\"Open live chat\"] {\n  display: none !important;\n}\n\n\/* Hide CookieYes banner *\/\n.cky-consent-container,\n.cky-overlay {\n  display: none !important;\n}\n\n.begini-calc, .begini-calc * { box-sizing: border-box; }\n.begini-calc input::placeholder { color: #999; }\n.begini-calc input[type=number]::-webkit-inner-spin-button,\n.begini-calc input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; }\n.begini-calc input[type=number] { -moz-appearance: textfield; }\n.begini-calc select,\n.begini-calc input,\n.begini-calc button,\n.begini-calc textarea { font-family: 'Helvetica Neue', Arial, sans-serif; }\n<\/style>\n\n<!-- Unique mount point \u2014 avoids colliding with any other #root on the page -->\n<div id=\"begini-uplift-calculator-root\"><\/div>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/ WORDPRESS EDITABLE TEXT\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var WP_INSIGHT_TEXTS = {\n    \"first-time\": \"Behavioural signals typically generate stronger separation where traditional bureau depth is limited.\",\n    \"mixed\":      \"Alternative data enhances early-stage separation across thin and repeat borrower segments.\",\n    \"repeat\":     \"Incremental uplift often improves threshold optimisation and early-stage delinquency control.\",\n  };\n  var WP_DISCLAIMER = \"Indicative ranges based on aggregated deployments across emerging markets. Actual outcomes vary by implementation design and data coverage. Results are capped at 40% but uplift can be higher for live deployments.\";\n  \/\/ \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n  var React    = window.React;\n  var ReactDOM = window.ReactDOM;\n  var useState = React.useState, useCallback = React.useCallback,\n      useEffect = React.useEffect, useRef = React.useRef;\n  var e = React.createElement;\n\n  \/\/ \u2500\u2500 Constants \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var MAGENTA       = \"#BD1E6F\";\n  var NAVY          = \"#192566\";\n  var BORDER        = \"#E8E8E8\";\n  var TEXT          = \"#222222\";\n  var MUTED         = \"#666666\";\n  var LIGHT         = \"#F0F4FF\";\n  var CURRENT_BLUE  = \"#4A74C4\";\n  var SCENARIO_COLORS = [\"#E8A0C0\", \"#D45C95\", \"#BD1E6F\"];\n\n  \/\/ \u2500\u2500 Calculation logic \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function clamp(v, lo, hi) { return Math.max(lo, Math.min(hi, v)); }\n  var BASE_MEAN_60 = 0.292, BASE_SD_60 = 0.045, PUBLIC_CAP = 0.40;\n\n  var TARGET_MAP = {\n    DPD30:  { meanMult: 0.75, sdMult: 0.85 },\n    DPD60:  { meanMult: 1.00, sdMult: 1.00 },\n    DPD90:  { meanMult: 0.90, sdMult: 1.10 },\n    DPD120: { meanMult: 0.80, sdMult: 1.20 },\n  };\n  var PORTFOLIO_MAP = {\n    \"first-time\": { meanMult: 1.08, sdMult: 1.10 },\n    \"mixed\":      { meanMult: 1.00, sdMult: 1.00 },\n    \"repeat\":     { meanMult: 0.92, sdMult: 0.90 },\n  };\n  var VOL_MULT = { \"<1k\": 1.20, \"1-5k\": 1.0, \"5-20k\": 0.75, \"20-100k\": 0.5, \"100k+\": 0.35 };\n\n  function calcApprovals(AR0, portfolioType) {\n    var rej = 1 - AR0;\n    var adj = portfolioType === \"first-time\" ? 0.02 : portfolioType === \"repeat\" ? -0.02 : 0;\n    return {\n      current:      AR0,\n      conservative: clamp(AR0 + rej * 0.045 + adj, 0, 0.99),\n      expected:     clamp(AR0 + rej * 0.085 + adj, 0, 0.99),\n      upper:        clamp(AR0 + rej * 0.125 + adj, 0, 0.99),\n    };\n  }\n\n  function calc(approvalRatePct, badRatePct, portfolioType, volumeBand, targetDpd) {\n    var AR0  = approvalRatePct \/ 100;\n    var BR0  = badRatePct \/ 100;\n    var pMap = PORTFOLIO_MAP[portfolioType] || PORTFOLIO_MAP.mixed;\n    var volM = volumeBand ? (VOL_MULT[volumeBand] || 1.0) : 1.0;\n    var approvalRates = calcApprovals(AR0, portfolioType);\n\n    if (!targetDpd) {\n      var lo = TARGET_MAP.DPD30, hi = TARGET_MAP.DPD60;\n      var low   = clamp(BASE_MEAN_60 * lo.meanMult * pMap.meanMult - BASE_SD_60 * lo.sdMult * pMap.sdMult * volM, 0.03, PUBLIC_CAP);\n      var upper = clamp(BASE_MEAN_60 * hi.meanMult * pMap.meanMult + BASE_SD_60 * hi.sdMult * pMap.sdMult * volM, 0.03, PUBLIC_CAP);\n      var mid   = (low + upper) \/ 2;\n      return { reductions: { conservative: low, expected: mid, upper: upper }, badRates: { current: BR0, conservative: BR0*(1-low), expected: BR0*(1-mid), upper: BR0*(1-upper) }, approvalRates: approvalRates };\n    }\n\n    var tMap = TARGET_MAP[targetDpd] || TARGET_MAP.DPD60;\n    var mean = BASE_MEAN_60 * tMap.meanMult * pMap.meanMult;\n    var sd   = BASE_SD_60   * tMap.sdMult   * pMap.sdMult * volM;\n    var reductions = { conservative: clamp(mean-sd, 0.03, PUBLIC_CAP), expected: clamp(mean, 0.03, PUBLIC_CAP), upper: clamp(mean+sd, 0.03, PUBLIC_CAP) };\n    var badRates   = { current: BR0, conservative: BR0*(1-reductions.conservative), expected: BR0*(1-reductions.expected), upper: BR0*(1-reductions.upper) };\n    return { reductions: reductions, badRates: badRates, approvalRates: approvalRates };\n  }\n\n  \/\/ \u2500\u2500 useCountUp hook \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function useCountUp(target, duration, trigger) {\n    var _s = useState(0); var val = _s[0]; var setVal = _s[1];\n    var raf = useRef(null);\n    useEffect(function () {\n      setVal(0);\n      var start = performance.now();\n      function tick(now) {\n        var p = Math.min((now - start) \/ duration, 1);\n        setVal(parseFloat((target * (1 - Math.pow(1 - p, 3))).toFixed(1)));\n        if (p < 1) raf.current = requestAnimationFrame(tick);\n        else setVal(target);\n      }\n      raf.current = requestAnimationFrame(tick);\n      return function () { cancelAnimationFrame(raf.current); };\n    }, [target, trigger]);\n    return val;\n  }\n\n  \/\/ \u2500\u2500 Shared styles \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var card    = { background: \"#fff\", border: \"1px solid \" + BORDER, borderRadius: 12, boxShadow: \"0 2px 12px rgba(0,0,0,0.06)\" };\n  var labelSt = { display: \"block\", fontSize: 13, fontWeight: 600, color: TEXT, marginBottom: 6, fontFamily: \"'Helvetica Neue', Arial, sans-serif\" };\n  var inputSt = { width: \"100%\", padding: \"10px 12px\", border: \"1.5px solid \" + BORDER, borderRadius: 8, fontSize: 14, color: TEXT, background: \"#fff\", outline: \"none\", fontFamily: \"'Helvetica Neue', Arial, sans-serif\" };\n\n  \/\/ \u2500\u2500 SVG Donut \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function SvgDonut(props) {\n    var approvalRates = props.approvalRates, animKey = props.animKey, viewKey = props.viewKey;\n    var cur = approvalRates.current, cons = approvalRates.conservative,\n        exp = approvalRates.expected, upp = approvalRates.upper;\n\n    var _p = useState(0); var progress = _p[0]; var setProgress = _p[1];\n    var raf = useRef(null);\n    useEffect(function () {\n      setProgress(0);\n      var start = performance.now();\n      function tick(now) {\n        var p = Math.min((now - start) \/ 900, 1);\n        setProgress(1 - Math.pow(1 - p, 3));\n        if (p < 1) raf.current = requestAnimationFrame(tick);\n        else setProgress(1);\n      }\n      raf.current = requestAnimationFrame(tick);\n      return function () { cancelAnimationFrame(raf.current); };\n    }, [animKey, viewKey]);\n\n    var aCons = cur + (cons - cur) * progress;\n    var aExp  = cur + (exp  - cur) * progress;\n    var aUpp  = cur + (upp  - cur) * progress;\n    var _h = useState(null); var hovered = _h[0]; var setHovered = _h[1];\n\n    var cx = 110, cy = 110, r1 = 62, r2 = 96;\n    function arc(sf, ef) {\n      var s = sf * 2 * Math.PI - Math.PI \/ 2;\n      var en = ef * 2 * Math.PI - Math.PI \/ 2;\n      var x1 = cx + r2*Math.cos(s),  y1 = cy + r2*Math.sin(s);\n      var x2 = cx + r2*Math.cos(en), y2 = cy + r2*Math.sin(en);\n      var x3 = cx + r1*Math.cos(en), y3 = cy + r1*Math.sin(en);\n      var x4 = cx + r1*Math.cos(s),  y4 = cy + r1*Math.sin(s);\n      var lg = (ef - sf) > 0.5 ? 1 : 0;\n      return \"M \" + x1 + \" \" + y1 + \" A \" + r2 + \" \" + r2 + \" 0 \" + lg + \" 1 \" + x2 + \" \" + y2 +\n             \" L \" + x3 + \" \" + y3 + \" A \" + r1 + \" \" + r1 + \" 0 \" + lg + \" 0 \" + x4 + \" \" + y4 + \" Z\";\n    }\n\n    var G = 0.004;\n    var segs = [\n      { key:\"cur\",  s:0,       e:cur-G,   color:CURRENT_BLUE },\n      { key:\"cons\", s:cur+G,   e:aCons-G, color:SCENARIO_COLORS[0] },\n      { key:\"exp\",  s:aCons+G, e:aExp-G,  color:SCENARIO_COLORS[1] },\n      { key:\"upp\",  s:aExp+G,  e:aUpp-G,  color:SCENARIO_COLORS[2] },\n      { key:\"rem\",  s:aUpp+G,  e:1,       color:BORDER },\n    ].filter(function(s) { return s.e > s.s; });\n\n    var centreColor = hovered === \"cons\" ? SCENARIO_COLORS[0] : hovered === \"exp\" ? SCENARIO_COLORS[1] : hovered === \"upp\" ? SCENARIO_COLORS[2] : CURRENT_BLUE;\n    var centrePct   = hovered === \"cons\" ? (cons*100).toFixed(1) : hovered === \"exp\" ? (exp*100).toFixed(1) : hovered === \"upp\" ? (upp*100).toFixed(1) : (cur*100).toFixed(1);\n    var centreLabel = hovered === \"cons\" ? \"Conservative\" : hovered === \"exp\" ? \"Expected\" : hovered === \"upp\" ? \"Upper Range\" : \"Current\";\n\n    return e(\"div\", { style: { display:\"flex\", alignItems:\"center\", gap:28, flexWrap:\"wrap\" } },\n      e(\"div\", { style: { position:\"relative\", flexShrink:0 } },\n        e(\"svg\", { width:\"220\", height:\"220\" },\n          segs.map(function(s) {\n            return e(\"path\", {\n              key: s.key, d: arc(s.s, s.e), fill: s.color,\n              opacity: hovered === null || hovered === s.key ? 1 : 0.5,\n              stroke: \"#fff\", strokeWidth: \"2\",\n              style: { cursor: s.key !== \"rem\" ? \"pointer\" : \"default\" },\n              onMouseEnter: function() { if (s.key !== \"rem\") setHovered(s.key); },\n              onMouseLeave: function() { setHovered(null); }\n            });\n          })\n        ),\n        e(\"div\", { style: { position:\"absolute\", top:\"50%\", left:\"50%\", transform:\"translate(-50%,-50%)\", textAlign:\"center\", pointerEvents:\"none\" } },\n          e(\"div\", { style: { fontSize:19, fontWeight:800, color:centreColor, lineHeight:1 } }, centrePct + \"%\"),\n          e(\"div\", { style: { fontSize:9, color:MUTED, fontWeight:700, marginTop:3, letterSpacing:\".05em\", textTransform:\"uppercase\" } }, centreLabel)\n        )\n      ),\n      e(\"div\", { style: { display:\"flex\", flexDirection:\"column\", gap:12 } },\n        e(\"div\", { style: { display:\"flex\", alignItems:\"center\", gap:10 } },\n          e(\"div\", { style: { width:14, height:14, borderRadius:\"50%\", background:CURRENT_BLUE, flexShrink:0 } }),\n          e(\"div\", null,\n            e(\"div\", { style: { fontSize:12, fontWeight:700, color:TEXT } }, \"Current Approval Rate\"),\n            e(\"div\", { style: { fontSize:13, fontWeight:800, color:CURRENT_BLUE } }, (cur*100).toFixed(1) + \"%\")\n          )\n        ),\n        [\n          { label:\"Conservative\", val:cons, idx:0 },\n          { label:\"Expected\",     val:exp,  idx:1 },\n          { label:\"Upper Range\",  val:upp,  idx:2 }\n        ].map(function(s) {\n          return e(\"div\", { key:s.idx, style: { display:\"flex\", alignItems:\"center\", gap:10 } },\n            e(\"div\", { style: { width:14, height:14, borderRadius:\"50%\", background:SCENARIO_COLORS[s.idx], flexShrink:0 } }),\n            e(\"div\", null,\n              e(\"div\", { style: { fontSize:12, fontWeight:700, color:TEXT } }, s.label),\n              e(\"div\", { style: { fontSize:13, fontWeight:800, color:SCENARIO_COLORS[s.idx] } },\n                (s.val*100).toFixed(1) + \"%\",\n                e(\"span\", { style: { fontSize:11, fontWeight:600, color:MUTED, marginLeft:5 } }, \"(+\" + ((s.val-cur)*100).toFixed(1) + \"pp total)\")\n              )\n            )\n          );\n        })\n      )\n    );\n  }\n\n  \/\/ \u2500\u2500 SVG Bar Chart \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function SvgBarChart(props) {\n    var badRates = props.badRates, animKey = props.animKey, viewKey = props.viewKey;\n\n    var _p = useState(0); var progress = _p[0]; var setProgress = _p[1];\n    var raf = useRef(null);\n    useEffect(function() {\n      setProgress(0);\n      var start = performance.now();\n      function tick(now) {\n        var p = Math.min((now - start) \/ 900, 1);\n        setProgress(1 - Math.pow(1 - p, 3));\n        if (p < 1) raf.current = requestAnimationFrame(tick);\n        else setProgress(1);\n      }\n      raf.current = requestAnimationFrame(tick);\n      return function() { cancelAnimationFrame(raf.current); };\n    }, [animKey, viewKey]);\n\n    var scenarios = [\n      { name:\"Conservative\", with: badRates.conservative },\n      { name:\"Expected\",     with: badRates.expected },\n      { name:\"Upper\",        with: badRates.upper },\n    ];\n    var cur = badRates.current;\n    var maxVal = Math.max(cur * 1.1, 0.01);\n    var W=480, H=200, padL=40, padB=28, padT=36, padR=10;\n    var chartW = W-padL-padR, chartH = H-padB-padT;\n    var groupW = chartW \/ scenarios.length;\n    var barW   = groupW * 0.28;\n    var bH = function(v) { return (v\/maxVal)*chartH*progress; };\n    var yP = function(v) { return padT + chartH - bH(v); };\n    var ticks = [0, maxVal*0.25, maxVal*0.5, maxVal*0.75, maxVal];\n\n    return e(\"svg\", { width:\"100%\", viewBox:\"0 0 \" + W + \" \" + H, style: { overflow:\"visible\" } },\n      e(\"g\", null,\n        ticks.map(function(t, i) {\n          var y = padT + chartH - (t\/maxVal)*chartH;\n          return e(\"g\", { key:\"tick-\"+i },\n            e(\"line\", { x1:padL, x2:W-padR, y1:y, y2:y, stroke:BORDER, strokeDasharray:\"3 3\" }),\n            e(\"text\", { x:padL-4, y:y+4, textAnchor:\"end\", fontSize:\"10\", fill:MUTED }, (t*100).toFixed(1) + \"%\")\n          );\n        })\n      ),\n      e(\"g\", null,\n        scenarios.map(function(s, i) {\n          var gx = padL + i*groupW + groupW\/2;\n          var x1 = gx-barW-2, x2 = gx+2;\n          return e(\"g\", { key:\"bar-\"+i },\n            e(\"rect\", { x:x1, y:yP(cur),    width:barW, height:bH(cur),    fill:CURRENT_BLUE, rx:\"3\" }),\n            e(\"text\", { x:x1+barW\/2, y:yP(cur)-4,   textAnchor:\"middle\", fontSize:\"10\", fill:MUTED    }, (cur*100).toFixed(1) + \"%\"),\n            e(\"rect\", { x:x2, y:yP(s.with), width:barW, height:bH(s.with), fill:MAGENTA,      rx:\"3\" }),\n            e(\"text\", { x:x2+barW\/2, y:yP(s.with)-4, textAnchor:\"middle\", fontSize:\"10\", fill:MAGENTA }, (s.with*100).toFixed(1) + \"%\"),\n            e(\"text\", { x:gx, y:H-8, textAnchor:\"middle\", fontSize:\"11\", fill:MUTED }, s.name)\n          );\n        })\n      ),\n      e(\"g\", null,\n        e(\"rect\", { x:W-170, y:4,  width:\"10\", height:\"10\", fill:CURRENT_BLUE, rx:\"2\" }),\n        e(\"text\", { x:W-156, y:13, fontSize:\"11\", fill:MUTED }, \"Current\"),\n        e(\"rect\", { x:W-100, y:4,  width:\"10\", height:\"10\", fill:MAGENTA,      rx:\"2\" }),\n        e(\"text\", { x:W-86,  y:13, fontSize:\"11\", fill:MUTED }, \"With Begini\")\n      )\n    );\n  }\n\n  \/\/ \u2500\u2500 Sample data defaults \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var SAMPLE = { ar: \"32.5\", br: \"8.5\", portfolio: \"mixed\", volume: \"\", region: \"\", targetDpd: \"\" };\n\n  \/\/ \u2500\u2500 Input Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function InputPanel(props) {\n    var onSimulate = props.onSimulate;\n    var onSampleChange = props.onSampleChange;\n    var _ar = useState(SAMPLE.ar); var ar = _ar[0]; var setAr = _ar[1];\n    var _br = useState(SAMPLE.br); var br = _br[0]; var setBr = _br[1];\n    var _pf = useState(SAMPLE.portfolio); var portfolio = _pf[0]; var setPf = _pf[1];\n    var _vo = useState(SAMPLE.volume); var volume = _vo[0]; var setVol = _vo[1];\n    var _re = useState(SAMPLE.region); var region = _re[0]; var setRegion = _re[1];\n    var _td = useState(SAMPLE.targetDpd); var targetDpd = _td[0]; var setTdpd = _td[1];\n    var _er = useState({}); var errors = _er[0]; var setErrors = _er[1];\n    var _is = useState(true); var isSample = _is[0]; var setIsSample = _is[1];\n\n    useEffect(function() {\n      onSimulate({ approvalRatePct: parseFloat(SAMPLE.ar), badRatePct: parseFloat(SAMPLE.br), portfolioType: SAMPLE.portfolio, volumeBand: null, targetDpd: \"\" });\n    }, []);\n\n    function markEdited() {\n      if (isSample) { setIsSample(false); onSampleChange(false); }\n    }\n\n    var sel = Object.assign({}, inputSt, { cursor:\"pointer\" });\n\n    function validate() {\n      var errs = {};\n      var arN = parseFloat(ar), brN = parseFloat(br);\n      if (ar === \"\" || isNaN(arN) || arN < 0 || arN > 100) errs.ar = \"Enter a value between 0 and 100.\";\n      if (br === \"\" || isNaN(brN) || brN < 0 || brN > 100) errs.br = \"Enter a value between 0 and 100.\";\n      return errs;\n    }\n\n    function handleSimulate() {\n      markEdited();\n      var errs = validate();\n      setErrors(errs);\n      if (Object.keys(errs).length) return;\n      onSimulate({\n        approvalRatePct: parseFloat(parseFloat(ar).toFixed(1)),\n        badRatePct:      parseFloat(parseFloat(br).toFixed(1)),\n        portfolioType:   portfolio,\n        volumeBand:      volume || null,\n        targetDpd:       targetDpd\n      });\n    }\n\n    return e(\"div\", null,\n      e(\"span\", { style: { fontSize:11, fontWeight:700, letterSpacing:\".08em\", textTransform:\"uppercase\", color:MAGENTA } }, \"Required\"),\n      e(\"div\",  { style: { height:1, background:BORDER, margin:\"6px 0 20px\" } }),\n\n      e(\"div\", { style: { marginBottom:18 } },\n        e(\"label\", { style:labelSt, htmlFor:\"begini-ar\" }, \"Current Approval Rate (%)\"),\n        e(\"input\", { id:\"begini-ar\", type:\"number\", min:\"0\", max:\"100\", step:\"0.1\", placeholder:\"e.g. 32.5\", value:ar,\n          onChange: function(ev) { setAr(ev.target.value); markEdited(); },\n          style: Object.assign({}, inputSt, { borderColor: errors.ar ? MAGENTA : BORDER }) }),\n        e(\"div\", { style: { fontSize:12, color:MAGENTA, marginTop:5, minHeight:16 } }, errors.ar || \"\")\n      ),\n\n      e(\"div\", { style: { marginBottom:18 } },\n        e(\"label\", { style:labelSt, htmlFor:\"begini-br\" }, \"Current Default Rate (%)\"),\n        e(\"input\", { id:\"begini-br\", type:\"number\", min:\"0\", max:\"100\", step:\"0.1\", placeholder:\"e.g. 8.2\", value:br,\n          onChange: function(ev) { setBr(ev.target.value); markEdited(); },\n          style: Object.assign({}, inputSt, { borderColor: errors.br ? MAGENTA : BORDER }) }),\n        e(\"div\", { style: { fontSize:12, color:MAGENTA, marginTop:5, minHeight:16 } }, errors.br || \"\")\n      ),\n\n      e(\"div\", { style: { marginBottom:18 } },\n        e(\"label\", { style:labelSt, htmlFor:\"begini-pf\" }, \"Portfolio Type\"),\n        e(\"select\", { id:\"begini-pf\", value:portfolio, onChange: function(ev) { setPf(ev.target.value); markEdited(); }, style:sel },\n          e(\"option\", { value:\"first-time\" }, \"Mainly First Time\"),\n          e(\"option\", { value:\"mixed\" },      \"Mixed\"),\n          e(\"option\", { value:\"repeat\" },     \"Mainly Return\")\n        )\n      ),\n\n      e(\"span\", { style: { fontSize:11, fontWeight:700, letterSpacing:\".08em\", textTransform:\"uppercase\", color:MUTED } }, \"Optional\"),\n      e(\"div\",  { style: { height:1, background:BORDER, margin:\"6px 0 20px\" } }),\n\n      e(\"div\", { style: { marginBottom:18 } },\n        e(\"label\", { style:labelSt, htmlFor:\"begini-tdpd\" }, \"Default Definition - Days Past Due (DPD)\"),\n        e(\"select\", { id:\"begini-tdpd\", value:targetDpd, onChange: function(ev) { setTdpd(ev.target.value); markEdited(); }, style:sel },\n          e(\"option\", { value:\"\" },      \"Not Specified\"),\n          e(\"option\", { value:\"DPD30\" }, \"DPD30+\"),\n          e(\"option\", { value:\"DPD60\" }, \"DPD60+\"),\n          e(\"option\", { value:\"DPD90\" }, \"DPD90+\"),\n          e(\"option\", { value:\"DPD120\" },\"DPD120+\")\n        )\n      ),\n\n      e(\"div\", { style: { marginBottom:18 } },\n        e(\"label\", { style:labelSt, htmlFor:\"begini-vol\" }, \"Monthly Volume Band\"),\n        e(\"select\", { id:\"begini-vol\", value:volume, onChange: function(ev) { setVol(ev.target.value); markEdited(); }, style:sel },\n          e(\"option\", { value:\"\" },       \"Not specified\"),\n          e(\"option\", { value:\"<1k\" },    \"<1k\"),\n          e(\"option\", { value:\"1-5k\" },   \"1\u20135k\"),\n          e(\"option\", { value:\"5-20k\" },  \"5\u201320k\"),\n          e(\"option\", { value:\"20-100k\" },\"20\u2013100k\"),\n          e(\"option\", { value:\"100k+\" },  \"100k+\")\n        )\n      ),\n\n\n\n      e(\"button\", {\n        onClick: handleSimulate,\n        style: { width:\"100%\", padding:\"13px 20px\", background:MAGENTA, color:\"#fff\", border:\"none\", borderRadius:8, fontSize:15, fontWeight:700, cursor:\"pointer\", fontFamily:\"'Helvetica Neue', Arial, sans-serif\" },\n        onMouseOver: function(ev) { ev.currentTarget.style.background = \"#a01860\"; },\n        onMouseOut:  function(ev) { ev.currentTarget.style.background = MAGENTA; }\n      }, \"Calculate\")\n    );\n  }\n\n  \/\/ \u2500\u2500 Results Panel \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function ResultsPanel(props) {\n    var result = props.result, inputs = props.inputs,\n        insightTexts = props.insightTexts, disclaimer = props.disclaimer;\n\n    var _v = useState(\"uplift\"); var view = _v[0]; var setView = _v[1];\n\n    var reductions    = result ? result.reductions    : { conservative:0, expected:0, upper:0 };\n    var badRates      = result ? result.badRates      : { current:0, conservative:0, expected:0, upper:0 };\n    var approvalRates = result ? result.approvalRates : { current:0, conservative:0, expected:0, upper:0 };\n    var heroLow  = parseFloat((reductions.conservative * 100).toFixed(1));\n    var heroHigh = parseFloat((reductions.upper * 100).toFixed(1));\n    var animKey  = JSON.stringify(reductions);\n    var animLow  = useCountUp(heroLow,  900, animKey);\n    var animHigh = useCountUp(heroHigh, 900, animKey);\n\n    if (!result) {\n      return e(\"div\", { style: { display:\"flex\", flexDirection:\"column\", alignItems:\"center\", justifyContent:\"center\", minHeight:340, textAlign:\"center\", gap:16 } },\n        e(\"div\", { style: { width:80, height:80, borderRadius:20, background:LIGHT, border:\"1px solid #D0DAEE\", display:\"flex\", alignItems:\"center\", justifyContent:\"center\" } },\n          e(\"svg\", { width:\"46\", height:\"46\", viewBox:\"0 0 46 46\", fill:\"none\" },\n            e(\"circle\", { cx:\"15\", cy:\"13\", r:\"5.5\", fill:MAGENTA }),\n            e(\"path\",   { d:\"M5 36c0-5.523 4.477-10 10-10s10 4.477 10 10\", stroke:MAGENTA, strokeWidth:\"2.5\", strokeLinecap:\"round\", fill:\"none\" }),\n            e(\"circle\", { cx:\"31\", cy:\"13\", r:\"5.5\", fill:NAVY, opacity:\"0.75\" }),\n            e(\"path\",   { d:\"M21 36c0-5.523 4.477-10 10-10s10 4.477 10 10\", stroke:NAVY, strokeWidth:\"2.5\", strokeLinecap:\"round\", fill:\"none\", opacity:\"0.75\" }),\n            e(\"path\",   { d:\"M20.5 7.5 Q23 5 25.5 7.5\", stroke:MAGENTA, strokeWidth:\"1.8\", strokeLinecap:\"round\", fill:\"none\" }),\n            e(\"path\",   { d:\"M18.5 5.2 Q23 1.5 27.5 5.2\", stroke:MAGENTA, strokeWidth:\"1.3\", strokeLinecap:\"round\", fill:\"none\", opacity:\"0.45\" })\n          )\n        ),\n        e(\"p\", { style: { fontSize:14, lineHeight:1.6, maxWidth:260, color:MUTED, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n          \"Enter your Portfolio Details and click Calculate to see indicative performance ranges.\")\n      );\n    }\n\n    \/\/ \u2500\u2500 Pill toggle styles \u2500\u2500\n    var pillWrap = { display:\"inline-flex\", background:\"#F3EDF0\", borderRadius:999, padding:3, gap:2, alignSelf:\"flex-start\" };\n    function pillBtn(active) {\n      return {\n        padding:\"7px 16px\", borderRadius:999, fontSize:12, fontWeight:700,\n        fontFamily:\"'Helvetica Neue', Arial, sans-serif\",\n        border: active ? \"1.5px solid \" + MAGENTA : \"1.5px solid transparent\",\n        background: active ? MAGENTA : \"transparent\",\n        color: active ? \"#fff\" : MUTED,\n        cursor:\"pointer\",\n        boxShadow: active ? \"0 0 0 3px rgba(189,30,111,0.18)\" : \"none\",\n        transition:\"all .15s\"\n      };\n    }\n\n    return e(\"div\", { style: { display:\"flex\", flexDirection:\"column\", gap:24 } },\n\n      \/\/ Hero number \u2014 always visible\n      e(\"div\", { style: { background:\"#fff\", borderRadius:10, border:\"1px solid \"+BORDER, padding:\"22px 24px\" } },\n        e(\"div\", { style: { fontSize:12, fontWeight:700, letterSpacing:\".07em\", textTransform:\"uppercase\", color:NAVY, opacity:0.7, marginBottom:8, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n          \"Estimated Relative Reduction in Default Rate\"),\n        e(\"div\", { style: { fontSize:48, fontWeight:800, color:MAGENTA, lineHeight:1.0, letterSpacing:\"-.03em\", fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n          animLow.toFixed(1) + \"%\",\n          e(\"span\", { style: { color:\"#E8B0CC\", margin:\"0 8px\", fontWeight:300, fontSize:36 } }, \"\u2013\"),\n          animHigh.toFixed(1) + \"%\"\n        )\n      ),\n\n      \/\/ Instructional line\n      e(\"p\", { style: { fontSize:13, color:MUTED, margin:0, fontFamily:\"'Helvetica Neue', Arial, sans-serif\", lineHeight:1.5 } },\n        \"Select a view below based on your priority of approval growth or reducing risk.\"\n      ),\n\n      \/\/ Pill toggle\n      e(\"div\", { style: pillWrap },\n        e(\"button\", { style: pillBtn(view === \"uplift\"), onClick: function() { setView(\"uplift\"); } }, \"Approval uplift\"),\n        e(\"button\", { style: pillBtn(view === \"risk\"),   onClick: function() { setView(\"risk\"); }   }, \"Risk reduction\")\n      ),\n\n      \/\/ Chart title + view\n      e(\"div\", null,\n        e(\"div\", { style: { fontSize:13, fontWeight:700, color:TEXT, marginBottom:10, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n          view === \"uplift\" ? \"Approval Uplift Comparison\" : \"Risk Reduction Comparison\"\n        ),\n\n      \/\/ Chart view \u2014 toggled\n      view === \"uplift\"\n        ? e(SvgDonut,    { approvalRates:approvalRates, animKey:animKey, viewKey:view })\n        : e(SvgBarChart, { badRates:badRates, animKey:animKey, viewKey:view })\n      ),\n\n      \/\/ Insight quote \u2014 always visible\n      e(\"div\", { style: { borderLeft:\"3px solid \"+MAGENTA, paddingLeft:14, fontSize:14, color:TEXT, lineHeight:1.65, fontStyle:\"italic\", fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n        insightTexts[inputs.portfolioType]\n      ),\n\n      \/\/ Disclaimer \u2014 always visible\n      e(\"div\", { style: { fontSize:12, color:MUTED, lineHeight:1.6, paddingTop:4, borderTop:\"1px solid \"+BORDER, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n        disclaimer\n      )\n    );\n  }\n\n  \/\/ \u2500\u2500 App \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function App() {\n    var _r = useState(null); var result = _r[0]; var setResult = _r[1];\n    var _i = useState(null); var simInputs = _i[0]; var setInputs = _i[1];\n    var _s = useState(true); var isSample = _s[0]; var setIsSample = _s[1];\n\n    var handleSimulate = useCallback(function(inputs) {\n      setResult(calc(inputs.approvalRatePct, inputs.badRatePct, inputs.portfolioType, inputs.volumeBand, inputs.targetDpd));\n      setInputs(inputs);\n    }, []);\n\n    return e(\"div\", { className:\"begini-calc\", style: { background:\"#fff\", padding:\"32px clamp(16px,2vw,24px)\", fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n      e(\"div\", { style: { maxWidth:1160, margin:\"0 auto\", display:\"grid\", gridTemplateColumns:\"minmax(0,1fr) minmax(0,1.6fr)\", gap:24, alignItems:\"start\" } },\n        e(\"div\", { style: Object.assign({}, card, { padding:\"28px\" }) },\n          e(\"h2\", { style: { fontSize:16, fontWeight:700, color:NAVY, marginBottom:24, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } }, \"Portfolio Details\"),\n          e(InputPanel, { onSimulate:handleSimulate, onSampleChange:setIsSample })\n        ),\n        e(\"div\", { style: Object.assign({}, card, { padding:\"28px\", minHeight:420 }) },\n          e(\"h2\", { style: { fontSize:16, fontWeight:700, color:NAVY, marginBottom:24, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } }, \"Summary\"),\n          isSample && e(\"div\", { style: { display:\"flex\", alignItems:\"flex-start\", gap:10, background:\"#FFF7EC\", border:\"1px solid #F5C97A\", borderRadius:8, padding:\"11px 14px\", marginBottom:20 } },\n            e(\"svg\", { width:\"16\", height:\"16\", viewBox:\"0 0 16 16\", fill:\"none\", style:{ flexShrink:0, marginTop:1 } },\n              e(\"circle\", { cx:\"8\", cy:\"8\", r:\"7.5\", stroke:\"#D4900A\" }),\n              e(\"rect\", { x:\"7.25\", y:\"4\", width:\"1.5\", height:\"5\", rx:\".75\", fill:\"#D4900A\" }),\n              e(\"rect\", { x:\"7.25\", y:\"10.5\", width:\"1.5\", height:\"1.5\", rx:\".75\", fill:\"#D4900A\" })\n            ),\n            e(\"p\", { style: { fontSize:12, color:\"#92650A\", lineHeight:1.55, margin:0, fontFamily:\"'Helvetica Neue', Arial, sans-serif\" } },\n              e(\"strong\", null, \"Sample data shown.\"),\n              \" Enter your own figures in the fields on the left and click \",\n              e(\"strong\", null, \"Calculate\"),\n              \" for a personalised estimate.\"\n            )\n          ),\n          e(ResultsPanel, { result:result, inputs:simInputs, insightTexts:WP_INSIGHT_TEXTS, disclaimer:WP_DISCLAIMER })\n        )\n      )\n    );\n  }\n\n  \/\/ \u2500\u2500 Mount \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  ReactDOM.createRoot(document.getElementById(\"begini-uplift-calculator-root\")).render(e(App, null));\n\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":209526207,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","content-type":"","footnotes":""},"class_list":["post-3950","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>i-frame-1 - Begini<\/title>\n<meta name=\"robots\" content=\"noindex, nofollow\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"i-frame-1 - Begini\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.begini.co\/es\/i-frame-1\/\" \/>\n<meta property=\"og:site_name\" content=\"Begini\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T10:02:04+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.begini.co\\\/i-frame-1\\\/\",\"url\":\"https:\\\/\\\/www.begini.co\\\/i-frame-1\\\/\",\"name\":\"i-frame-1 - Begini\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.begini.co\\\/#website\"},\"datePublished\":\"2026-03-25T00:15:49+00:00\",\"dateModified\":\"2026-04-14T10:02:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.begini.co\\\/i-frame-1\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.begini.co\\\/i-frame-1\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.begini.co\\\/i-frame-1\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.begini.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"i-frame-1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.begini.co\\\/#website\",\"url\":\"https:\\\/\\\/www.begini.co\\\/\",\"name\":\"Begini\",\"description\":\"Measure what matters\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.begini.co\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.begini.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.begini.co\\\/#organization\",\"name\":\"Begini\",\"url\":\"https:\\\/\\\/www.begini.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.begini.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.begini.co\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Begini-logo_full-colour.png?fit=1709%2C639&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.begini.co\\\/wp-content\\\/uploads\\\/2021\\\/11\\\/Begini-logo_full-colour.png?fit=1709%2C639&ssl=1\",\"width\":1709,\"height\":639,\"caption\":\"Begini\"},\"image\":{\"@id\":\"https:\\\/\\\/www.begini.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/begini\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"i-frame-1 - Comienza","robots":{"index":"noindex","follow":"nofollow"},"og_locale":"es_ES","og_type":"article","og_title":"i-frame-1 - Begini","og_url":"https:\/\/www.begini.co\/es\/i-frame-1\/","og_site_name":"Begini","article_modified_time":"2026-04-14T10:02:04+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.begini.co\/i-frame-1\/","url":"https:\/\/www.begini.co\/i-frame-1\/","name":"i-frame-1 - Comienza","isPartOf":{"@id":"https:\/\/www.begini.co\/#website"},"datePublished":"2026-03-25T00:15:49+00:00","dateModified":"2026-04-14T10:02:04+00:00","breadcrumb":{"@id":"https:\/\/www.begini.co\/i-frame-1\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.begini.co\/i-frame-1\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.begini.co\/i-frame-1\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.begini.co\/"},{"@type":"ListItem","position":2,"name":"i-frame-1"}]},{"@type":"WebSite","@id":"https:\/\/www.begini.co\/#website","url":"https:\/\/www.begini.co\/","name":"Begini","description":"Mide lo que importa","publisher":{"@id":"https:\/\/www.begini.co\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.begini.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.begini.co\/#organization","name":"Begini","url":"https:\/\/www.begini.co\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.begini.co\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.begini.co\/wp-content\/uploads\/2021\/11\/Begini-logo_full-colour.png?fit=1709%2C639&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.begini.co\/wp-content\/uploads\/2021\/11\/Begini-logo_full-colour.png?fit=1709%2C639&ssl=1","width":1709,"height":639,"caption":"Begini"},"image":{"@id":"https:\/\/www.begini.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/begini\/"]}]}},"jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/PdtDxH-11I","amp_enabled":false,"_links":{"self":[{"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/pages\/3950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/users\/209526207"}],"replies":[{"embeddable":true,"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/comments?post=3950"}],"version-history":[{"count":23,"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/pages\/3950\/revisions"}],"predecessor-version":[{"id":4112,"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/pages\/3950\/revisions\/4112"}],"wp:attachment":[{"href":"https:\/\/www.begini.co\/es\/wp-json\/wp\/v2\/media?parent=3950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}