Make v Buy Calculator Documentation
How the values populating the charts are calculated
The “Make v Buy” utility is an advanced JavaScript module designed to aid organizations in evaluating the financial implications of producing ID cards in-house versus outsourcing the production. This tool provides a thorough analysis by calculating and comparing the costs associated with both approaches over a span of three years. By incorporating a range of variables such as employee turnover, staff growth, equipment costs, and operational expenses, the utility generates detailed cost projections and visual representations. This comprehensive approach allows decision-makers to make informed choices based on a clear understanding of the long-term financial impacts of their ID card production strategy. Below is an in-depth explanation of how the values populating the charts are calculated and utilized to provide this comparative analysis.
Basic Parameters
- Employees per site:
MvB.params.employees - Employee Turnover Percent (%):
MvB.params.turnover - Staff Growth Per Year:
MvB.params.growth - Number of Sites:
MvB.params.sites
Card Production Calculations:
- Yearly Production:
- Year 1:
MvB.params.employees * (1 + (MvB.params.turnover / 100)) - Year 2:
MvB.vars.y1Prod + MvB.staffIncrease(MvB.vars.y1Prod) - Year 3:
MvB.vars.y2Prod + MvB.staffIncrease(MvB.vars.y2Prod)
- Year 1:
In-House Equipment Costs:
- Hardware Cost per Year:
MvB.params.ih_printer_cost / MvB.params.ih_equipment_life - Hardware Maintenance Cost:
MvB.params.ih_printer_cost * (MvB.params.ih_hw_maintenance / 100) - Software Maintenance Cost:
MvB.params.ih_software_cost * (MvB.params.ih_sw_maintenance / 100) - Total Equipment Costs (Yearly): Sum of the above three values, plus initial software cost for year 1.
In-House Support & Setup Costs:
- Setup Cost:
MvB.params.ih_setup_hours * MvB.params.ih_hourlySupport + MvB.params.ih_setup_travel - Annual Support Cost:
MvB.params.ih_tech_support_hours * MvB.params.ih_hourlySupport - Total Support Costs: Setup cost for year 1, plus annual support cost for each year.
In-House Operational Costs:
- Operator Training Cost:
MvB.params.ih_operator_training_hours * MvB.params.ih_hourlyOpPersonnel - Data Input Costs:
- Year 1:
(MvB.vars.y1Prod / MvB.params.ih_cardsPH) * MvB.params.ih_hourlyOpPersonnel - Year 2:
(MvB.vars.y2Prod / MvB.params.ih_cardsPH) * MvB.params.ih_hourlyOpPersonnel - Year 3:
(MvB.vars.y3Prod / MvB.params.ih_cardsPH) * MvB.params.ih_hourlyOpPersonnel
- Year 1:
- Sick Hours Cost:
MvB.params.ih_annual_sick_hours * MvB.params.ih_hourlyOpPersonnel(Year 1, half for Year 2 and 3) - Total Operational Costs: Sum of operator training, data input costs, sick hours costs, and other overheads.
Outsourcing Costs:
- Setup Costs:
MvB.params.ih_hourlySupport * MvB.params.os_tech_support_hours(same for each year) - Operational Costs:
- Training Cost:
MvB.params.ih_hourlyOpPersonnel * MvB.params.os_operator_training_hours(Year 1 only) - Data Input Cost:
- Year 1:
(MvB.vars.y1Prod / MvB.params.os_cardsPH) * MvB.params.ih_hourlyOpPersonnel - Year 2:
(MvB.vars.y2Prod / MvB.params.os_cardsPH) * MvB.params.ih_hourlyOpPersonnel - Year 3:
(MvB.vars.y3Prod / MvB.params.os_cardsPH) * MvB.params.ih_hourlyOpPersonnel
- Year 1:
- Printing Cost:
MvB.params.os_per_card * Yearly Production - Mailing Cost:
MvB.params.os_mailing * Yearly Production - Sick Hours Cost:
MvB.params.os_annualSickHoursOs * MvB.params.ih_hourlyOpPersonnel(Year 1, half for Year 2 and 3)
- Training Cost:
Summary Calculations:
- Total In-House Costs (Yearly): Sum of equipment, support, and operational costs.
- Total Outsourcing Costs (Yearly): Sum of setup and operational costs.
- Cost per Card: Total cost divided by the number of cards produced.
Charts and Comparison:
The script uses these calculated values to populate and compare the costs in various charts (bar and pie charts), illustrating the total costs and cost breakdowns for in-house vs. outsourcing over three years.
The key functions involved in these calculations include:
setCardProd(): Calculates yearly card production.setEquipCosts(): Calculates equipment-related costs.setSupportCosts(): Calculates setup and support costs.setOperationsCosts(): Calculates operational costs.setOsSetupCosts(): Calculates setup costs for outsourcing.setOsOperationalCosts(): Calculates operational costs for outsourcing.drawOneSiteCostChart(),drawBreakdownChart(),multiSiteCostChart(): Draws the charts using Google Charts.
These functions ensure that all cost elements are included in the final cost comparisons and visual representations.
