{"id":24926,"date":"2026-05-26T16:41:10","date_gmt":"2026-05-26T14:41:10","guid":{"rendered":"https:\/\/vasro.de\/?page_id=24926"},"modified":"2026-05-26T21:28:20","modified_gmt":"2026-05-26T19:28:20","slug":"vasro-calculator","status":"publish","type":"page","link":"https:\/\/vasro.de\/en\/vasro-calculator\/","title":{"rendered":"VASRO Calculator"},"content":{"rendered":"<div class=\"vasro-calc\" id=\"vasro-calc-a7777fe0-d58a-4b46-8f9c-2a9157c47b51\" data-vasro-calculator=\"1\">\r\n  <style>\r\n    .vasro-calc{--vasro-navy:#0A1A2F;--vasro-blue:#1B3A5C;--vasro-blue-2:#2E4F7A;--vasro-sand:#C9A84C;--vasro-sand-soft:#F0D78C;--vasro-bg:#F7FAFC;--vasro-bg-2:#EEF2F7;--vasro-border:#E2E8F0;--vasro-border-strong:#CBD5E1;--vasro-muted:#64748B;--vasro-serif:Georgia,\"Times New Roman\",ui-serif,serif;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;color:#0A1A2F;max-width:1120px;margin:0 auto;background:#fff;border-radius:14px;border:1px solid var(--vasro-border);overflow:hidden;position:relative;z-index:0;isolation:isolate;clear:both;box-shadow:0 1px 2px rgba(10,26,47,.04),0 12px 32px -16px rgba(10,26,47,.18);filter:none!important;-webkit-filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}\r\n    .vasro-calc *{box-sizing:border-box}\r\n    .vasro-calc__hd{background:linear-gradient(135deg,#08172A 0%,var(--vasro-navy) 55%,#143055 100%);color:#fff;padding:28px 32px;position:relative;border-bottom:3px solid var(--vasro-sand)}\r\n    .vasro-calc__hd::after{content:\"\";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:linear-gradient(90deg,var(--vasro-sand) 0%,var(--vasro-sand-soft) 50%,var(--vasro-sand) 100%)}\r\n    .vasro-calc__eyebrow{font-size:10.5px;letter-spacing:1.6px;text-transform:uppercase;color:var(--vasro-sand);font-weight:700;display:flex;align-items:center;gap:8px}\r\n    .vasro-calc__eyebrow::before{content:\"\";display:inline-block;width:18px;height:1px;background:var(--vasro-sand)}\r\n    .vasro-calc__hd h2{margin:8px 0 0;font-family:var(--vasro-serif);font-size:26px;letter-spacing:.2px;color:#fff;font-weight:600}\r\n    .vasro-calc__hd p{margin:8px 0 0;color:#cbd5e1;font-size:13.5px;max-width:680px;line-height:1.55}\r\n    .vasro-calc__hd .vasro-badges{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}\r\n    .vasro-badge{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;font-weight:600;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(201,168,76,.45);padding:5px 10px;border-radius:999px}\r\n    .vasro-badge--methodology{cursor:help;position:relative}\r\n    .vasro-badge svg{width:11px;height:11px;opacity:.9}\r\n    .vasro-calc__body{padding:28px 32px}\r\n    .vasro-section-title{display:flex;align-items:baseline;gap:10px;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--vasro-border)}\r\n    .vasro-section-title .num{font-family:var(--vasro-serif);font-size:13px;color:var(--vasro-sand);font-weight:600;font-variant-numeric:tabular-nums}\r\n    .vasro-section-title .ttl{font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:var(--vasro-navy);font-weight:700}\r\n    .vasro-section-title .sub{margin-left:auto;font-size:11.5px;color:var(--vasro-muted);font-style:italic}\r\n    .vasro-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}\r\n    @media(max-width:720px){.vasro-grid{grid-template-columns:1fr}}\r\n    .vasro-field{display:flex;flex-direction:column;gap:6px}\r\n    .vasro-field label{font-size:11.5px;font-weight:700;color:var(--vasro-navy);text-transform:uppercase;letter-spacing:.7px;display:flex;align-items:center;gap:6px}\r\n    .vasro-field .req{color:#dc2626;margin-left:2px}\r\n    .vasro-field input,.vasro-field select{padding:11px 13px;font-size:14.5px;border:1px solid var(--vasro-border-strong);border-radius:6px;background:#fff;color:var(--vasro-navy);font-family:inherit;font-variant-numeric:tabular-nums;transition:border-color .15s,box-shadow .15s}\r\n    .vasro-field input:hover,.vasro-field select:hover{border-color:#94A3B8}\r\n    .vasro-field input:focus,.vasro-field select:focus{outline:none;border-color:var(--vasro-navy);box-shadow:0 0 0 3px rgba(10,26,47,.10)}\r\n    .vasro-field .hint{font-size:11px;color:var(--vasro-muted)}\r\n    .vasro-section{margin-top:28px;padding-top:20px;border-top:1px solid var(--vasro-border)}\r\n    .vasro-section h3{margin:0 0 12px;font-size:12px;color:var(--vasro-navy);text-transform:uppercase;letter-spacing:.8px;font-weight:700}\r\n    .vasro-actions{margin-top:28px;padding-top:20px;border-top:1px solid var(--vasro-border);display:flex;gap:12px;align-items:center;flex-wrap:wrap}\r\n    .vasro-btn{background:var(--vasro-navy);color:#fff;border:0;border-radius:6px;padding:13px 28px;font-size:14.5px;font-weight:600;cursor:pointer;letter-spacing:.4px;text-transform:uppercase;transition:background .15s,transform .05s;box-shadow:0 1px 3px rgba(10,26,47,.18)}\r\n    .vasro-btn:hover{background:#143055}\r\n    .vasro-btn:active{transform:translateY(1px)}\r\n    .vasro-btn[disabled]{opacity:.6;cursor:not-allowed}\r\n    .vasro-btn--ghost{background:transparent;color:var(--vasro-navy);border:1px solid var(--vasro-border-strong);box-shadow:none}\r\n    .vasro-btn--ghost:hover{background:var(--vasro-bg-2)}\r\n    .vasro-info{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--vasro-bg-2);color:var(--vasro-blue);font-size:10px;font-weight:700;cursor:help;border:1px solid var(--vasro-border-strong);position:relative;font-family:var(--vasro-serif);line-height:1}\r\n    .vasro-info::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--vasro-navy);color:#fff;padding:8px 11px;border-radius:6px;font-size:11.5px;font-weight:400;text-transform:none;letter-spacing:.1px;line-height:1.45;width:240px;text-align:left;opacity:0;pointer-events:none;transition:opacity .15s;z-index:50;box-shadow:0 8px 24px rgba(10,26,47,.25);border:1px solid rgba(201,168,76,.35)}\r\n    .vasro-info::before{content:\"\";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translateX(-50%) rotate(45deg);width:8px;height:8px;background:var(--vasro-navy);opacity:0;transition:opacity .15s;z-index:50}\r\n    .vasro-info:hover::after,.vasro-info:hover::before,.vasro-info:focus::after,.vasro-info:focus::before{opacity:1}\r\n    .vasro-methodology{margin-top:18px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:14px 16px;background:linear-gradient(180deg,#FAFBFC,#F4F7FB);border:1px solid var(--vasro-border);border-left:3px solid var(--vasro-sand);border-radius:6px;font-size:12px;color:var(--vasro-muted)}\r\n    .vasro-methodology strong{color:var(--vasro-navy);font-weight:700;letter-spacing:.3px}\r\n    .vasro-methodology .src{display:inline-flex;align-items:center;gap:5px;color:var(--vasro-navy);font-weight:600;border-bottom:1px dotted var(--vasro-border-strong);padding-bottom:1px}\r\n    .vasro-err{color:#b91c1c;background:#fef2f2;padding:10px 14px;border-radius:8px;font-size:14px;margin-top:14px;display:none}\r\n    .vasro-results{display:none;margin-top:28px;padding-top:24px;border-top:2px solid var(--vasro-navy)}\r\n    .vasro-results h3{margin:0 0 16px;font-size:18px;color:var(--vasro-navy)}\r\n    .vasro-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}\r\n    @media(max-width:720px){.vasro-kpi-grid{grid-template-columns:1fr 1fr}}\r\n    .vasro-kpi{padding:16px;border-radius:10px;background:var(--vasro-bg);border:1px solid var(--vasro-border)}\r\n    .vasro-kpi__lbl{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--vasro-muted);font-weight:600}\r\n    .vasro-kpi__val{font-size:22px;font-weight:700;margin-top:6px;color:var(--vasro-navy);line-height:1.1}\r\n    .vasro-kpi__sub{font-size:11px;color:var(--vasro-muted);margin-top:4px}\r\n    .vasro-kpi--net{background:#ECFDF5;border-color:#A7F3D0}\r\n    .vasro-kpi--net .vasro-kpi__val{color:#065F46}\r\n    .vasro-kpi--gross{background:#EBF2FA;border-color:#BFD4EA}\r\n    .vasro-kpi--sand{background:#FEF7E6;border-color:#F0D78C}\r\n    .vasro-kpi--sand .vasro-kpi__val{color:#7c5e10}\r\n    .vasro-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}\r\n    .vasro-table th,.vasro-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--vasro-border)}\r\n    .vasro-table th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--vasro-muted);background:var(--vasro-bg)}\r\n    .vasro-table td.num,.vasro-table th.num{text-align:right;font-variant-numeric:tabular-nums}\r\n    .vasro-table tr.total td{font-weight:700;background:#D9E4F0}\r\n    .vasro-disclaimer{margin-top:24px;padding:14px 16px;background:#FFF3E0;border-radius:8px;font-size:11.5px;color:#5d4037;line-height:1.5}\r\n    .vasro-snapshot{margin-top:8px;margin-bottom:28px;border:2px solid var(--vasro-navy);border-radius:12px;overflow:hidden;background:#fff}\r\n    .vasro-snapshot__hd{background:linear-gradient(135deg,var(--vasro-navy),var(--vasro-blue));color:#fff;padding:18px 22px}\r\n    .vasro-snapshot__hd .eyebrow{font-size:10.5px;letter-spacing:1.2px;text-transform:uppercase;color:var(--vasro-sand);font-weight:700}\r\n    .vasro-snapshot__hd h4{margin:4px 0 0;font-size:18px;font-weight:600;color:#fff !important}\r\n    .vasro-snapshot__hd .meta{margin-top:4px;font-size:12px;color:#e2e8f0}\r\n    .vasro-snapshot__body{padding:18px 22px}\r\n    .vasro-snapshot__hero{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}\r\n    @media(max-width:720px){.vasro-snapshot__hero{grid-template-columns:1fr}}\r\n    .vasro-snapshot__hero .vasro-kpi{background:#fff;border:1px solid var(--vasro-border)}\r\n    .vasro-snapshot__hero .vasro-kpi--hero{background:var(--vasro-navy);border-color:var(--vasro-navy)}\r\n    .vasro-snapshot__hero .vasro-kpi--hero .vasro-kpi__lbl{color:var(--vasro-sand)}\r\n    .vasro-snapshot__hero .vasro-kpi--hero .vasro-kpi__val{color:#fff;font-size:26px}\r\n    .vasro-snapshot__hero .vasro-kpi--hero .vasro-kpi__sub{color:#cbd5e1}\r\n    .vasro-snapshot__row{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;font-size:13px;padding:10px 0;border-top:1px solid var(--vasro-border)}\r\n    @media(max-width:720px){.vasro-snapshot__row{grid-template-columns:1fr}}\r\n    .vasro-snapshot__row .k{color:var(--vasro-muted)}\r\n    .vasro-snapshot__row .v{text-align:right;font-weight:600;color:var(--vasro-navy);font-variant-numeric:tabular-nums}\r\n    .vasro-spinner{display:inline-block;width:16px;height:16px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:vasro-spin .8s linear infinite;vertical-align:middle;margin-right:8px}\r\n    @keyframes vasro-spin{to{transform:rotate(360deg)}}\r\n    .vasro-honey{position:absolute;left:-10000px;opacity:0;pointer-events:none}\r\n  <\/style>\r\n\r\n  <div class=\"vasro-calc__hd\">\r\n    <div class=\"vasro-calc__eyebrow\">VASRO \u00b7 Equity Research &amp; IR Advisory<\/div>\r\n    <h2>Investor Relations Value Calculator<\/h2>\r\n    <p>An institutional-grade estimate of the annual economic value VASRO can deliver \u2014 covering external research-equivalent value, internal time saved, capital cost reduction and revenue uplift. Figures in EUR.<\/p>\r\n    <div class=\"vasro-badges\">\r\n      <span class=\"vasro-badge vasro-badge--methodology\" tabindex=\"0\" title=\"Every assumption \u2014 regional IR budgets, fee schedule, scenario bands, internal-hour matrix and capital-market parameters \u2014 is documented in the VASRO Assumption Audit and cross-referenced to the Academic Sources sheet (peer-reviewed IR, market-microstructure and cost-of-capital literature).\">\r\n        <svg viewBox=\"0 0 16 16\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M8 1.5A6.5 6.5 0 1 1 1.5 8 6.51 6.51 0 0 1 8 1.5Zm0 1A5.5 5.5 0 1 0 13.5 8 5.51 5.51 0 0 0 8 2.5Zm-.75 3a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm.05 2.25h1.4v4.5h-1.4Z\"\/><\/svg>\r\n        Methodology \u00b7 Assumption Audit\r\n      <\/span>\r\n      <span class=\"vasro-badge\">Academic-Sourced Benchmarks<\/span>\r\n      <span class=\"vasro-badge\">Three-Scenario Framework<\/span>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"vasro-calc__body\">\r\n    <div class=\"vasro-section-title\" style=\"margin-top:0\">\r\n      <span class=\"num\">01<\/span>\r\n      <span class=\"ttl\">Company &amp; market profile<\/span>\r\n      <span class=\"sub\">All inputs validated against regional benchmarks<\/span>\r\n    <\/div>\r\n    <form class=\"vasro-form\" method=\"post\" action=\"https:\/\/vasro.de\/wp-admin\/admin-ajax.php\" novalidate onsubmit=\"return false;\">\r\n      <input type=\"hidden\" name=\"action\" value=\"vasro_calculate\">\r\n      <input type=\"text\" name=\"website\" class=\"vasro-honey\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\">\r\n\r\n      <div class=\"vasro-grid\">\r\n        <div class=\"vasro-field\">\r\n          <label>Company name <span class=\"hint\">(optional)<\/span><\/label>\r\n          <input type=\"text\" name=\"company\" maxlength=\"120\" placeholder=\"e.g. Acme Holdings\">\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Region <span class=\"req\">*<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Drives the regional IR budget benchmark and VASRO fee table. Multipliers sourced from the Regional_Benchmarks sheet (see Assumption Audit).\">i<\/span>\r\n          <\/label>\r\n          <select name=\"region\" required>\r\n                          <option value=\"Europe\"  selected='selected'>Europe<\/option>\r\n                          <option value=\"North America\" >North America<\/option>\r\n                          <option value=\"Asia Pacific\" >Asia Pacific<\/option>\r\n                          <option value=\"Middle East\" >Middle East<\/option>\r\n                          <option value=\"Latin America\" >Latin America<\/option>\r\n                          <option value=\"South Asia\" >South Asia<\/option>\r\n                      <\/select>\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Market cap (EUR) <span class=\"req\">*<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Determines your cap-tier band (Micro \u2192 Mega). Used to look up the benchmark IR budget and VASRO annual fee from the Regional_Benchmarks table.\">i<\/span>\r\n          <\/label>\r\n          <input type=\"number\" name=\"market_cap\" min=\"1\" max=\"100000000000\" step=\"1000000\" required placeholder=\"e.g. 500000000\">\r\n          <span class=\"hint\">Convert from local currency at spot rate.<\/span>\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Current annual IR spend (EUR) <span class=\"hint\">(optional)<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"If left blank, we apply the regional benchmark for your cap tier. Benchmarks are calibrated against published IR-spend studies \u2014 see Academic Sources.\">i<\/span>\r\n          <\/label>\r\n          <input type=\"number\" name=\"current_ir_spend\" min=\"0\" step=\"1000\" placeholder=\"Leave blank for regional benchmark\">\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Scenario <span class=\"req\">*<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Conservative \/ Base \/ Upside bands for external-replacement %, internal-time %, debt spread, equity discount, revenue uplift and liquidity premium. Ranges anchored to peer-reviewed literature (Academic Sources sheet).\">i<\/span>\r\n          <\/label>\r\n          <select name=\"scenario\" required>\r\n                          <option value=\"Conservative\" >Conservative<\/option>\r\n                          <option value=\"Base\"  selected='selected'>Base<\/option>\r\n                          <option value=\"Upside\" >Upside<\/option>\r\n                      <\/select>\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>IR operating model <span class=\"req\">*<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Selects the internal-hours matrix (CEO, CFO, IRO, Legal, Comms) used to value management time saved. Hour assumptions documented in the Assumption Audit.\">i<\/span>\r\n          <\/label>\r\n          <select name=\"ir_model\" required>\r\n                          <option value=\"Lean issuer (no IR team)\" >Lean issuer (no IR team)<\/option>\r\n                          <option value=\"Lean IR function\" >Lean IR function<\/option>\r\n                          <option value=\"Established IR function\"  selected='selected'>Established IR function<\/option>\r\n                      <\/select>\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Recent capital activity <span class=\"req\">*<\/span>\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Indicates whether capital-cost-saved components (debt spread, equity discount) are meaningful for your case.\">i<\/span>\r\n          <\/label>\r\n          <select name=\"capital_activity\" required>\r\n                          <option value=\"None in 3 years\">None in 3 years<\/option>\r\n                          <option value=\"Equity raise planned\">Equity raise planned<\/option>\r\n                          <option value=\"Recent equity raise (&lt;3 yrs)\">Recent equity raise (&lt;3 yrs)<\/option>\r\n                          <option value=\"Debt refinancing planned\">Debt refinancing planned<\/option>\r\n                          <option value=\"Both equity + debt\">Both equity + debt<\/option>\r\n                      <\/select>\r\n        <\/div>\r\n        <div class=\"vasro-field\">\r\n          <label>Rating status\r\n            <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Rated issuers typically realise narrower debt spreads. Used as a contextual modifier in the capital-cost-saved component.\">i<\/span>\r\n          <\/label>\r\n          <select name=\"rated\">\r\n            <option value=\"rated\" selected>rated<\/option>\r\n            <option value=\"non rated\">non rated<\/option>\r\n          <\/select>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"vasro-section\">\r\n        <div class=\"vasro-section-title\">\r\n          <span class=\"num\">02<\/span>\r\n          <span class=\"ttl\">Capital raise \/ refinancing<\/span>\r\n          <span class=\"sub\">Optional \u2014 fill only if relevant<\/span>\r\n        <\/div>\r\n        <div class=\"vasro-grid\">\r\n          <div class=\"vasro-field\">\r\n            <label>Debt refinancing \/ new debt (EUR)\r\n              <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Multiplied by the scenario debt-spread (bps) to estimate the interest cost saved through stronger investor credibility and disclosure quality. Spread ranges sourced from Academic Sources.\">i<\/span>\r\n            <\/label>\r\n            <input type=\"number\" name=\"debt_amount\" min=\"0\" step=\"100000\" placeholder=\"0\">\r\n          <\/div>\r\n          <div class=\"vasro-field\">\r\n            <label>Equity raise \/ selldown (EUR)\r\n              <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Multiplied by the scenario equity-discount % \u2014 the typical issuance discount reduction associated with deeper analyst coverage and broader investor reach.\">i<\/span>\r\n            <\/label>\r\n            <input type=\"number\" name=\"equity_raise\" min=\"0\" step=\"100000\" placeholder=\"0\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"vasro-section\">\r\n        <div class=\"vasro-section-title\">\r\n          <span class=\"num\">03<\/span>\r\n          <span class=\"ttl\">Credibility-linked revenue uplift<\/span>\r\n          <span class=\"sub\">Optional \u2014 only if you can define a credible affected base<\/span>\r\n        <\/div>\r\n        <div class=\"vasro-grid\">\r\n          <div class=\"vasro-field\">\r\n            <label>Credibility-sensitive revenue base (EUR)\r\n              <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Portion of revenue genuinely sensitive to investor \/ market perception \u2014 typically enterprise sales, public-sector tenders or licensing. Excludes commodity or contractually-locked revenue.\">i<\/span>\r\n            <\/label>\r\n            <input type=\"number\" name=\"revenue_base\" min=\"0\" step=\"100000\" placeholder=\"0\">\r\n            <span class=\"hint\">Enterprise sales, tenders, licensing only.<\/span>\r\n          <\/div>\r\n          <div class=\"vasro-field\">\r\n            <label>Gross margin %\r\n              <span class=\"vasro-info\" tabindex=\"0\" data-tip=\"Applied to the revenue uplift to estimate incremental gross profit. Defaults to 40% if left blank.\">i<\/span>\r\n            <\/label>\r\n            <input type=\"number\" name=\"gross_margin_pct\" min=\"0\" max=\"100\" step=\"0.5\" placeholder=\"40\">\r\n            <span class=\"hint\">Default 40%. Enter as a percent (e.g. 35 for 35%).<\/span>\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"vasro-actions\">\r\n        <button type=\"submit\" class=\"vasro-btn\"><span class=\"lbl\">Calculate my value<\/span><\/button>\r\n        <button type=\"reset\" class=\"vasro-btn vasro-btn--ghost\">Reset<\/button>\r\n      <\/div>\r\n\r\n      <div class=\"vasro-err\"><\/div>\r\n    <\/form>\r\n\r\n    <div class=\"vasro-methodology\" role=\"note\" aria-label=\"Methodology\">\r\n      <span><strong>Methodology.<\/strong> Every input range, multiplier and benchmark is documented in the VASRO <span class=\"src\">Assumption Audit<\/span> and cross-referenced to the <span class=\"src\">Academic Sources<\/span> register \u2014 drawing on peer-reviewed IR, market-microstructure and cost-of-capital research. Outputs are scenario-based estimates, not guarantees.<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"vasro-results\" aria-live=\"polite\"><\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n  (function(){\r\n    var instanceId = \"vasro-calc-a7777fe0-d58a-4b46-8f9c-2a9157c47b51\";\r\n    var ajaxEndpoint = \"https:\\\/\\\/vasro.de\\\/wp-admin\\\/admin-ajax.php\";\r\n    var formLoadedAt = Math.floor(Date.now()\/1000); \/\/ client-side render time (page cache-safe)\r\n\r\n    function initVasroCalculator(){\r\n      var root = document.getElementById(instanceId);\r\n      if (!root || root.getAttribute('data-vasro-ready') === '1') return;\r\n      var form = root.querySelector('.vasro-form');\r\n      var errBox = root.querySelector('.vasro-err');\r\n      var results = root.querySelector('.vasro-results');\r\n      if (!form || !errBox || !results) return;\r\n      root.setAttribute('data-vasro-ready', '1');\r\n\r\n      var fmtEUR = function(v){return '\u20ac'+Math.round(v || 0).toLocaleString('de-DE');};\r\n      var fmtX = function(v){return (Math.round((v || 0)*10)\/10).toFixed(1)+'\u00d7';};\r\n      var fmtM = function(v){return (Math.round((v || 0)*10)\/10).toFixed(1)+' mo';};\r\n     var fmtPct = function(v, d){var n=Number(v||0)*100; var dd=(typeof d==='number')?d:1; return n.toFixed(dd)+'%';};\r\n\r\n      form.onsubmit = function(e){\r\n        if (e && e.preventDefault) e.preventDefault();\r\n        if (e) e.returnValue = false;\r\n        errBox.style.display='none'; errBox.textContent='';\r\n        var btn = form.querySelector('button[type=submit]');\r\n        var lblNode = btn ? btn.querySelector('.lbl') : null;\r\n        var lbl = lblNode ? lblNode.textContent : 'Calculate my value';\r\n        if (btn) {\r\n          btn.disabled = true;\r\n          btn.innerHTML = '<span class=\"vasro-spinner\"><\/span><span class=\"lbl\">Calculating\u2026<\/span>';\r\n        }\r\n\r\n        var fd = new FormData(form);\r\n        fd.set('action', 'vasro_calculate');\r\n        fd.set('_t', String(formLoadedAt));\r\n        var gm = fd.get('gross_margin_pct');\r\n        if (gm !== '' && gm !== null) fd.set('gross_margin', String((parseFloat(gm) || 0) \/ 100));\r\n\r\n        postAjax(fd, function(res){\r\n          if (!res.ok) {\r\n            showError((res.body && res.body.error) || 'Calculation failed ('+res.status+')');\r\n            return;\r\n          }\r\n          render(res.body);\r\n        }, function(message){\r\n          showError(message || 'Calculation failed. Please try again.');\r\n        }, function(){\r\n          if (btn) {\r\n            btn.disabled = false;\r\n            btn.innerHTML = '<span class=\"lbl\">'+escapeHtml(lbl)+'<\/span>';\r\n          }\r\n        });\r\n        return false;\r\n      };\r\n\r\n      function postAjax(fd, done, fail, always){\r\n        var xhr = new XMLHttpRequest();\r\n        xhr.open('POST', ajaxEndpoint, true);\r\n        xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n        xhr.onreadystatechange = function(){\r\n          if (xhr.readyState !== 4) return;\r\n          var body = null;\r\n          try { body = JSON.parse(xhr.responseText || '{}'); } catch(err) { body = {error:'Server returned an invalid response.'}; }\r\n          done({ok: xhr.status >= 200 && xhr.status < 300, status: xhr.status, body: body});\r\n          if (always) always();\r\n        };\r\n        xhr.onerror = function(){ fail('Network error. Please try again.'); if (always) always(); };\r\n        xhr.send(fd);\r\n      }\r\n\r\n      function showError(message){\r\n        errBox.textContent = message;\r\n        errBox.style.display = 'block';\r\n      }\r\n\r\n    function render(r){\r\n      var sc = r.scenario_compare;\r\n      var scenarios = ['Conservative','Base','Upside'];\r\n      var ie = r.inputs_echo || {};\r\n      var today = new Date().toLocaleDateString('en-GB', {year:'numeric', month:'short', day:'numeric'});\r\n      var html = ''\r\n        \/\/ ===== Client Snapshot (mirrors Excel Client_snapshot sheet) =====\r\n        + '<div class=\"vasro-snapshot\">'\r\n        +   '<div class=\"vasro-snapshot__hd\">'\r\n        +     '<div class=\"eyebrow\">VASRO \u00b7 Client Snapshot<\/div>'\r\n        +     '<h4>'+escapeHtml(ie.company || 'Indicative value summary')+'<\/h4>'\r\n        +     '<div class=\"meta\">'+escapeHtml(ie.region||'')+' \u00b7 '+escapeHtml(ie.tier||'')+' \u00b7 '+escapeHtml(ie.scenario||'')+' scenario \u00b7 '+today+'<\/div>'\r\n        +   '<\/div>'\r\n        +   '<div class=\"vasro-snapshot__body\">'\r\n        +     '<div class=\"vasro-snapshot__hero\">'\r\n        +       kpi('NET annual saving', fmtEUR(r.net_annual), 'After VASRO fee', 'hero')\r\n        +       kpi('Value per \u20ac1 of fee', fmtX(r.value_per_euro), '>5\u00d7 is strong', 'sand')\r\n        +       kpi('Fee payback', fmtM(r.payback_months), 'From recurring value', 'gross')\r\n        +     '<\/div>'\r\n        +     snapRow('Gross annual value',        fmtEUR(r.gross_annual))\r\n        +     snapRow('VASRO annual fee',          '\u2212'+fmtEUR(r.fee))\r\n        +     snapRow('5-year value stack',        fmtEUR(r.five_year_stack))\r\n        +     snapRow('3-year value stack',        fmtEUR(r.three_year_stack))\r\n        +     snapRow('Effective IR budget (benchmark)', fmtEUR(r.parameters.effective_budget))\r\n        +     snapRow('Fee as % of IR budget',     fmtPct(r.fee_pct_budget))\r\n        +     snapRow('IR budget efficiency gain', fmtPct(r.budget_reduction_pct))\r\n        +     snapRow('Net saving as % of market cap', fmtPct(r.net_pct_mcap, 3))\r\n        +     snapRow('Gross value as % of market cap', fmtPct(r.gross_pct_mcap, 3))\r\n        +     '<div class=\"vasro-snapshot__row\" style=\"grid-template-columns:1fr;background:#f8fafc;padding:8px 10px;margin-top:6px;border-radius:6px;font-weight:700;color:#0D1B2A;font-size:11px;letter-spacing:.6px;text-transform:uppercase\">Value components (annual)<\/div>'\r\n        +     snapRow('External market-equivalent value', fmtEUR(r.external_value))\r\n        +     snapRow('  \u00b7 Research coverage',     fmtEUR(r.external_break.research))\r\n        +     snapRow('  \u00b7 Distribution \/ roadshow', fmtEUR(r.external_break.distribution))\r\n        +     snapRow('  \u00b7 Investor mapping & targeting', fmtEUR(r.external_break.mapping))\r\n        +     snapRow('  \u00b7 Retail \/ digital outreach', fmtEUR(r.external_break.retail))\r\n        +     snapRow('  \u00b7 Advisory \/ strategic support', fmtEUR(r.external_break.advisory))\r\n        +     snapRow('Internal management time saved', fmtEUR(r.internal_value))\r\n        +     snapRow('Capital cost saved',        fmtEUR(r.capital_value))\r\n        +     (r.capital_break.debt   > 0 ? snapRow('  \u00b7 Debt refinancing spread', fmtEUR(r.capital_break.debt)) : '')\r\n        +     (r.capital_break.equity > 0 ? snapRow('  \u00b7 Equity raise discount reduced', fmtEUR(r.capital_break.equity)) : '')\r\n        +     snapRow('Incremental gross profit supported', fmtEUR(r.revenue_value))\r\n        +     (r.liquidity_value > 0 ? snapRow('Liquidity premium (supplementary)', fmtEUR(r.liquidity_value)) : '')\r\n        +     snapRow('IR operating model',        escapeHtml(ie.ir_model||'\u2014'))\r\n        +     snapRow('Recent capital activity',   escapeHtml(ie.capital_activity||'\u2014'))\r\n        +     (ie.rated ? snapRow('Rating',        escapeHtml(ie.rated)) : '')\r\n        +   '<\/div>'\r\n        + '<\/div>'\r\n\r\n        + '<h3>Detailed breakdown'\r\n        +   (ie.company ? ' \u2014 '+escapeHtml(ie.company) : '')\r\n        + '<\/h3>'\r\n        + '<div class=\"vasro-kpi-grid\">'\r\n        +   kpi('Net annual saving', fmtEUR(r.net_annual), 'After VASRO fee', 'net')\r\n        +   kpi('Gross annual value', fmtEUR(r.gross_annual), 'Before fee', 'gross')\r\n        +   kpi('Value per \u20ac1 of fee', fmtX(r.value_per_euro), '>5\u00d7 is strong', 'sand')\r\n        +   kpi('Fee payback', fmtM(r.payback_months), 'From recurring value', '')\r\n        +   kpi('5-year value stack', fmtEUR(r.five_year_stack), 'Undiscounted', '')\r\n        +   kpi('VASRO annual fee', fmtEUR(r.fee), r.inputs_echo.region+' \u00b7 '+r.inputs_echo.tier, '')\r\n        + '<\/div>'\r\n\r\n        + '<h3 style=\"font-size:14px;margin-top:24px\">Annual value breakdown (Base scenario)<\/h3>'\r\n        + '<div class=\"prose__scroll\" role=\"region\" tabindex=\"0\"><table class=\"vasro-table\"><thead><tr><th>Component<\/th><th class=\"num\">EUR<\/th><\/tr><\/thead><tbody>'\r\n        +   row('External market-equivalent value', r.external_value)\r\n        +   row('Internal management time saved', r.internal_value)\r\n        +   row('Capital cost saved', r.capital_value)\r\n        +   row('Incremental gross profit supported', r.revenue_value)\r\n        +   '<tr class=\"total\"><td>Total gross annual value<\/td><td class=\"num\">'+fmtEUR(r.gross_annual)+'<\/td><\/tr>'\r\n        +   '<tr><td>Less: VASRO annual fee<\/td><td class=\"num\">\u2212'+fmtEUR(r.fee)+'<\/td><\/tr>'\r\n        +   '<tr class=\"total\"><td>NET annual saving<\/td><td class=\"num\">'+fmtEUR(r.net_annual)+'<\/td><\/tr>'\r\n        + '<\/tbody><\/table><\/div>'\r\n\r\n        + '<h3 style=\"font-size:14px;margin-top:24px\">Three-scenario comparison<\/h3>'\r\n        + '<div class=\"prose__scroll\" role=\"region\" tabindex=\"0\"><table class=\"vasro-table\"><thead><tr><th>Metric<\/th>'+scenarios.map(function(s){return '<th class=\"num\">'+s+'<\/th>';}).join('')+'<\/tr><\/thead><tbody>'\r\n        +   srow('Gross value', scenarios.map(function(s){return fmtEUR(sc[s].gross);}))\r\n        +   srow('Net (after fee)', scenarios.map(function(s){return fmtEUR(sc[s].net);}))\r\n        +   srow('Value \/ fee', scenarios.map(function(s){return fmtX(sc[s].multiple);}))\r\n        +   srow('Payback', scenarios.map(function(s){return fmtM(sc[s].payback);}))\r\n        + '<\/tbody><\/table><\/div>'\r\n\r\n        + (r.liquidity_value > 0 ? '<p style=\"margin-top:14px;font-size:12px;color:#64748B\"><strong>Supplementary liquidity benefit (indicative, not in NET):<\/strong> '+fmtEUR(r.liquidity_value)+' \/ yr \u00b7 5-yr '+fmtEUR(r.liquidity_value*5)+'<\/p>' : '')\r\n\r\n        + '<div class=\"vasro-disclaimer\">For informational \/ business-case purposes only \u00b7 Not financial advice \u00b7 No guarantee of investor participation, liquidity, valuation or share-price outcome \u00b7 All values are scenario-based estimates \u00b7 \u00a9 VASRO<\/div>';\r\n\r\n      results.innerHTML = html;\r\n      results.style.display = 'block';\r\n      if (results.scrollIntoView) results.scrollIntoView({behavior:'smooth', block:'start'});\r\n    }\r\n\r\n    function kpi(lbl, val, sub, mod){\r\n      return '<div class=\"vasro-kpi'+(mod?' vasro-kpi--'+mod:'')+'\"><div class=\"vasro-kpi__lbl\">'+lbl+'<\/div><div class=\"vasro-kpi__val\">'+val+'<\/div><div class=\"vasro-kpi__sub\">'+sub+'<\/div><\/div>';\r\n    }\r\n    function snapRow(k, v){ return '<div class=\"vasro-snapshot__row\"><div class=\"k\">'+k+'<\/div><div class=\"v\">'+v+'<\/div><\/div>'; }\r\n    function row(lbl, v){ return '<tr><td>'+lbl+'<\/td><td class=\"num\">'+fmtEUR(v)+'<\/td><\/tr>'; }\r\n    function srow(lbl, cells){ return '<tr><td>'+lbl+'<\/td>'+cells.map(function(c){return '<td class=\"num\">'+c+'<\/td>';}).join('')+'<\/tr>'; }\r\n    function escapeHtml(s){return String(s).replace(\/[&<>\"']\/g,function(c){return ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'})[c];});}\r\n    }\r\n\r\n    if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initVasroCalculator);\r\n    initVasroCalculator();\r\n  })();\r\n  <\/script>\r\n<\/div>\r\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":20,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-24926","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/pages\/24926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/comments?post=24926"}],"version-history":[{"count":1,"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/pages\/24926\/revisions"}],"predecessor-version":[{"id":24927,"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/pages\/24926\/revisions\/24927"}],"wp:attachment":[{"href":"https:\/\/vasro.de\/en\/wp-json\/wp\/v2\/media?parent=24926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}