{"id":1625,"date":"2025-09-09T14:42:19","date_gmt":"2025-09-09T18:42:19","guid":{"rendered":"https:\/\/solaireoutaouais.com\/?page_id=1625"},"modified":"2025-09-09T14:45:55","modified_gmt":"2025-09-09T18:45:55","slug":"estimate-my-savings","status":"publish","type":"page","link":"https:\/\/solaireoutaouais.com\/en\/estimate-my-savings\/","title":{"rendered":"Estimate my savings"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1625\" class=\"elementor elementor-1625 elementor-1624\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-2fadbf8 elementor-section-height-min-height elementor-section-boxed elementor-section-height-default elementor-section-items-middle elementor-invisible\" data-id=\"2fadbf8\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b5e8cab\" data-id=\"b5e8cab\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-d1a06df elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"d1a06df\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5efcbc3\" data-id=\"5efcbc3\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-inner-section elementor-element elementor-element-bb3b7b8 elementor-reverse-tablet elementor-reverse-mobile_extra elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"bb3b7b8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-17a2711\" data-id=\"17a2711\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f0bcbb elementor-widget elementor-widget-spacer\" data-id=\"5f0bcbb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6c7e782\" data-id=\"6c7e782\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-20525b3 elementor-widget elementor-widget-heading\" data-id=\"20525b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Estimate my savings<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b30ac18 elementor-widget elementor-widget-shortcode\" data-id=\"b30ac18\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n\t<div id=\"calculatrice\">\n\t\t<h2>Solar savings simulator<\/h2>\n\t\t<div class=\"calculatrice_group\">\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Number of panels:<\/label><\/div>\n\t\t\t\t<div class=\"input\"><input type=\"number\" id=\"panneaux\" value=\"10\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Power of one panel (Wp):<\/label><\/div>\n\t\t\t\t<div class=\"input\"><input type=\"number\" id=\"puissance\" value=\"400\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Total installation cost ($):<\/label><\/div>\n\t\t\t\t<div class=\"input\"><input type=\"number\" id=\"cout\" value=\"12000\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Electricity price ($\/kWh):<\/label><\/div>\n\t\t\t\t<div class=\"input\"><input type=\"number\" step=\"0.01\" id=\"prix\" value=\"0.10\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Subsidy (%):<\/label><\/div>\n\t\t\t\t<div class=\"input\"><input type=\"number\" id=\"subvention\" value=\"20\"><\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Advanced mode:<\/label><\/div>\n\t\t\t\t<div class=\"checkbox_input\">\n\t\t\t\t\t<input type=\"checkbox\" id=\"modeAvance\" checked>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<div class=\"calculatrice_group_item\">\n\t\t\t\t<div class=\"label\"><label>Bifacial panels (+5% to 30% efficiency):<\/label><\/div>\n\t\t\t\t<div class=\"input calculatrice_group_sub_item\">\n\t\t\t\t\t<input type=\"number\" id=\"bifacial\" value=\"0\" min=\"0\" max=\"30\">\n\t\t\t\t\t<span>%<\/span>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t<button id=\"calculBtn\">Calculate savings<\/button>\n\t\t\t<div class=\"result\" id=\"resultat\"><\/div>\n\t\t\t<canvas id=\"chartEconomies\" width=\"0\" height=\"0\"><\/canvas>\n\t\t<\/div>\n\t<\/div>\n\n  <script>\n    let chart;\n\n    document.addEventListener('DOMContentLoaded', () => {\n      document.getElementById('calculBtn').addEventListener('click', calculer);\n    });\n\n    function calculer() {\n      const panneaux = parseFloat(document.getElementById('panneaux').value);\n      const puissance = parseFloat(document.getElementById('puissance').value);\n      const cout = parseFloat(document.getElementById('cout').value);\n      const prixBase = parseFloat(document.getElementById('prix').value);\n      const subvention = parseFloat(document.getElementById('subvention').value);\n      const modeAvance = document.getElementById('modeAvance').checked;\n      const bifacialPct = parseFloat(document.getElementById('bifacial').value) \/ 100;\n\n      const puissanceTotaleKW = (panneaux * puissance) \/ 1000;\n      const annees = Array.from({length: 30}, (_, i) => i + 1);\n\n      const degradation = modeAvance ? 0.005 : 0;\n      const haussePrix = modeAvance ? 0.03 : 0;\n      const fraisEntretien = modeAvance ? 150 : 0;\n\n      let productionParAn = [];\n      let economieParAn = [];\n      let cumulNetAvec = [];\n      let cumulNetSans = [];\n\n      annees.forEach((annee, idx) => {\n        let prod = puissanceTotaleKW * 1200 * Math.pow(1 - degradation, idx);\n        prod *= (1 + bifacialPct); \/\/ Ajouter le rendement bifacial\n        const prix = prixBase * Math.pow(1 + haussePrix, idx);\n        const economie = prod * prix - fraisEntretien;\n        productionParAn.push(prod);\n        economieParAn.push(economie);\n        cumulNetAvec.push(economieParAn.reduce((a,b,i)=> i<=idx ? a+b : a,0) - cout*(1 - subvention\/100));\n        cumulNetSans.push(economieParAn.reduce((a,b,i)=> i<=idx ? a+b : a,0) - cout);\n      });\n\n      const economieAnnuelle = economieParAn[0];\n      const coutNet = cout * (1 - subvention\/100);\n      const retourInvestissement = economieAnnuelle > 0 ? (coutNet \/ economieAnnuelle) : Infinity;\n      const retourSansSubvention = economieAnnuelle > 0 ? (cout \/ economieAnnuelle) : Infinity;\n      const economie25ans = economieParAn.slice(0,25).reduce((a,b)=>a+b,0);\n\n      const findPaybackYear = (arr) => {\n        const idx = arr.findIndex(v => v >= 0);\n        return idx === -1 ? null : idx + 1;\n      };\n      const anneePaybackAvec = findPaybackYear(cumulNetAvec);\n      const anneePaybackSans = findPaybackYear(cumulNetSans);\n\n      document.getElementById('resultat').innerHTML = `\n        <h3>Results:<\/h3>\n        <p><strong>Total installed power:<\/strong> ${puissanceTotaleKW.toFixed(2)}&nbsp;kWc<\/p>\n        <p><strong>First-year savings:<\/strong> $${economieAnnuelle.toFixed(0)}<\/p>\n        <p><strong>Net cost after subsidy:<\/strong> $${coutNet.toFixed(0)}<\/p>\n        <p><strong>Return on investment (with subsidy):<\/strong>&nbsp;${retourInvestissement === Infinity ? 'N\/A' : retourInvestissement.toFixed(1) + ' years'} ${anneePaybackAvec ? `(\u2248 year ${anneePaybackAvec})` : ''}<\/p>\n        <p><strong>Return on investment (without subsidy):<\/strong>&nbsp;${retourSansSubvention === Infinity ? 'N\/A' : retourSansSubvention.toFixed(1) + ' years'} ${anneePaybackSans ? `(\u2248 year ${anneePaybackSans})` : ''}<\/p>\n        <p><strong>Total savings over 25 years:<\/strong>&nbsp;$${economie25ans.toFixed(0)}<\/p>\n        ${modeAvance ? `<p><strong>Manufacturer\u2019s warranty:<\/strong> 25 years at \u226590%, 30 years at \u226580%<\/p>` : ''}\n        ${bifacialPct > 0 ? `<p><strong>Bifacial efficiency<\/strong> +${(bifacialPct*100).toFixed(0)}%<\/p>` : ''}\n      `;\n\n      if(chart) chart.destroy();\n      const ctx = document.getElementById('chartEconomies').getContext('2d');\n\n      const pointRoiAvec = anneePaybackAvec ? [{ x: anneePaybackAvec, y: 0 }] : [];\n      const pointRoiSans = anneePaybackSans ? [{ x: anneePaybackSans, y: 0 }] : [];\n\n      const datasets = [\n        { label: 'Annual savings ($)', data: economieParAn.slice(0,25), borderColor: 'green', borderWidth:2, fill:false },\n        { label: 'Net cumulative (with subsidy)', data: cumulNetAvec.slice(0,25), borderColor: 'purple', borderWidth:2, borderDash:[2,2], fill:false },\n        { label: 'Net cumulative (without subsidy)', data: cumulNetSans.slice(0,25), borderColor: 'orange', borderWidth:2, borderDash:[2,2], fill:false },\n        { type: 'scatter', label: 'ROI point (with)', data: pointRoiAvec, pointBackgroundColor:'purple', pointBorderColor:'purple', pointRadius:6, showLine:false },\n        { type: 'scatter', label: 'ROI point (without)', data: pointRoiSans, pointBackgroundColor:'orange', pointBorderColor:'orange', pointRadius:6, showLine:false }\n      ];\n\n      if(modeAvance){\n        datasets.push({ label:'90% warranty (25 years)', data: Array(25).fill(puissanceTotaleKW*1200*0.9*prixBase*(1+bifacialPct)), borderColor:'blue', borderWidth:1, borderDash:[3,3], fill:false });\n        datasets.push({ label:'80% warranty (30 years)', data: Array(25).fill(puissanceTotaleKW*1200*0.8*prixBase*(1+bifacialPct)), borderColor:'red', borderWidth:1, borderDash:[3,3], fill:false });\n      }\n\n      chart = new Chart(ctx, {\n        type: 'line',\n        data: { labels: annees.slice(0,25), datasets },\n        options: {\n          responsive: true,\n          plugins: { title: { display: true, text: 'Projected savings over 25 years' } },\n          scales: { y: { beginAtZero: true } }\n        }\n      });\n    }\n  <\/script>\n\n\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Estimate my savings<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"About \u00c9nergie Solaire Outaouais","_seopress_titles_desc":"Learn more about \u00c9nergie Solaire Outaouais, a leader in eco-friendly solar solutions in the region. Discover our mission, values, and commitment to renewable energy.","_seopress_robots_index":"","inline_featured_image":false,"footnotes":""},"class_list":["post-1625","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/pages\/1625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/comments?post=1625"}],"version-history":[{"count":8,"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/pages\/1625\/revisions"}],"predecessor-version":[{"id":1640,"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/pages\/1625\/revisions\/1640"}],"wp:attachment":[{"href":"https:\/\/solaireoutaouais.com\/en\/wp-json\/wp\/v2\/media?parent=1625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}