Skip to main content

Delta Total Contract Value


Delta Total Contract Value

Delta Total Contract Value (DTCV) is the value change in the total contract value (TCV) amount between the latest TCV and the previous TCV after a subscription amendment. Zuora only returns the value of DTCV from the Zuora REST and SOAP APIs. 

As TCV does not match the total invoice amounts that are billed for charges over the subscription term and DTCV is calculated based on TCV, DTCV does not match the total invoice amounts, either. See Total Contract Value for information.

DTCV Calculation

DTCV calculation is based on the charge segment TCVs. Zuora calculates TCV for every charge segment of the one-time and recurring rate plan charges. To get the segment TCVs in a charge:

See Segmented rate plan charges for more information.

If an amendment does not affect a charge segment, the segment keeps the previous DTCV regardless of the base calculation logic.

The value of the DTCV depends on the term setting:

  • If the subscription does not expire (an Evergreen subscription), DTCV is null.
  • If the subscription expires after a period (a Termed subscription), follow the functions below to calculate TCV:

    DTCV_of_a_Charge = Sum ( DTCV_of_Charge_Segments )

    DTCV_of_a_Charge_Segment = Latest_TCV_of_the_Segment - Previous_TCV_of_the_Segment

For more information about TCV, see Total Contract Value.

Examples of DTCV Calculation

The following examples introduce how to calculate DTCV for one-time and recurring charges.

Example of a One-time Charge

Suppose your customer subscribes to your one-time charge:

  • Charge model: Flat Fee Pricing
  • Price: $100
  • Charge Effective Start Date: January 1

In this example, only one charge segment in the newly created subscription. 

DTCV_of_charge_segment_1Latest_TCV_of_segment_1 - 0 = 100

DTCV_of_charge = 100

Now you create a Remove Product amendment to remove the one-time charge from the subscription. The amendment effective date is on January 1.

DTCV_of_charge_segment_1 = Latest_TCV_of_segment_1 - Previous_TCV_of_segment_1 = 0 - 100 = -100

DTCV_of_charge = -100

Example of a Recurring Charge

Suppose your customer subscribes to your recurring charge:

  • Charge Model: Flat Fee Pricing
  • Price: $100
  • ListPriceBase: Month
  • Billing Period: Month
  • Charge Effective Start Date: January 1
  • Charge Effective End Date: December 31

In this example, only one charge segment in the newly created subscription.

DTCV_of_charge_segment_1Latest_TCV_of_segment_1 - 0 = 1200

DTCV_of_charge = 1200

Now you create an Update Product amendment and make the following changes:

  • Price: $200
  • Amendment Effective Date: July 1

There are two charge segments after subscription amendments.

DTCV_of_charge_segment_1Latest_TCV_of_sengment_1 - Previous_TCV_of_segment_1 = 600 - 1200 = -600

DTCV_of_charge_segment_2Latest_TCV_of_sengment_2 - Previous_TCV_of_segment_2 = 1200 - 0 = 1200

DTCV_of_chargeDTCV_of_charge_segment_1DTCV_of_charge_segment_2 = -600 + 1200 = 600