{"id":2451,"date":"2026-05-12T03:05:20","date_gmt":"2026-05-12T03:05:20","guid":{"rendered":"https:\/\/masstechx.com\/?page_id=2451"},"modified":"2026-05-12T03:31:24","modified_gmt":"2026-05-12T03:31:24","slug":"roi-calculator","status":"publish","type":"page","link":"https:\/\/masstechx.com\/fr\/beer-filling-machine\/roi-calculator\/","title":{"rendered":"Remplissage de masse de bi\u00e8re Calculatrice ROI"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-3e352f3\" data-block-id=\"3e352f3\"><style>.stk-3e352f3 {margin-bottom:35px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-3e352f3-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-4741301\" data-v=\"4\" data-block-id=\"4741301\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-4741301-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-4741301-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-8bf1a30\" data-block-id=\"8bf1a30\"><style>.stk-8bf1a30-column{--stk-columns-spacing:var(--stk--preset--spacing--40, 1rem) !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-8bf1a30-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-4a527cf\" data-v=\"4\" data-block-id=\"4a527cf\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-4a527cf-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-4a527cf-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-fed364b\" data-block-id=\"fed364b\"><style>.stk-fed364b {margin-bottom:0px !important;}<\/style><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-fed364b-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-ac82ed8\" data-v=\"4\" data-block-id=\"ac82ed8\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-ac82ed8-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-ac82ed8-inner-blocks\">\n<section id=\"mass-roi-calc-v2\" class=\"mass-section-wrapper\">\n    <style>\n        \/* =========================================================\n           1. \u9876\u7ea7\u9694\u79bb\u4e0e\u5e95\u5c42\u91cd\u7f6e (Top-level Isolation & Reset)\n           ========================================================= *\/\n        #mass-roi-calc-v2 {\n            width: 100% !important;\n            background-color: #fdfdfd !important;\n            \/* \u5168\u5c4f\u8d2f\u7a7f\u7684\u7cbe\u5bc6\u5de5\u7a0b\u5e95\u7eb9\uff0c\u6d88\u706d\u89c6\u89c9\u7559\u767d *\/\n            background-image: \n                linear-gradient(rgba(0, 120, 192, 0.03) 1px, transparent 1px),\n                linear-gradient(90deg, rgba(0, 120, 192, 0.03) 1px, transparent 1px) !important;\n            background-size: 40px 40px !important;\n            padding: 60px 0 !important; \/* \u9075\u5faa 30-60px padding \u8981\u6c42 *\/\n            box-sizing: border-box !important;\n            overflow: hidden !important;\n            line-height: 1.6 !important;\n            color: #333333 !important;\n            \/* \u4e25\u683c\u7981\u6b62\u5f15\u5165\u5916\u5e93\u5b57\u4f53\uff0c\u7ee7\u627f Blocksy \u9ed8\u8ba4\u5b57\u4f53 *\/\n            position: relative !important;\n            border-top: 1px solid #eeeeee !important;\n            border-bottom: 1px solid #eeeeee !important;\n        }\n\n        #mass-roi-calc-v2 * {\n            box-sizing: border-box !important;\n            margin: 0;\n            padding: 0;\n        }\n\n        \/* \u80cc\u666f\u5de8\u578b\u6c34\u5370\uff0c\u589e\u52a0\u7a7a\u95f4\u7eb5\u6df1\u611f *\/\n        #mass-roi-calc-v2::before {\n            content: \"CALCULATOR\" !important;\n            position: absolute !important;\n            top: 20px !important;\n            right: 5% !important;\n            font-size: 140px !important;\n            font-weight: 900 !important;\n            color: rgba(0, 120, 192, 0.02) !important;\n            pointer-events: none !important;\n            z-index: 0 !important;\n            letter-spacing: 5px !important;\n        }\n\n        \/* =========================================================\n           2. \u5f39\u6027\u951a\u5b9a\u5bb9\u5668 (Anchored Container)\n           ========================================================= *\/\n        #mass-roi-calc-v2 .mass-roi-container {\n            max-width: 1600px !important;\n            margin: 0 auto !important;\n            padding: 0 40px !important;\n            display: flex !important;\n            flex-direction: column !important;\n            gap: 30px !important;\n            position: relative !important;\n            z-index: 2 !important;\n        }\n\n        \/* =========================================================\n           3. SEO \u6807\u9898\u7cfb\u7edf\u6392\u7248 (Native H-Tags with strict Classes)\n           ========================================================= *\/\n        #mass-roi-calc-v2 .mass-h2-title {\n            font-size: 32px !important; \/* \u9075\u5faa\u4e3b\u9898 32px \u8981\u6c42 *\/\n            color: #0078C0 !important; \/* \u4e3b\u8272\u8c03 *\/\n            font-weight: 800 !important;\n            margin-bottom: 15px !important;\n            text-transform: uppercase !important;\n            display: flex !important;\n            align-items: center !important;\n            gap: 15px !important;\n            letter-spacing: -0.5px !important;\n        }\n\n        #mass-roi-calc-v2 .mass-h2-title::before {\n            content: \"\" !important;\n            display: inline-block !important;\n            width: 8px !important;\n            height: 32px !important;\n            background-color: #7860A8 !important; \/* \u526f\u8272\u8c03\u951a\u70b9 *\/\n        }\n\n        #mass-roi-calc-v2 .mass-subtitle-p {\n            font-size: 16px !important;\n            color: #555555 !important;\n            max-width: 1300px !important;\n            text-align: justify !important;\n            margin-bottom: 15px !important;\n        }\n\n        \/* =========================================================\n           4. \u53cc\u5854\u63a7\u5236\u53f0\u7f51\u683c (Dual-Tower Console Grid)\n           ========================================================= *\/\n        #mass-roi-calc-v2 .mass-roi-grid {\n            display: grid !important;\n            grid-template-columns: 1.2fr 1fr !important;\n            gap: 0 !important; \/* \u65e0\u7f1d\u62fc\u63a5 *\/\n            background: #ffffff !important;\n            border: 1px solid #eeeeee !important;\n            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08) !important;\n            margin-top: 10px !important;\n        }\n\n        \/* --- \u5de6\u4fa7\uff1a\u7cbe\u5bc6\u8f93\u5165\u7ec8\u7aef (Inputs Area) --- *\/\n        #mass-roi-calc-v2 .mass-roi-inputs-col {\n            padding: 50px 60px !important;\n            background: #ffffff !important;\n            position: relative !important;\n        }\n\n        \/* \u5185\u90e8\u8f93\u5165\u4e24\u5217\u7f51\u683c *\/\n        #mass-roi-calc-v2 .mass-inputs-wrap {\n            display: grid !important;\n            grid-template-columns: 1fr !important;\n            gap: 25px 35px !important;\n        }\n\n        #mass-roi-calc-v2 .mass-input-group {\n            display: flex !important;\n            flex-direction: column !important;\n        }\n\n        #mass-roi-calc-v2 .mass-label {\n            font-size: 13px !important;\n            font-weight: 700 !important;\n            color: #111111 !important;\n            margin-bottom: 8px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n        }\n\n        #mass-roi-calc-v2 .mass-unit {\n            color: #7860A8 !important; \/* \u526f\u8272\u8c03\u6807\u6ce8\u5355\u4f4d *\/\n            font-weight: 600 !important;\n            text-transform: none !important;\n            letter-spacing: 0 !important;\n        }\n\n        \/* \u5de5\u4e1a\u7ea7\u786c\u6717\u8f93\u5165\u6846 *\/\n        #mass-roi-calc-v2 .mass-control {\n            width: 100% !important;\n            height: 50px !important;\n            font-size: 16px !important;\n            color: #0078C0 !important;\n            font-weight: 700 !important;\n            background: #f8f9fa !important;\n            border: 2px solid #e1e5ec !important;\n            padding: 0 16px !important;\n            outline: none !important;\n            border-radius: 0 !important; \/* \u62d2\u7edd\u5706\u89d2\uff0c\u4fdd\u6301\u786c\u6717 *\/\n            transition: border-color 0.3s ease !important;\n        }\n\n        #mass-roi-calc-v2 .mass-control:focus {\n            border-color: #0078C0 !important;\n            background: #ffffff !important;\n        }\n\n        #mass-roi-calc-v2 select.mass-control {\n            -webkit-appearance: none !important;\n            appearance: none !important;\n            background-image: url(\"data:image\/svg+xml,%3Csvg width='12' height='8' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230078C0' stroke-width='2' fill='none'\/%3E%3C\/svg%3E\") !important;\n            background-repeat: no-repeat !important;\n            background-position: right 16px center !important;\n            padding-right: 40px !important;\n            cursor: pointer !important;\n        }\n\n        \/* --- \u53f3\u4fa7\uff1a\u6570\u636e\u5206\u6790\u77e9\u9635 (Dark Results Dashboard) --- *\/\n        #mass-roi-calc-v2 .mass-roi-results-col {\n            background: linear-gradient(135deg, #0078C0 0%, #004d7a 100%) !important;\n            padding: 50px 60px !important;\n            color: #ffffff !important;\n            display: flex !important;\n            flex-direction: column !important;\n            position: relative !important;\n            overflow: hidden !important;\n        }\n\n        \/* \u6570\u636e\u533a\u80cc\u666f\u659c\u7eb9 *\/\n        #mass-roi-calc-v2 .mass-roi-results-col::before {\n            content: \"\" !important;\n            position: absolute !important;\n            top: 0 !important;\n            right: 0 !important;\n            width: 100% !important;\n            height: 100% !important;\n            background: repeating-linear-gradient(\n                -45deg,\n                transparent,\n                transparent 15px,\n                rgba(255, 255, 255, 0.05) 15px,\n                rgba(255, 255, 255, 0.05) 30px\n            ) !important;\n            pointer-events: none !important;\n            z-index: 0 !important;\n        }\n\n        #mass-roi-calc-v2 .mass-h3-title {\n            font-size: 24px !important;\n            color: #ffffff !important;\n            font-weight: 800 !important;\n            margin-bottom: 30px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 1px !important;\n            position: relative !important;\n            z-index: 2 !important;\n            border-bottom: 2px solid rgba(255,255,255,0.2) !important;\n            padding-bottom: 15px !important;\n        }\n\n        #mass-roi-calc-v2 .mass-metric-card {\n            background: rgba(255, 255, 255, 0.08) !important;\n            border-left: 5px solid #7860A8 !important; \/* \u526f\u8272\u8c03\u538b\u8fb9 *\/\n            padding: 20px 25px !important;\n            margin-bottom: 15px !important;\n            position: relative !important;\n            z-index: 2 !important;\n            backdrop-filter: blur(5px) !important;\n        }\n\n        #mass-roi-calc-v2 .mass-metric-label {\n            font-size: 13px !important;\n            color: rgba(255,255,255,0.85) !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n            font-weight: 700 !important;\n        }\n\n        #mass-roi-calc-v2 .mass-metric-value {\n            font-size: 32px !important;\n            font-weight: 800 !important;\n            color: #ffffff !important;\n            margin: 5px 0 !important;\n            line-height: 1.2 !important;\n        }\n\n        #mass-roi-calc-v2 .mass-metric-ctx {\n            font-size: 13px !important;\n            color: rgba(255,255,255,0.7) !important;\n            line-height: 1.4 !important;\n        }\n\n        \/* \u52a8\u4f5c\u6309\u94ae *\/\n        #mass-roi-calc-v2 .mass-cta-row {\n            margin-top: auto !important; \/* \u63a8\u5230\u5e95\u90e8 *\/\n            padding-top: 30px !important;\n            position: relative !important;\n            z-index: 2 !important;\n        }\n\n        #mass-roi-calc-v2 .mass-cta-btn {\n            display: inline-flex !important;\n            align-items: center !important;\n            justify-content: center !important;\n            width: 100% !important;\n            padding: 20px !important;\n            background: #ffffff !important;\n            color: #0078C0 !important;\n            font-weight: 800 !important;\n            text-decoration: none !important;\n            font-size: 16px !important;\n            text-transform: uppercase !important;\n            letter-spacing: 0.5px !important;\n            transition: all 0.3s ease !important;\n            border: 2px solid #ffffff !important;\n        }\n\n        #mass-roi-calc-v2 .mass-cta-btn:hover {\n            background: #7860A8 !important; \/* \u60ac\u505c\u5207\u526f\u8272\u8c03 *\/\n            color: #ffffff !important;\n            border-color: #7860A8 !important;\n        }\n\n        \/* =========================================================\n           5. \u5e95\u90e8\u4e25\u8c28\u58f0\u660e\u533a (Disclaimer)\n           ========================================================= *\/\n        #mass-roi-calc-v2 .mass-disclaimer-box {\n            font-size: 13px !important;\n            color: #666666 !important;\n            line-height: 1.6 !important;\n            padding-top: 20px !important;\n            border-top: 1px dashed #cccccc !important;\n            text-align: justify !important;\n            margin-top: 10px !important;\n        }\n\n        \/* =========================================================\n           6. \u54cd\u5e94\u5f0f\u89c4\u5219 (Responsive Design)\n           ========================================================= *\/\n        @media (max-width: 1200px) {\n            #mass-roi-calc-v2 .mass-inputs-wrap { grid-template-columns: 1fr !important; gap: 20px !important;}\n        }\n        @media (max-width:1000px) {\n            #mass-roi-calc-v2 .mass-roi-grid { grid-template-columns: 1fr !important; }\n            #mass-roi-calc-v2 .mass-roi-inputs-col { padding: 40px !important; }\n            #mass-roi-calc-v2 .mass-roi-results-col { padding: 40px !important; }\n        }\n        @media (max-width:690px) {\n            #mass-roi-calc-v2 .mass-roi-container { padding: 0 20px !important; }\n            #mass-roi-calc-v2 .mass-h2-title { font-size: 26px !important; }\n            #mass-roi-calc-v2 .mass-roi-inputs-col,\n            #mass-roi-calc-v2 .mass-roi-results-col { padding: 30px 20px !important; }\n        }\n    <\/style>\n\n    <div class=\"mass-roi-container\">\n        \n        <!-- \u5934\u90e8\u6587\u672c\u533a -->\n        <div class=\"mass-header-area\">\n            <h1 class=\"mass-h2-title\">Beer Filling Line ROI &#038; Payback Calculator<\/h1>\n            <p class=\"mass-subtitle-p\">\n                Estimate payback period, capacity utilization, and cost-per-package for a Mass beer filling line versus your current operation. Inputs are saved locally; nothing is transmitted until you request a quote.\n            <\/p>\n        <\/div>\n\n        <!-- \u6838\u5fc3\u5de5\u4e1a\u63a7\u5236\u53f0\u7f51\u683c -->\n        <div class=\"mass-roi-grid\">\n            \n            <!-- \u5de6\u4fa7\uff1a\u8f93\u5165\u7ec8\u7aef -->\n            <div class=\"mass-roi-inputs-col\">\n                <div class=\"mass-inputs-wrap\">\n                    \n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"annual_hl\">Target annual production <span class=\"mass-unit\">(hl\/year)<\/span><\/label>\n                        <input class=\"mass-control\" type=\"number\" id=\"annual_hl\" min=\"100\" max=\"500000\" value=\"3000\" step=\"100\">\n                    <\/div>\n\n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"format\">Primary package format<\/label>\n                        <select class=\"mass-control\" id=\"format\">\n                            <option value=\"bottle\">Glass bottles (BPH)<\/option>\n                            <option value=\"can\">Aluminum cans (CPH)<\/option>\n                            <option value=\"hybrid\">Hybrid bottle + can<\/option>\n                        <\/select>\n                    <\/div>\n\n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"ops_hours\">Filling hours per week <span class=\"mass-unit\">(target)<\/span><\/label>\n                        <input class=\"mass-control\" type=\"number\" id=\"ops_hours\" min=\"4\" max=\"100\" value=\"32\" step=\"1\">\n                    <\/div>\n\n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"current_bph\">Current line throughput <span class=\"mass-unit\">(BPH or CPH)<\/span><\/label>\n                        <input class=\"mass-control\" type=\"number\" id=\"current_bph\" min=\"0\" max=\"50000\" value=\"800\" step=\"100\">\n                    <\/div>\n\n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"margin\">Gross margin per package <span class=\"mass-unit\">(USD, after COGS &#038; packaging)<\/span><\/label>\n                        <input class=\"mass-control\" type=\"number\" id=\"margin\" min=\"0.05\" max=\"20\" value=\"0.85\" step=\"0.05\">\n                    <\/div>\n\n                    <div class=\"mass-input-group\">\n                        <label class=\"mass-label\" for=\"loss_pct\">Current filling loss \/ underfill rate <span class=\"mass-unit\">(%)<\/span><\/label>\n                        <input class=\"mass-control\" type=\"number\" id=\"loss_pct\" min=\"0\" max=\"20\" value=\"4\" step=\"0.5\">\n                    <\/div>\n\n                <\/div>\n            <\/div>\n\n            <!-- \u53f3\u4fa7\uff1a\u6570\u636e\u5206\u6790\u77e9\u9635 -->\n            <div class=\"mass-roi-results-col\" id=\"results\">\n                <h3 class=\"mass-h3-title\">Estimated Outcomes<\/h3>\n                \n                <div class=\"mass-metric-card\">\n                    <div class=\"mass-metric-label\">Recommended Mass Configuration<\/div>\n                    <div class=\"mass-metric-value\" id=\"r_config\">\u2014<\/div>\n                    <div class=\"mass-metric-ctx\" id=\"r_config_ctx\">Adjust inputs to see configuration<\/div>\n                <\/div>\n                \n                <div class=\"mass-metric-card\">\n                    <div class=\"mass-metric-label\">Capacity Utilization at Target Hours<\/div>\n                    <div class=\"mass-metric-value\" id=\"r_util\">\u2014<\/div>\n                    <div class=\"mass-metric-ctx\" id=\"r_util_ctx\">\u2014<\/div>\n                <\/div>\n                \n                <div class=\"mass-metric-card\">\n                    <div class=\"mass-metric-label\">Annual Loss Recovery (vs current)<\/div>\n                    <div class=\"mass-metric-value\" id=\"r_loss\">\u2014<\/div>\n                    <div class=\"mass-metric-ctx\">Filling loss reduction \u00d7 annual margin<\/div>\n                <\/div>\n                \n                <div class=\"mass-metric-card\">\n                    <div class=\"mass-metric-label\">Estimated Payback Period<\/div>\n                    <div class=\"mass-metric-value\" id=\"r_payback\">\u2014<\/div>\n                    <div class=\"mass-metric-ctx\" id=\"r_payback_ctx\">Capex range \/ annual recovery<\/div>\n                <\/div>\n\n                <div class=\"mass-cta-row\">\n                    <a href=\"#ct-popup-813\" class=\"mass-cta-btn\">Request Verified Quote \u2192<\/a>\n                <\/div>\n            <\/div>\n\n        <\/div>\n\n        <!-- \u5e95\u90e8\u58f0\u660e\u533a\u57df -->\n        <div class=\"mass-disclaimer-box\">\n            Estimate model \u2014 Mass uses industry-typical isobaric line capex ranges and a 0.5% filling-loss target on Mass equipment as the comparison baseline. Capex bands draw from FOB China pricing benchmarked against alibaba.com, made-in-china.com, ProBrewer classifieds, and US craft equipment makers. Real payback depends on your distribution channels, financing, and electrical\/integration scope (see Hidden Cost Framework on the main page). Final figures require an engineer-reviewed configuration.\n        <\/div>\n\n    <\/div>\n\n    <!-- \u539f\u751f Vanilla JS \u6838\u5fc3\u8ba1\u7b97\u903b\u8f91 (\u4e25\u683c\u4fdd\u7559\u7528\u6237\u539f\u59cb\u903b\u8f91) -->\n    <script>\n    (function(){\n        const $ = id => document.getElementById(id);\n        const fmt = n => n.toLocaleString('en-US', {maximumFractionDigits: 0});\n        const fmtMoney = n => '$' + n.toLocaleString('en-US', {maximumFractionDigits: 0});\n\n        function recommend(annualHL, format, opsHours) {\n            \/\/ Convert hl\/year to packages\/year (assume 350 ml avg = ~286 packages\/hl for bottles, ~303 for cans)\n            const pkgPerHL = format === 'can' ? 303 : (format === 'hybrid' ? 295 : 286);\n            const annualPackages = annualHL * pkgPerHL;\n            const requiredPerHour = annualPackages \/ (opsHours * 50); \/\/ 50 working weeks\n            let tier, capexLow, capexHigh, configName;\n            \n            if (format === 'bottle' || format === 'hybrid') {\n                if (requiredPerHour < 4000)        { tier = 'Entry-level semi-auto'; capexLow = 50000;  capexHigh = 150000;  configName = 'Entry semi-auto monoblock 2,000\u20134,000 BPH'; }\n                else if (requiredPerHour < 12000)  { tier = 'Mid-range automatic';   capexLow = 150000; capexHigh = 400000;  configName = 'Mid automatic monoblock 4,000\u201312,000 BPH'; }\n                else                               { tier = 'Industrial automatic';  capexLow = 400000; capexHigh = 1500000; configName = 'Industrial line 12,000\u201324,000 BPH'; }\n                if (format === 'hybrid') { capexLow *= 1.5; capexHigh *= 1.5; configName = 'Hybrid bottle+can \u2014 ' + configName; }\n            } else { \/\/ can\n                if (requiredPerHour < 4000)        { capexLow = 60000;  capexHigh = 200000; configName = 'Compact rotary can line 2,000\u20134,000 CPH'; }\n                else if (requiredPerHour < 12000)  { capexLow = 150000; capexHigh = 400000; configName = 'Mid automatic can line 4,000\u201312,000 CPH'; }\n                else                               { capexLow = 400000; capexHigh = 1500000; configName = 'Industrial can line 12,000\u201318,000 CPH'; }\n            }\n            return { configName, capexLow, capexHigh, requiredPerHour, annualPackages };\n        }\n\n        function recalc() {\n            const annualHL = parseFloat($('annual_hl').value) || 0;\n            const format = $('format').value;\n            const opsHours = parseFloat($('ops_hours').value) || 1;\n            const currentBPH = parseFloat($('current_bph').value) || 0;\n            const margin = parseFloat($('margin').value) || 0;\n            const lossPct = parseFloat($('loss_pct').value) || 0;\n\n            const rec = recommend(annualHL, format, opsHours);\n\n            $('r_config').textContent = rec.configName;\n            $('r_config_ctx').textContent = `Required throughput: ${fmt(rec.requiredPerHour)} ${format === 'can' ? 'CPH' : 'BPH'} \u00b7 capex range ${fmtMoney(rec.capexLow)}\u2013${fmtMoney(rec.capexHigh)} FOB China`;\n\n            \/\/ Utilization at recommended throughput (use mid-tier capacity)\n            let recCapacity;\n            if (rec.requiredPerHour < 4000) recCapacity = 4000;\n            else if (rec.requiredPerHour < 12000) recCapacity = 8000;\n            else recCapacity = 18000;\n            const utilization = (rec.requiredPerHour \/ recCapacity) * 100;\n            \n            $('r_util').textContent = utilization.toFixed(0) + '%';\n            $('r_util_ctx').textContent = utilization < 50 ? 'Under-utilized \u2014 consider smaller tier or higher hours' :\n                                           utilization < 85 ? 'Healthy headroom for growth' :\n                                           'High utilization \u2014 consider next tier up';\n\n            \/\/ Annual loss recovery: (current loss% - 0.5%) \u00d7 annual packages \u00d7 margin\n            const massLossPct = 0.5;\n            const lossDelta = Math.max(0, lossPct - massLossPct) \/ 100;\n            const annualLossRecovery = lossDelta * rec.annualPackages * margin;\n            $('r_loss').textContent = fmtMoney(annualLossRecovery) + '\/yr';\n\n            \/\/ Payback: midpoint capex \/ (loss recovery + utilization gain)\n            const capexMid = (rec.capexLow + rec.capexHigh) \/ 2;\n            if (annualLossRecovery > 0) {\n                const paybackYrs = capexMid \/ annualLossRecovery;\n                $('r_payback').textContent = paybackYrs < 0.5 ? '< 6 months' : paybackYrs.toFixed(1) + ' years';\n                $('r_payback_ctx').textContent = `Mid-range capex ${fmtMoney(capexMid)} \u00f7 recovery ${fmtMoney(annualLossRecovery)}\/yr (excludes hidden costs \u2014 see main page)`;\n            } else {\n                $('r_payback').textContent = 'N\/A';\n                $('r_payback_ctx').textContent = 'Set current loss% > 0.5% to calculate payback from loss recovery';\n            }\n        }\n        \n        ['annual_hl','format','ops_hours','current_bph','margin','loss_pct'].forEach(id => {\n            const el = $(id);\n            el.addEventListener('input', recalc);\n            el.addEventListener('change', recalc);\n        });\n        recalc();\n    })();\n    <\/script>\n<\/section>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Beer Filling Line ROI &#038; Payback Calculator Estimate payback period, capacity utilization, and cost-per-package for a Mass beer filling line versus your current operation. Inputs are saved locally; nothing is transmitted until you request a quote. Target annual production (hl\/year) Primary package format Glass bottles (BPH)Aluminum cans (CPH)Hybrid bottle + can Filling hours per week [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":1013,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-2451","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/2451","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/comments?post=2451"}],"version-history":[{"count":0,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/2451\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/pages\/1013"}],"wp:attachment":[{"href":"https:\/\/masstechx.com\/fr\/wp-json\/wp\/v2\/media?parent=2451"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}