{"id":1821,"date":"2026-04-21T03:07:35","date_gmt":"2026-04-21T03:07:35","guid":{"rendered":"https:\/\/bbpmfg.com\/?page_id=1821"},"modified":"2026-04-21T03:40:17","modified_gmt":"2026-04-21T03:40:17","slug":"cost-tco-calculator","status":"publish","type":"page","link":"https:\/\/bbpmfg.com\/es\/multistage-pumps\/vertical\/cost-tco-calculator\/","title":{"rendered":"Calculadora vertical del costo del ciclo de vida de la bomba multietapa (TCO)"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-687e8f6\" data-block-id=\"687e8f6\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-687e8f6-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-61132f1\" data-v=\"4\" data-block-id=\"61132f1\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-61132f1-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-61132f1-inner-blocks\"><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3d73dfa\" data-block-id=\"3d73dfa\"><style>.stk-3d73dfa-column{--stk-columns-spacing:var(--stk--preset--spacing--40, 1rem) !important;}<\/style><div class=\"stk-row stk-inner-blocks has-text-align-center stk-block-content stk-content-align stk-3d73dfa-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-a959aaf\" data-v=\"4\" data-block-id=\"a959aaf\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-a959aaf-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-a959aaf-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-6c2cf29\" data-block-id=\"6c2cf29\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-6c2cf29-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-8aa60e5\" data-v=\"4\" data-block-id=\"8aa60e5\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-8aa60e5-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-8aa60e5-inner-blocks\">\n<section id=\"bbp-tco-calc-module\">\n  <style>\n    \/* Strict Scoping to unique ID *\/\n    #bbp-tco-calc-module {\n      --bbp-primary: #1848C0;\n      --bbp-accent: #F0C018;\n      --bbp-text: #111827;\n      --bbp-muted: #6b7280;\n      --bbp-soft-bg: #f8fafc;\n      --bbp-card-bg: #ffffff;\n      --bbp-border: #e2e8f0;\n      --bbp-error-bg: #fef2f2;\n      --bbp-error-border: #fca5a5;\n      \n      width: 100% !important;\n      padding: 40px 0 !important;\n      margin: 0 !important;\n      background-color: var(--bbp-soft-bg);\n      box-sizing: border-box;\n      display: flex;\n      justify-content: center;\n    }\n\n    #bbp-tco-calc-module *, \n    #bbp-tco-calc-module *::before, \n    #bbp-tco-calc-module *::after {\n      box-sizing: inherit;\n    }\n\n    #bbp-tco-calc-module .bbp-tco-container {\n      width: 100%;\n      max-width: 1200px; \/* Fluid wide layout *\/\n      background: var(--bbp-card-bg);\n      border: 1px solid var(--bbp-border);\n      border-radius: 0; \/* Flat, precision industrial look *\/\n      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);\n      overflow: hidden;\n      margin: 0 20px;\n    }\n\n    \/* Header Section *\/\n    #bbp-tco-calc-module .bbp-tco-header {\n      background: var(--bbp-primary);\n      color: #ffffff;\n      padding: 32px 40px;\n    }\n\n    \/* Semantic H2 controlled entirely by class *\/\n    #bbp-tco-calc-module .bbp-tco-title {\n      margin: 0 0 8px 0 !important;\n      font-size: 32px !important; \/* Default title size requested *\/\n      font-weight: 700 !important;\n      line-height: 1.2 !important;\n      color: #ffffff !important;\n      padding: 0 !important;\n      border: none !important;\n    }\n\n    #bbp-tco-calc-module .bbp-tco-desc {\n      margin: 0 !important;\n      font-size: 16px !important;\n      opacity: 0.9;\n      line-height: 1.5 !important;\n    }\n\n    \/* Body & Form Layout *\/\n    #bbp-tco-calc-module .bbp-tco-body {\n      padding: 40px;\n      color: var(--bbp-text);\n    }\n\n    #bbp-tco-calc-module .bbp-form-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n      gap: 20px;\n    }\n\n    #bbp-tco-calc-module .bbp-form-group {\n      display: flex;\n      flex-direction: column;\n    }\n\n    #bbp-tco-calc-module .bbp-label {\n      font-size: 15px !important;\n      font-weight: 600 !important;\n      margin-bottom: 8px !important;\n      color: var(--bbp-text);\n    }\n\n    #bbp-tco-calc-module .bbp-hint {\n      color: var(--bbp-muted);\n      font-weight: 400;\n      font-size: 13px;\n    }\n\n    #bbp-tco-calc-module .bbp-input {\n      width: 100%;\n      padding: 12px 16px;\n      border: 1px solid var(--bbp-border);\n      border-radius: 0;\n      font-size: 16px !important;\n      background-color: #ffffff;\n      color: var(--bbp-text);\n      transition: all 0.2s ease;\n      -webkit-appearance: none;\n      appearance: none;\n    }\n\n    #bbp-tco-calc-module .bbp-input:focus {\n      outline: none;\n      border-color: var(--bbp-primary);\n      box-shadow: 0 0 0 1px var(--bbp-primary);\n    }\n\n    \/* Actions *\/\n    #bbp-tco-calc-module .bbp-actions {\n      margin-top: 32px;\n      border-bottom: 1px solid var(--bbp-border);\n      padding-bottom: 32px;\n    }\n\n    #bbp-tco-calc-module .bbp-btn-primary {\n      display: inline-flex;\n      background: var(--bbp-primary);\n      color: #ffffff !important;\n      padding: 12px 28px;\n      border-radius: 0;\n      border: none;\n      font-size: 16px !important;\n      font-weight: 600 !important;\n      cursor: pointer;\n      transition: background 0.2s ease;\n    }\n\n    #bbp-tco-calc-module .bbp-btn-primary:hover {\n      background: #0f3495;\n    }\n\n    \/* Result Panel *\/\n    #bbp-tco-calc-module .bbp-result {\n      display: none;\n      margin-top: 32px;\n      animation: bbpFadeIn 0.4s ease forwards;\n    }\n\n    #bbp-tco-calc-module .bbp-result.bbp-show {\n      display: block;\n    }\n\n    @keyframes bbpFadeIn {\n      from { opacity: 0; transform: translateY(10px); }\n      to { opacity: 1; transform: translateY(0); }\n    }\n\n    \/* Semantic H3 *\/\n    #bbp-tco-calc-module .bbp-result-title {\n      margin: 0 0 16px 0 !important;\n      color: var(--bbp-primary) !important;\n      font-size: 20px !important;\n      font-weight: 700 !important;\n      padding: 0 !important;\n    }\n\n    \/* Visualization Elements *\/\n    #bbp-tco-calc-module .bbp-bar-stack {\n      display: flex;\n      height: 32px;\n      border-radius: 0;\n      overflow: hidden;\n      margin: 16px 0 8px;\n      background: var(--bbp-border);\n    }\n\n    #bbp-tco-calc-module .bbp-bar-stack div {\n      height: 100%;\n      transition: flex 0.5s ease;\n    }\n\n    #bbp-tco-calc-module .bbp-legend {\n      font-size: 14px;\n      color: var(--bbp-muted);\n      display: flex;\n      flex-wrap: wrap;\n      gap: 16px;\n      margin-bottom: 24px;\n    }\n\n    #bbp-tco-calc-module .bbp-legend span {\n      display: inline-flex;\n      align-items: center;\n    }\n\n    #bbp-tco-calc-module .bbp-legend span::before {\n      content: \"\";\n      display: inline-block;\n      width: 12px;\n      height: 12px;\n      margin-right: 6px;\n      border-radius: 2px;\n    }\n    #bbp-tco-calc-module .bbp-legend .k1::before { background: var(--bbp-primary); }\n    #bbp-tco-calc-module .bbp-legend .k2::before { background: var(--bbp-accent); }\n    #bbp-tco-calc-module .bbp-legend .k3::before { background: #4b5563; }\n    #bbp-tco-calc-module .bbp-legend .k4::before { background: #94a3b8; }\n\n    #bbp-tco-calc-module .bbp-split {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n      gap: 16px;\n      margin: 24px 0;\n    }\n\n    #bbp-tco-calc-module .bbp-split-item {\n      background: var(--bbp-soft-bg);\n      border: 1px solid var(--bbp-border);\n      padding: 20px;\n      text-align: center;\n    }\n\n    #bbp-tco-calc-module .bbp-split-item strong {\n      display: block;\n      font-size: 24px;\n      color: var(--bbp-primary);\n      margin-bottom: 4px;\n      line-height: 1.2;\n    }\n\n    #bbp-tco-calc-module .bbp-split-item span {\n      color: var(--bbp-muted);\n      font-size: 14px;\n      line-height: 1.4;\n    }\n\n    \/* Total Row *\/\n    #bbp-tco-calc-module .bbp-total-row {\n      margin-top: 24px;\n      padding: 24px;\n      background: #fffbdf; \/* Extremely soft tint of accent *\/\n      border: 1px solid var(--bbp-accent);\n      border-left: 6px solid var(--bbp-accent);\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      flex-wrap: wrap;\n      gap: 12px;\n    }\n\n    #bbp-tco-calc-module .bbp-total-row span {\n      font-size: 18px;\n      font-weight: 600;\n      color: var(--bbp-text);\n    }\n\n    #bbp-tco-calc-module .bbp-total-row strong {\n      color: var(--bbp-primary);\n      font-size: 32px;\n      line-height: 1.2;\n    }\n\n    \/* CTA Area *\/\n    #bbp-tco-calc-module .bbp-cta-row {\n      margin-top: 32px;\n    }\n\n    #bbp-tco-calc-module .bbp-cta-primary {\n      display: inline-block;\n      background: var(--bbp-primary);\n      color: #ffffff !important;\n      padding: 12px 24px;\n      border-radius: 0;\n      text-decoration: none;\n      font-weight: 600;\n      transition: background 0.2s ease;\n      font-size: 16px;\n    }\n\n    #bbp-tco-calc-module .bbp-cta-primary:hover {\n      background: #0f3495;\n    }\n\n    #bbp-tco-calc-module .bbp-note {\n      font-size: 13px;\n      color: var(--bbp-muted);\n      margin-top: 24px;\n      line-height: 1.5;\n      padding-top: 24px;\n      border-top: 1px solid var(--bbp-border);\n    }\n\n    \/* Error Validation *\/\n    #bbp-tco-calc-module .bbp-error-msg {\n      display: none;\n      padding: 12px 16px;\n      background: var(--bbp-error-bg);\n      color: #b91c1c;\n      border: 1px solid var(--bbp-error-border);\n      margin-top: 16px;\n      font-weight: 600;\n      font-size: 15px;\n    }\n\n    \/* Responsive adjustments *\/\n    @media (max-width:690px) {\n      #bbp-tco-calc-module {\n        padding: 24px 0 !important;\n      }\n      #bbp-tco-calc-module .bbp-tco-header {\n        padding: 24px;\n      }\n      #bbp-tco-calc-module .bbp-tco-body {\n        padding: 24px;\n      }\n      #bbp-tco-calc-module .bbp-btn-primary {\n        width: 100%;\n        justify-content: center;\n      }\n      #bbp-tco-calc-module .bbp-total-row {\n        flex-direction: column;\n        align-items: flex-start;\n      }\n    }\n  <\/style>\n\n  <div class=\"bbp-tco-container\">\n    <header class=\"bbp-tco-header\">\n      <h2 class=\"bbp-tco-title\">Pump Lifecycle Cost (TCO) Calculator<\/h2>\n      <p class=\"bbp-tco-desc\">Estimate the 10-year total cost of ownership. Split-factors are based on Hydraulic Institute and U.S. DOE pump LCC methodology.<\/p>\n    <\/header>\n    \n    <div class=\"bbp-tco-body\">\n      <div class=\"bbp-form-grid\">\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-motor\">Motor rated power <span class=\"bbp-hint\">(kW)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-motor\" min=\"0.37\" max=\"200\" step=\"0.1\" value=\"11\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-hours\">Running hours per year <span class=\"bbp-hint\">(h\/yr)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-hours\" min=\"100\" max=\"8760\" step=\"100\" value=\"4000\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-load\">Motor load factor <span class=\"bbp-hint\">(fraction of rated kW, 0.6-0.95)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-load\" min=\"0.3\" max=\"1\" step=\"0.05\" value=\"0.85\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-tariff\">Electricity tariff <span class=\"bbp-hint\">(USD\/kWh)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-tariff\" min=\"0.04\" max=\"0.50\" step=\"0.01\" value=\"0.10\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-pumpcost\">Pump + install capex <span class=\"bbp-hint\">(USD)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-pumpcost\" min=\"500\" max=\"200000\" step=\"500\" value=\"4500\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-maint\">Annual maintenance cost <span class=\"bbp-hint\">(USD\/yr)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-maint\" min=\"0\" max=\"50000\" step=\"100\" value=\"600\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-years\">Planning horizon <span class=\"bbp-hint\">(years)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-years\" min=\"3\" max=\"20\" step=\"1\" value=\"10\">\n        <\/div>\n        <div class=\"bbp-form-group\">\n          <label class=\"bbp-label\" for=\"bbp-downtime\">Expected downtime cost <span class=\"bbp-hint\">(USD, total over horizon)<\/span><\/label>\n          <input class=\"bbp-input\" type=\"number\" id=\"bbp-downtime\" min=\"0\" max=\"200000\" step=\"500\" value=\"3000\">\n        <\/div>\n      <\/div>\n      \n      <div class=\"bbp-actions\">\n        <button class=\"bbp-btn-primary\" onclick=\"runBbpTcoCalc()\">Calculate TCO<\/button>\n        <div id=\"bbp-error-msg\" class=\"bbp-error-msg\">Please fill all fields with valid positive numbers.<\/div>\n      <\/div>\n      \n      <div id=\"bbp-result-panel\" class=\"bbp-result\" role=\"status\" aria-live=\"polite\">\n        <h3 class=\"bbp-result-title\">TCO Breakdown<\/h3>\n        \n        <div class=\"bbp-bar-stack\" id=\"bbp-bar-stack\"><\/div>\n        \n        <div class=\"bbp-legend\">\n          <span class=\"k1\">Initial + install<\/span>\n          <span class=\"k2\">Energy<\/span>\n          <span class=\"k3\">Maintenance<\/span>\n          <span class=\"k4\">Downtime + disposal<\/span>\n        <\/div>\n        \n        <div class=\"bbp-split\" id=\"bbp-split-container\"><\/div>\n        \n        <div class=\"bbp-total-row\">\n          <span>Total cost of ownership (<span id=\"bbp-dynamic-yr\">10<\/span> yr)<\/span>\n          <strong id=\"bbp-dynamic-total\">\u2014<\/strong>\n        <\/div>\n        \n        <div class=\"bbp-cta-row\">\n          <a class=\"bbp-cta-primary\" href=\"#ct-popup-820\">Get a duty-point-specific TCO model from BBP<\/a>\n        <\/div>\n      <\/div>\n      \n      <div class=\"bbp-note\">\n        Framework references: Hydraulic Institute, <em>Pump Pros Know \u2014 Lifecycle Cost Analysis<\/em>; U.S. Department of Energy, <em>Pump Life Cycle Costs Guide.<\/em><br>\n        Figures are directional; your energy tariff, duty cycle and local service rates will shift splits.\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<script>\n  function formatBbpCurrency(x){\n    if (x >= 1e6) return '$' + (x \/ 1e6).toFixed(2) + 'M';\n    if (x >= 1000) return '$' + (x \/ 1000).toFixed(1) + 'k';\n    return '$' + x.toFixed(0);\n  }\n\n  function runBbpTcoCalc(){\n    const motor = parseFloat(document.getElementById('bbp-motor').value);\n    const hours = parseFloat(document.getElementById('bbp-hours').value);\n    const load  = parseFloat(document.getElementById('bbp-load').value);\n    const tariff= parseFloat(document.getElementById('bbp-tariff').value);\n    const capex = parseFloat(document.getElementById('bbp-pumpcost').value);\n    const maint = parseFloat(document.getElementById('bbp-maint').value);\n    const years = parseFloat(document.getElementById('bbp-years').value);\n    const dt    = parseFloat(document.getElementById('bbp-downtime').value);\n    \n    const errorMsg = document.getElementById('bbp-error-msg');\n    const resultPanel = document.getElementById('bbp-result-panel');\n\n    \/\/ Validation\n    if (![motor,hours,load,tariff,capex,maint,years,dt].every(v => isFinite(v) && v >= 0)){\n      errorMsg.style.display = 'block';\n      resultPanel.classList.remove('bbp-show');\n      return;\n    }\n    \n    errorMsg.style.display = 'none';\n\n    \/\/ Core Logic\n    const energyKWhYr = motor * load * hours;\n    const energyCostYr = energyKWhYr * tariff;\n    const energyTotal = energyCostYr * years;\n    const maintTotal = maint * years;\n    const dispose = capex * 0.04;\n    const total = capex + energyTotal + maintTotal + dt + dispose;\n\n    const segs = [\n      { k: 'k1', label: 'Initial + install', v: capex },\n      { k: 'k2', label: 'Energy', v: energyTotal },\n      { k: 'k3', label: 'Maintenance', v: maintTotal },\n      { k: 'k4', label: 'Downtime + disposal', v: dt + dispose }\n    ];\n    \n    const colors = { k1: 'var(--bbp-primary)', k2: 'var(--bbp-accent)', k3: '#4b5563', k4: '#94a3b8' };\n\n    \/\/ Update DOM (Isolating innerHTML updates away from the CTA link)\n    const barStack = document.getElementById('bbp-bar-stack');\n    barStack.innerHTML = segs.map(s => {\n      const pct = (s.v \/ total) * 100;\n      return `<div style=\"flex:${pct}; background:${colors[s.k]};\" title=\"${s.label}: ${pct.toFixed(1)}%\"><\/div>`;\n    }).join('');\n\n    const splitContainer = document.getElementById('bbp-split-container');\n    splitContainer.innerHTML = segs.map(s => {\n      const pct = (s.v \/ total * 100).toFixed(1);\n      return `<div class=\"bbp-split-item\"><strong>${formatBbpCurrency(s.v)}<\/strong><span>${s.label}<br>${pct}%<\/span><\/div>`;\n    }).join('');\n\n    document.getElementById('bbp-dynamic-total').textContent = formatBbpCurrency(total);\n    document.getElementById('bbp-dynamic-yr').textContent = years;\n    \n    \/\/ Reveal Result Panel\n    resultPanel.classList.add('bbp-show');\n  }\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pump Lifecycle Cost (TCO) Calculator Estimate the 10-year total cost of ownership. Split-factors are based on Hydraulic Institute and U.S. DOE pump LCC methodology. Motor rated power (kW) Running hours per year (h\/yr) Motor load factor (fraction of rated kW, 0.6-0.95) Electricity tariff (USD\/kWh) Pump + install capex (USD) Annual maintenance cost (USD\/yr) Planning horizon [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":1728,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-1821","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/1821","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/comments?post=1821"}],"version-history":[{"count":0,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/1821\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/pages\/1728"}],"wp:attachment":[{"href":"https:\/\/bbpmfg.com\/es\/wp-json\/wp\/v2\/media?parent=1821"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}