2.6 KiB
Updated Equipment Acquisition & Simulation Algorithm
This document outlines the refactored logic for equipment acquisition cost calculation and simulation forecasting, implemented in February 2026.
1. Timeline Definitions
The simulation follows a strict temporal alignment to ensure consistency across the fleet:
| Parameter | Value | Description |
|---|---|---|
| Base Year | 2015 |
The target year for all "Value of Money" (Net Present Value) calculations. |
| Forecasting Start | 2015 |
The year from which future predictions and Economic Life reports begin. |
| Calculation Start | 2014 |
The technical sequence start (seq = 0) used to establish an initial state. |
2. Capital Cost Adjustment (Value of Money)
To account for the time value of money, both the Initial Acquisition Cost and the Replacement Cost are normalized to the 2015 Base Year using the project's inflation rate.
2.1 Adjustment Formula
The value of any cost V at a specific Year is adjusted to its equivalent value in 2015 using the following formula:
V_{2015} = \frac{V_{Year}}{(1 + r)^{(Year - 2015)}}
Where:
V_{2015}= Adjusted value in 2015 terms.V_{Year}= Raw cost recorded in the database or Maximo.r= Inflation rate (fromlcc_ms_master, defaults to0.05if undefined).Year= The year the cost was recorded (Y_{acq}orY_{replace}).
2.2 Total Acquisition Cost
The total capital cost C_{total} stored in the master data is the sum of the adjusted initial cost and the adjusted first detected replacement cost:
C_{total} = \frac{C_{initial}}{(1+r)^{(Y_{acq} - 2015)}} + \frac{C_{replace}}{(1+r)^{(Y_{replace} - 2015)}}
3. Maintenance Cost Suppression Logic
A specific business rule is applied to prevent "double counting" or distorted maintenance records during major equipment replacement years:
3.1 Replacement Year Rule
In the first year where a replace_cost > 0 is detected in Maximo (Y_{replace}):
- All Material Costs are set to
0.0. - All Labor Costs (and labor hours) are set to
0.0.
3.2 Logic Rationale
The replacement cost is treated as a capital expenditure (CAPEX) that restarts the equipment's life cycle. Standard maintenance (OPEX) for that specific year is ignored because the replacement action supersedes regular repair tasks.
4. Implementation Reference
The logic is primarily contained in:
src/equipment/service.py:check_and_update_acquisition_data()(Cost adjustments).src/modules/equipment/insert_actual_data.py:query_data()(Timeline and cost suppression).