---
schema_version: "1"
id: 7072d8e1da5d48b7f6ae137a82b0d4ac0c5739d6f9db41a401f809a7e30f3e85
title: CME Forecasting Extensions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/comms_vlocity_forecasting_extensions.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.comms_vlocity_forecasting_extensions.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 95f12176f171eb333d03ae45fa755ca2cac98721eccb2fbd6b05e1499a4a9ee9
description: "CME supports and extends both of Salesforce's forecasting types: Collaborative Forecast and Customizable Forecast. The extension comes from the Industries CPQ ability to capture opportunity/quote and order information including both recurring and non-recurring revenue. You can include both of these revenue streams in forecast variables."
products:
  - Communications
  - Media
  - Energy and Utilities
release: "264"
---
# CME Forecasting Extensions

CME supports and extends both of Salesforce's forecasting types: Collaborative Forecast and Customizable Forecast. The extension comes from the Industries CPQ ability to capture opportunity/quote and order information including both recurring and non-recurring revenue. You can include both of these revenue streams in forecast variables.

The OpptyScheduleInterfaceDefaultImplementation defines the specific approach to how recurring revenues are allocated into the forecast variable. You can choose to define an alternate or modified approach by developing a custom implementation. For more information, see the _Interfaces and Implementations Reference Guide_. For more information about forecast methods, see [Forecasts Setup Overview](https://help.salesforce.com/apex/htviewhelpdoc?id=forecasts3_setting_up_forecasts.htm&language=en_US) in the Salesforce Help.

The CME forecasting calculations differ from the Salesforce default forecasting calculations. The main differences between CME and the Salesforce defaults are:

- You can create the schedules for an entire opportunity with one button. Using the Salesforce default, you must create schedules product by product.
- Salesforce divides the Opportunity.Amount (Total) evenly into the number of Opportunity months. Using CME, the first month contains the one-time charges plus one instance of the recurring charge, while the remaining months contain just the recurring charge. The amount scheduling is based on the Number of Contracted Months in the Opportunity header.
- CME forecasts according to months, while the Salesforce default forecasting can calculate by months, weeks, quarters, or years.

For more information about setting up forecasts, see the Salesforce document, [Collaborative Forecasts Implementation Guide](http://resources.docs.salesforce.com/198/17/en-us/sfdc/pdf/forecasts.pdf).

Here is an example for the Communications industry that shows the difference between the two scheduling types using CME—an order for CATV service for a hotel chain. In the example, we assume that the length of the contract is 24 months.

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small " summary="Example Forecast">
      <colgroup>
        <col>
        <col>
        <col>
        <col>
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d411455e85">
            <p style="margin-bottom:0;">Product</p>
          </th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d411455e91">
            <p style="margin-bottom:0;">NRC (Install)</p>
          </th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d411455e97">
            <p style="margin-bottom:0;">MRC</p>
          </th>
          <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d411455e103">
            <p style="margin-bottom:0;">Qty (# rooms)</p>
          </th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="Product" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e85 ">
            <p style="margin-bottom:0;">Regular Cable</p>
          </td>

          <td data-label="NRC (Install)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e91 ">
            <p style="margin-bottom:0;">10.00</p>
          </td>

          <td data-label="MRC" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e97 ">
            <p style="margin-bottom:0;">30.00</p>
          </td>

          <td data-label="Qty (# rooms)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e103 ">
            <p style="margin-bottom:0;">100</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Product" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e85 ">
            <p style="margin-bottom:0;">HBO</p>
          </td>

          <td data-label="NRC (Install)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e91 ">
            <p style="margin-bottom:0;">5.00</p>
          </td>

          <td data-label="MRC" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e97 ">
            <p style="margin-bottom:0;">40.00</p>
          </td>

          <td data-label="Qty (# rooms)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e103 ">
            <p style="margin-bottom:0;">100</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Product" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e85 ">
            <p style="margin-bottom:0;">Chinese Package</p>
          </td>

          <td data-label="NRC (Install)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e91 ">
            <p style="margin-bottom:0;">5.00</p>
          </td>

          <td data-label="MRC" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e97 ">
            <p style="margin-bottom:0;">30.00</p>
          </td>

          <td data-label="Qty (# rooms)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e103 ">
            <p style="margin-bottom:0;">100</p>
          </td>

        </tr>
        <tr class="">
          <td data-label="Product" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e85 ">
            <p style="margin-bottom:0;">Total</p>
          </td>

          <td data-label="NRC (Install)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e91 ">
            <p style="margin-bottom:0;">20.00</p>
          </td>

          <td data-label="MRC" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e97 ">
            <p style="margin-bottom:0;">100.00</p>
          </td>

          <td data-label="Qty (# rooms)" class="slds-cell-wrap" style="vertical-align:top;" headers="d411455e103 ">
            <p style="margin-bottom:0;">100</p>
          </td>

        </tr>
      </tbody>
    </table>

- The non-recurring install charge is $20.00 \* 100 = $2,000.
- The MRC (monthly recurring charge) is $100.00 \* 100 per month, which is $10,000 per month or $240,000 over the life of the contract.

Using Collaborative Forecast, the whole amount of $242,000.00 would be forecast for the month of sale.

However, if you use Customizable Forecast and the CME OpptyScheduleInterface, the month of sale would include the amount of $22,000.00 (NRC + 1 MRC) and a $10,000.00 forecast for every month for the remaining 23 months of the contract. The forecast results are quite different.