{"id":5338,"date":"2026-11-01T23:40:04","date_gmt":"2026-11-02T07:40:04","guid":{"rendered":"https:\/\/www.26yc.com\/tools\/heat-recovery-roi-calculator\/"},"modified":"2026-11-01T23:40:04","modified_gmt":"2026-11-02T07:40:04","slug":"heat-recovery-roi-calculator","status":"publish","type":"page","link":"https:\/\/www.26yc.com\/fr\/tools\/heat-recovery-roi-calculator\/","title":{"rendered":"Heat Recovery ROI &#038; Payback Calculator"},"content":{"rendered":"<h1>Heat Recovery ROI &amp; Payback Calculator<\/h1>\n<p class=\"lead\">Estimate how fast an air-to-air heat recovery system pays for itself. Enter your duty point and energy cost \u2014 the calculator updates live with recovered power, annual energy and cost savings, simple payback, and 10-year net benefit. Then download the formal ROI report template to brief your team.<\/p>\n    <div class=\"yc-roi\" id=\"ycRoi\">\n      <div class=\"yc-roi-grid\">\n        <div class=\"yc-roi-inputs\">\n          <h3>Your duty point<\/h3>\n          <label>Exhaust airflow (m\u00b3\/h)\n            <input type=\"number\" id=\"roiAir\" value=\"20000\" min=\"0\" step=\"500\">\n          <\/label>\n          <label>Supply air temperature (\u00b0C)\n            <input type=\"number\" id=\"roiTs\" value=\"20\" step=\"0.5\">\n          <\/label>\n          <label>Exhaust air temperature (\u00b0C)\n            <input type=\"number\" id=\"roiTe\" value=\"-5\" step=\"0.5\">\n          <\/label>\n          <label>Recovery efficiency (%)\n            <input type=\"number\" id=\"roiEff\" value=\"75\" min=\"1\" max=\"95\" step=\"1\">\n          <\/label>\n          <label>Operating hours \/ year (h)\n            <input type=\"number\" id=\"roiHrs\" value=\"6000\" min=\"0\" step=\"250\">\n          <\/label>\n          <label>Energy price ($\/kWh)\n            <input type=\"number\" id=\"roiPrice\" value=\"0.12\" min=\"0\" step=\"0.01\">\n          <\/label>\n          <label>Equipment cost ($, capex)\n            <input type=\"number\" id=\"roiCapex\" value=\"15000\" min=\"0\" step=\"500\">\n          <\/label>\n        <\/div>\n        <div class=\"yc-roi-outputs\">\n          <h3>Estimated savings<\/h3>\n          <div class=\"roi-kpis\">\n            <div class=\"roi-kpi\"><span class=\"v\" id=\"oP\">\u2013<\/span><span class=\"l\">kW recovered (avg)<\/span><\/div>\n            <div class=\"roi-kpi\"><span class=\"v\" id=\"oKwh\">\u2013<\/span><span class=\"l\">kWh saved \/ yr<\/span><\/div>\n            <div class=\"roi-kpi\"><span class=\"v\" id=\"oUsd\">\u2013<\/span><span class=\"l\">$ saved \/ yr<\/span><\/div>\n            <div class=\"roi-kpi\"><span class=\"v\" id=\"oPb\">\u2013<\/span><span class=\"l\">Simple payback (yr)<\/span><\/div>\n          <\/div>\n          <div class=\"roi-extra\">\n            <div>10-year net benefit: <strong id=\"o10\">\u2013<\/strong><\/div>\n            <div>CO\u2082 avoided (@0.45 kg\/kWh): <strong id=\"oCo2\">\u2013<\/strong> t\/yr<\/div>\n          <\/div>\n          <div class=\"roi-bar\"><div class=\"roi-bar-fill\" id=\"oBar\"><\/div><\/div>\n          <p class=\"roi-note\">Screening estimate. Excludes fan-power penalty and O&amp;M (~1\u20133 %\/yr). A written proposal confirms duty point, controls and guaranteed effectiveness.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <style>\n      .yc-roi{border:1px solid #d4dee8;border-radius:14px;background:#fbfdff;padding:20px 22px;margin:18px 0;}\n      .yc-roi-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;}\n      .yc-roi h3{margin:0 0 10px;color:#0f3a57;font-size:16px;}\n      .yc-roi-inputs label{display:block;font-size:13px;color:#33485c;margin:0 0 10px;font-weight:600;}\n      .yc-roi-inputs input{width:100%;padding:9px 10px;border:1px solid #c5d3e0;border-radius:8px;font-size:14px;margin-top:4px;box-sizing:border-box;}\n      .roi-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}\n      .roi-kpi{background:linear-gradient(180deg,#eef4fa,#e3eef6);border:1px solid #cdd8e2;border-radius:10px;padding:12px;text-align:center;}\n      .roi-kpi .v{display:block;font-size:22px;font-weight:800;color:#12557a;}\n      .roi-kpi .l{font-size:11px;color:#5a6b7b;}\n      .roi-extra{font-size:13px;color:#33485c;margin:6px 0 12px;}\n      .roi-bar{height:10px;background:#e3eef6;border-radius:6px;overflow:hidden;}\n      .roi-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#1a7f37,#36b653);transition:width .25s;}\n      .roi-note{font-size:11.5px;color:#6b7c8e;font-style:italic;margin:10px 0 0;}\n      @media(max-width:680px){.yc-roi-grid{grid-template-columns:1fr;}}\n    <\/style>\n\n    <script>\n    (function(){\n      var $ = function(id){ return document.getElementById(id); };\n      function fmt(n, d){ if(!isFinite(n)) return '\u2013'; return n.toLocaleString('en-US',{maximumFractionDigits:d===undefined?0:d}); }\n      function calc(){\n        var air = parseFloat($('roiAir').value) || 0;\n        var ts  = parseFloat($('roiTs').value) || 0;\n        var te  = parseFloat($('roiTe').value) || 0;\n        var eff = (parseFloat($('roiEff').value) || 0) \/ 100;\n        var hrs = parseFloat($('roiHrs').value) || 0;\n        var price = parseFloat($('roiPrice').value) || 0;\n        var capex = parseFloat($('roiCapex').value) || 0;\n\n        var dT = Math.abs(te - ts);\n        var mdot = air * 1.2 \/ 3600;            \/\/ kg\/s\n        var P = mdot * 1.006 * dT * eff;        \/\/ kW\n        var kwh = P * hrs;                      \/\/ kWh\/yr\n        var usd = kwh * price;                  \/\/ $\/yr\n        var pb = usd > 0 ? capex \/ usd : Infinity;\n        var net10 = 10 * usd - capex;\n        var co2 = kwh * 0.45 \/ 1000;            \/\/ tonnes\/yr\n\n        $('oP').textContent   = fmt(P, 1);\n        $('oKwh').textContent = fmt(kwh);\n        $('oUsd').textContent = '$' + fmt(usd);\n        $('oPb').textContent  = isFinite(pb) ? (pb > 50 ? '>50' : fmt(pb, 1)) : '\u2013';\n        $('o10').textContent  = '$' + fmt(net10);\n        $('oCo2').textContent = fmt(co2, 1);\n\n        \/\/ bar: payback vs 10 yr horizon (shorter = fuller)\n        var pct = isFinite(pb) ? Math.max(4, Math.min(100, (1 - pb \/ 10) * 100)) : 4;\n        $('oBar').style.width = pct + '%';\n      }\n      ['roiAir','roiTs','roiTe','roiEff','roiHrs','roiPrice','roiCapex'].forEach(function(id){\n        var el = $(id); if(el){ el.addEventListener('input', calc); el.addEventListener('change', calc); }\n      });\n      calc();\n    })();\n    <\/script>\n    \n<h2>How to read the result<\/h2>\n<ul>\n<li><strong>kW recovered<\/strong> is the steady heat moved at your design condition; multiply by operating hours for annual energy.<\/li>\n<li><strong>Simple payback<\/strong> ignores the time value of money \u2014 fine for screening. For capital approvals, also consider discounted cash flow.<\/li>\n<li><strong>10-year net benefit<\/strong> = 10 \u00d7 annual saving \u2212 capex, before O&amp;M (typically 1\u20133 %\/yr) and any fan-power penalty.<\/li>\n<\/ul>\n<h2>Levers that shorten payback<\/h2>\n<table class=\"calc-tbl\">\n<thead>\n<tr>\n<th>Lever<\/th>\n<th>Effect<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"k\">Operating hours<\/td>\n<td>24\/7 plants pay back far faster than 8 h\/day offices<\/td>\n<\/tr>\n<tr>\n<td class=\"k\">Energy price<\/td>\n<td>At $0.20\/kWh payback is ~half that at $0.10<\/td>\n<\/tr>\n<tr>\n<td class=\"k\">Effectiveness<\/td>\n<td>More savings, but size the core \u2014 don&#8217;t over-specify<\/td>\n<\/tr>\n<tr>\n<td class=\"k\">Heat reuse on-site<\/td>\n<td>Reusing heat beats dumping it to ambient<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Get the formal ROI report<\/h2>\n<p>Use the report template to document your assumptions and share with finance or your client.<\/p>\n    <div class=\"yc-lm\" data-file=\"https:\/\/www.26yc.com\/wp-content\/uploads\/2026\/11\/heat-recovery-roi-report.html\" data-product=\"Heat Recovery ROI\">\n      <div class=\"yc-lm-inner\">\n        <span class=\"yc-lm-badge\">FREE DOWNLOAD<\/span>\n        <h3 class=\"yc-lm-title\">Heat Recovery ROI Report Template<\/h3>\n        <p class=\"yc-lm-sub\">Enter your work email to get the <strong>Heat Recovery ROI<\/strong> specification sheet (print-ready PDF).<\/p>\n        <form class=\"yc-lm-form\" method=\"post\" action=\"\">\n          <input type=\"hidden\" id=\"yc_lm_nonce\" name=\"yc_lm_nonce\" value=\"f79573f94f\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/fr\/wp-json\/wp\/v2\/pages\/5338\" \/>          <input type=\"hidden\" name=\"yc_lm_product\" value=\"Heat Recovery ROI\">\n          <input type=\"hidden\" name=\"yc_lm_file\" value=\"https:\/\/www.26yc.com\/wp-content\/uploads\/2026\/11\/heat-recovery-roi-report.html\">\n          <div class=\"yc-lm-field\"><input type=\"text\" name=\"yc_lm_name\" required placeholder=\"Full name *\"><\/div>\n          <div class=\"yc-lm-field\"><input type=\"email\" name=\"yc_lm_email\" required placeholder=\"Work email *\"><\/div>\n          <div class=\"yc-lm-field yc-lm-wide\"><input type=\"text\" name=\"yc_lm_company\" placeholder=\"Company\"><\/div>\n          <button type=\"submit\" class=\"yc-lm-submit yc-lm-wide\">Get the spec sheet<\/button>\n          <p class=\"yc-lm-note yc-lm-wide\">We'll email you the link and connect you with our engineering team. No spam.<\/p>\n        <\/form>\n        <div class=\"yc-lm-msg\" role=\"status\"><\/div>\n        <div class=\"yc-lm-result\" style=\"display:none\">\n          <a class=\"yc-lm-dl\" href=\"https:\/\/www.26yc.com\/wp-content\/uploads\/2026\/11\/heat-recovery-roi-report.html\" target=\"_blank\" rel=\"noopener\">&#11015; Download specification sheet (PDF)<\/a>\n        <\/div>\n      <\/div>\n    <\/div>\n    <style>\n      .yc-lm{margin:30px 0;border:1px solid #d9e2ec;border-radius:14px;background:linear-gradient(180deg,#f4f8fc,#eef4fa);padding:24px 26px;}\n      .yc-lm-badge{display:inline-block;background:#12557a;color:#fff;font-size:11px;letter-spacing:.08em;padding:3px 10px;border-radius:20px;font-weight:700;}\n      .yc-lm-title{margin:10px 0 4px;font-size:21px;color:#0f3a57;}\n      .yc-lm-sub{margin:0 0 16px;color:#43566a;font-size:14px;}\n      .yc-lm-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;}\n      .yc-lm-field{grid-column:span 1;}\n      .yc-lm-wide{grid-column:span 2;}\n      .yc-lm-form input{width:100%;padding:11px 12px;border:1px solid #c5d3e0;border-radius:8px;font-size:14px;box-sizing:border-box;}\n      .yc-lm-submit{background:#12557a;color:#fff;border:0;padding:12px;border-radius:8px;font-weight:700;cursor:pointer;font-size:15px;}\n      .yc-lm-submit:hover{background:#0d3f5b;}\n      .yc-lm-note{margin:6px 0 0;font-size:12px;color:#6b7c8e;}\n      .yc-lm-msg{font-size:13px;}\n      .yc-lm-msg.ok{color:#1a7f37;font-weight:600;}\n      .yc-lm-msg.err{color:#b3261e;}\n      .yc-lm-result{margin-top:14px;}\n      .yc-lm-dl{display:inline-block;background:#1a7f37;color:#fff;text-decoration:none;padding:11px 18px;border-radius:8px;font-weight:700;}\n      @media(max-width:520px){.yc-lm-form{grid-template-columns:1fr;}.yc-lm-field{grid-column:span 2;}}\n    <\/style>\n    <script>\n    (function(){\n      var boxes=document.querySelectorAll('.yc-lm');\n      boxes.forEach(function(bx){\n        var form=bx.querySelector('.yc-lm-form');\n        if(!form)return;\n        form.addEventListener('submit',function(e){\n          e.preventDefault();\n          var msg=bx.querySelector('.yc-lm-msg');\n          msg.className='yc-lm-msg';msg.textContent='Processing\u2026';\n          var fd=new FormData(form);\n          fd.append('action','yc_lm_capture');\n          fetch('https:\/\/www.26yc.com\/wp-admin\/admin-ajax.php',{method:'POST',body:fd,credentials:'same-origin'})\n           .then(function(r){return r.json();})\n           .then(function(d){\n             if(d&&(d.ok||d.url)){bx.querySelector('.yc-lm-result').style.display='block';msg.className='yc-lm-msg ok';msg.textContent='\u2713 Unlocked! Your download is ready below.';form.style.display='none';}\n             else{msg.className='yc-lm-msg err';msg.textContent=(d&&d.msg)||'Could not process. Please use the contact form.';}\n           })\n           .catch(function(){msg.className='yc-lm-msg err';msg.textContent='Network error. Please try again.';});\n        });\n      });\n    })();\n    <\/script>\n    \n<h2>Related<\/h2>\n<ul>\n<li><a href=\"https:\/\/www.26yc.com\/air-to-air-heat-exchanger-price-guide\/\">Air-to-Air Heat Exchanger Price &amp; Cost Guide<\/a><\/li>\n<li><a href=\"https:\/\/www.26yc.com\/which-climate-zone-mandates-heat-recovery\/\">Which climate zone mandates heat recovery? (ASHRAE 90.1)<\/a><\/li>\n<li><a href=\"https:\/\/www.26yc.com\/heat-recovery-carbon-topic\/\">Waste Heat Recovery &amp; Carbon \u2014 topic hub<\/a><\/li>\n<\/ul>\n<style>\n.lead{font-size:16px;color:#33485c;}\n.calc-tbl{width:100%;border-collapse:collapse;margin:14px 0;}\n.calc-tbl th{background:#12557a;color:#fff;padding:9px 10px;text-align:left;font-size:14px;}\n.calc-tbl td{border:1px solid #d4dee8;padding:8px 10px;font-size:14px;vertical-align:top;}\n.calc-tbl td.k{background:#f7fafc;font-weight:600;width:34%;}\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Heat Recovery ROI &amp; Payback Calculator Estimate how fast an air-to-air heat recovery system pays for itself. Enter your duty point and energy cost \u2014 the calculator updates live with recovered power, annual energy and cost savings, simple payback, and 10-year net benefit. Then download the formal ROI report template to brief your team. How [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":5323,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5338","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/pages\/5338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/comments?post=5338"}],"version-history":[{"count":0,"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/pages\/5338\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/pages\/5323"}],"wp:attachment":[{"href":"https:\/\/www.26yc.com\/fr\/wp-json\/wp\/v2\/media?parent=5338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}