Table of contents

Introduction

VEGA (Vessel Economic Guidance and Assessment) is a Python-based companion tool of the ICCT’s Polaris model, designed to estimate and compare the net present value (NPV) or total cost of ownership (TCO) of different shipowner renewal choices across years and policy assumptions.

VEGA was purpose-built for an analysis of a Chinese coastal vessel scrappage incentive program but can be applied to a similarly structured policy in any region. To estimate baseline shipowner behavior and response to incentive policies, the model considers two kinds of renewal choices available to shipowners:

  1. Shipowners keep their current ship until its natural or mandatory retirement age, then buy a new ship, which will not receive a subsidy from any incentive policy.

  2. Shipowners renew their ships early to take advantage of scrappage and/or renewal subsidies.

For each kind of renewal choice, a variety of engine and fuel types are considered for the replacement vessel. After assessing the TCO of all possible choices, VEGA identifies the lowest-cost option and flags which groups of vessels are likely to be renewed early. Finally, by feeding the VEGA outputs back into the Polaris model, the energy and emissions impacts of these early renewal decisions can be estimated.

Acknowledgments

VEGA was first developed in 2025-2026 by Gabe Hillman Alvarez, Jakob Schmidt, Zhihang Meng, and Hae Jeong Cho.

Model logic

The structure of the model mirrors the two kinds of renewal choices available to shipowners: (1) wait until natural or mandatory retirement or (b) scrap and replace now. We begin by laying out the TCO calculations for the second kind of choice, which are simpler because only the replacement vessel is operational during the analysis window.

Total cost of scrapping now

The total cost of deciding to scrap the old vessel now (in \(DecisionYear\)) and replace it immediately with a new-build vessel (which thereafter operates through the entire \(AnalysisLength\)) is defined as:

\[\begin{aligned} TCO_{ScrapNow,DecisionYear} = \, & {-}ScrapValue - ScrapSubsidy - NewBuildSubsidy \\ & + \, NewBuildCapEx + \sum_{Y \,=\, DecisionYear}^{DecisionYear \,+\, AnalysisLength \,-\, 1} {OpEx}_{Y} \\ & - \, NewBuildResidualValue_{DecisionYear \,+\, AnalysisLength} \end{aligned}\]

E.g., for \(DecisionYear = 2025\) and an \(AnalysisLength = 25\) years, we’d calculate:

\[\begin{aligned} TCO_{ScrapNow,2025} = \, & {-}ScrapValue - ScrapSubsidy - NewBuildSubsidy \\ & + \, NewBuildCapEx + \sum_{Y \,=\, 2025}^{2049} {OpEx}_{Y} - NewBuildResidualValue_{2050} \end{aligned}\]

The scrap value of the old vessel is calculated as a function of price and ship size, converting deadweight tonnage (DWT) or gross tonnage (GT)—whichever yields a higher correlation for each ship class—to light displacement (LDT) using linear regression parameters \(\alpha,\ \beta\):

\[ScrapValue\ [\$] = ScrapPrice\ \left[\frac{\$}{LDT}\right] * \left( \alpha * ShipCapacity\ [DWT\ or\ GT] +\ \beta \right)\ [LDT]\]

The scrappage and new-build subsidies are determined by policies, which may increase incentives for particular ship classes, ages, or fuels via an array of coefficients:

\[ScrapSubsidy\ [\$] = BaseScrapSubsidy\left[\frac{\$}{GT}\right] * ShipClassCoeff * AgeCoeff * ShipCapacity\ [GT]\] \[NewBuildSubsidy\ [\$] = BaseNewBuildSubsidy\left[\frac{\$}{GT}\right] * ShipClassCoeff * FuelCoeff * ShipCapacity\ [GT]\]

The new-build capital expenses \(NewBuildCapEx\) are assumed to be comprised fully by the purchase price, which varies by ship class and year and is considered to be paid in full in the \(DecisionYear\).

Allowing for the specification of a carbon tax based on 20- or 100-year CO2 equivalent emissions in either TTW (tailpipe only) or WTW scope (including fuel production), the annual operating expenses in a year \(Y\) are calculated as:

\[\begin{aligned} {OpEx}_{Y}[\$] = \, & \left( {FuelPrice}_{Y} - {FuelSubsidy}_{Y} \right)\left[\frac{\$}{tonne\ fuel}\right] * AnnualFuelConsumption\ [tonne\ fuel] \\ & + \, {CarbonTax}_{Y}\left[\frac{\$}{tCO2e}\right] * AnnualEmissions\ [tCO2e] \end{aligned}\]

The residual value of a ship in year \(Y\) that was purchased in \(DecisionYear\) is calculated using linear depreciation, assuming that the residual value at the natural or mandatory \(RetirementAge\) equals the ship’s scrap value, as:

\[\begin{aligned} {NewBuildResidualValue}_{Y}\ [\$] = \, & \left( 1 - \frac{Y - DecisionYear}{RetirementAge} \right) * {NewBuildCapEx}_{DecisionYear}[\$] \\ & + \, \frac{Y - DecisionYear}{RetirementAge} * ScrapValue_{DecisionYear + RetirementAge}[\$] \end{aligned}\]

If the purchase occurs later in the analysis period, such as in the case where the shipowner waits until mandatory retirement, \(DecisionYear\) must be replaced by the actual purchase year throughout the formula.

E.g., \(y = 25\) years after purchase in \(DecisionYear = 2025\), assuming \(RetirementAge = 30\) years, we’d find that:

\[{NewBuildResidualValue}_{2050} = \frac{1}{6}{NewBuildCapEx}_{2025} + \frac{5}{6}ScrapValue_{2055}\]

Total cost of waiting until mandatory retirement

Similarly, the total cost of opting to retain the current vessel until it reaches its natural or mandatory retirement age in \(RetirementYear\) and only then replace with a new-build vessel is calculated as:

\[\begin{aligned} TCO_{WaitUntilMandatoryRetirement,DecisionYear} = \, & \sum_{Y \,=\, DecisionYear}^{RetirementYear \,-\, 1} { {OldVesselOpEx}_{Y} } \\ & - \, {OldVesselScrapValue}_{RetirementYear} + {NewBuildCapEx}_{RetirementYear} \\ & + \, \sum_{Y \,=\, RetirementYear}^{DecisionYear \,+\, AnalysisLength \,-\, 1} {NewBuildOpEx}_{Y} \\ & - \, NewBuildResidualValue_{DecisionYear \,+\, AnalysisLength} \end{aligned}\]

E.g., for \(DecisionYear = 2025\), \(RetirementAge = 30\) years, and an \(AnalysisLength = 25\) years, we’d calculate:

\[\begin{aligned} TCO_{WaitUntilMandatoryRetirement,2025} = \, & \sum_{Y \,=\, 2025}^{2029} { {OldVesselOpEx}_{Y} } \\ & - \, {OldVesselScrapValue}_{2030} + {NewBuildCapEx}_{2030} \\ & + \, \sum_{Y \,=\, 2030}^{2049} {NewBuildOpEx}_{Y} - NewBuildResidualValue_{2050} \end{aligned}\]

First, operating expenses for the old vessel \(OldVesselOpEx\) must be paid each year until the \(RetirementYear\). Then, the old vessel is scrapped, recouping the \(OldVesselScrapValue\). Capital expenses for a new-build vessel \(NewBuildCapEx\) are also incurred in \(RetirementYear\). Then, operating expenses for the new-build vessel \(NewBuildOpEx\) are paid through the end of the analysis window, at which point the \(NewBuildResidualValue\) is calculated as before, but replacing \(DecisionYear\) with \(RetirementYear\) throughout, since the new-build vessel is no longer purchased in the \(DecisionYear\). No subsidies are considered when the shipowner waits for mandatory retirement.

The formulae for \(ScrapValue\), \(OpEx\), and \(DiscountFactor\) are independent of the shipowner decision and therefore unchanged.

Cost discounting

The equations shown above reflect the undiscounted TCO. However, the VEGA model also leverages a configurable discount rate \(D\) to calculate a discount factor which is applied to any cash flow (cost or subsidy) incurred a number of years \(y > 0\) after the \(DecisionYear\):

\[{DiscountFactor}_{y} = \frac{1}{(1 + D)^{y} }\]

E.g., an undiscounted operational expense of 1M USD incurred \(y = 10\) years in the future with \(D = 0.03\) would have a discounted present value of \(\frac{1}{ {1.03}^{10} } =\) 0.74M USD.

Consistent application of the discount factor ensures that future costs and benefits estimated by VEGA accurately reflect the time value of money and produce a coherent net present value (NPV) formulation of shipowner choices.

Model inputs

Since the input parameters are highly region-specific, no default inputs are maintained for the VEGA model. Specific input assumptions for each analysis produced with VEGA will be explained in the relevant research publication. In general, summarizing from the equations above, the key inputs are as follows:

  • Fleet characteristics and performance (e.g., activity, energy and emissions intensity)
  • Capital expenses for new-build vessels
  • Fuel prices
  • Scrap prices
  • Inflation rate and discount rate
  • Retirement age (natural or mandatory)
  • Policy parameters (scrappage and new-build incentives, fuel subsidies, carbon tax, etc.)

Model outputs

The VEGA model produces two key outputs:

  1. results_summary: High-level output comparing the TCO of different shipowner decisions for each group of ships under different scenarios
  2. results_detail: lower-level output reporting the individual components of TCO for each decision

Example slices of each of these outputs are shown below in Tables 1 and 2 with placeholder cost values.

Table 1: Example slice of the summary output comparing the TCO of different shipowner decisions for each group of ships under different scenarios.

Scenario

Ship

Class

Capacity

Bin

Age

Decision

Year

TCO

ScrapNow

Distillate

TCO

ScrapNow

Methanol

TCO

WaitUntil

Mandatory

Residual

Decision
Baseline Bulk carrier 3 29 2025 52.01 46.98 47.45

ScrapNow

Methanol

Baseline Bulk carrier 3 30 2025 52.13 48.34 47.56

WaitUntil

Mandatory

Residual

Table 2: Example slice of the detailed output reporting the individual components of TCO for each decision.

Scenario

Ship

Class

Capacity

Bin

Age

Decision

Year

Decision CapEx

New

Build

Subsidy

Scrap

Value

TCO
Baseline Bulk carrier 3 29 2025

ScrapNow

Distillate

38.12 2.31 2.10 52.01
Baseline Bulk carrier 3 29 2025

ScrapNow

Methanol

39.15 4.23 3.15 46.98

Estimating emissions impacts by integrating with Polaris model

As described above, the VEGA model produces an output which defines which groups of vessels (defined by ship class, capacity bin, age) will be scrapped early and replaced with new-build vessels, according to our TCO calculations. In order to estimate the emissions impact of these early scrappage decisions, VEGA connects back to ICCT’s Polaris model, a Python-based, global maritime emissions projection model. A full description of Polaris methodology can be found in the published model documentation. In summary, Polaris assembles a bottom-up energy and emissions inventory for a fleet and projects it into the future using a detailed turnover calculation and various policy modules.

The v1.4 release of Polaris includes a new scrappage module which accepts the VEGA summary output as an input defining additional vessels to remove from the fleet after natural turnover. Each early-scrapped ship is directly substituted in the model with a “replacement” vessel whose parameters are determined directly by the economic considerations from VEGA.

Decision tolerance and scrappage fraction

To allow researchers to account for input uncertainty in the scrappage calculation, as well as shipowners’ varying thresholds for the TCO difference required to scrap their ship early, two additional parameters between 0 and 1 are considered:

  • Decision tolerance: parameter in VEGA defining how close the TCO of other shipowner choices must be to the minimum-TCO option in order to be selected as “next best” choices.
  • Scrappage fraction: parameter in Polaris defining the fraction of ships with a “ScrapNow” decision in the VEGA output which will actually be scrapped in the Polaris model run.

A decision tolerance of 0 ensures that only the very lowest TCO is selected, whereas tolerances greater than 0 reflect the reality that shipowners are likely to select from a broader range of choices if they are “good enough”. E.g., a decision tolerance of 0.01 (1%) will ensure that any choice with a TCO within 1% of the minimum-TCO option will be selected as “next best”. If the user enables a non-zero decision tolerance, all choices within the tolerance will be assumed to be selected by equal fractions of eligible shipowners.

Conversely, regardless of how many decisions are included within the decision tolerance, a scrappage fraction of 1 ensures rigid application of the scrappage decision assumptions with no minimum threshold, whereas values less than 1 reflect increased uncertainty and/or a larger decision threshold.

How many ships are scrapped and replaced with a given fuel depend on both the scrappage fraction and decision tolerance inputs, as well as the specific TCO of each choice. E.g., if “Decision_WithTolerance” contains “ScrapNow_Methanol;ScrapNow_LNG”, approximately 50% of the scrapped fraction are assigned to Methanol, and 50% to LNG. If the scrappage_fraction was 90%, this would mean 45% of all ships in that class/bin/age are scrapped and replaced with methanol, 45% scrapped for LNG, and 10% unaffected. If one of the options in the “Decision_WithTolerance” column is “WaitUntilMandatory”, then that fraction would be left unaffected as well.