Sales forecasting calculations show 15% discrepancy between pipeline and forecast reports

We’re seeing a significant discrepancy between our pipeline reports and forecast calculations in Adobe Experience Cloud. The pipeline report shows $2.3M in opportunities for Q2, but the forecast module is calculating only $1.95M - about a 15% difference.

I’ve verified that both reports are filtering for the same time period (Q2 2025) and the same opportunity stages. The probability weighting rules appear correct in the forecast settings, but something is causing the calculation mismatch.

Here’s our current stage-to-probability mapping:

SELECT stage_name, probability_percent
FROM forecast_stage_mapping
WHERE active = true;
-- Qualification: 10%
-- Needs Analysis: 25%
-- Proposal: 50%
-- Negotiation: 75%

Could this be related to how the forecast period filtering works, or is there an issue with the calculation formula itself? We need accurate forecasts for executive reporting.

I’ll address all four areas that could cause this discrepancy: probability weighting rules, stage-to-probability mapping, forecast period filtering, and calculation formula validation.

First, verify your probability weighting rules are consistently applied. Run this validation query to check for opportunities with mismatched probabilities:

SELECT o.id, o.stage_name, o.probability,
       fsm.probability_percent AS expected_probability
FROM opportunities o
JOIN forecast_stage_mapping fsm ON o.stage_name = fsm.stage_name
WHERE o.probability != fsm.probability_percent
  AND o.close_date BETWEEN '2025-04-01' AND '2025-06-30';

Any results indicate opportunities with manually overridden probabilities that don’t match your stage mapping. These would cause forecast calculation differences.

For stage-to-probability mapping, ensure your mapping table is complete and includes all active opportunity stages. Missing stages default to 0% probability in forecast calculations but might show full amount in pipeline reports. Verify every stage in your sales process has a corresponding probability mapping.

Forecast period filtering is critical. AEC 2021 uses the opportunity close date field, but there are several nuances:

  1. Timezone handling - Forecast module uses org default timezone, while reports might use user timezone
  2. Fiscal calendar vs calendar year - Verify both use the same quarter definition
  3. Period boundary handling - Opportunities closing exactly on period boundaries (e.g., June 30 at midnight) might be inconsistently included

Check your fiscal year settings in Setup > Company Settings > Fiscal Year. Ensure Q2 2025 maps to the same date range in both the forecast module and your pipeline report filter.

For calculation formula validation, the forecast amount should be calculated as: Opportunity Amount × Stage Probability. However, AEC applies several filters that might exclude certain opportunities:

  • Closed Lost opportunities (excluded from forecast, might appear in pipeline)
  • Opportunities with forecast category = “Omitted” (you mentioned checking this, but verify at the record level)
  • Opportunities owned by inactive users (excluded from forecast rollups)
  • Opportunities without a close date in the specified period

Run a reconciliation report that shows the raw opportunity amounts, applied probabilities, and weighted amounts side by side. This will highlight exactly which opportunities are being calculated differently.

One specific AEC 2021 issue: if you have opportunities that were created in one forecast period and then had their close dates moved to a different period, the forecast cache might still associate them with the original period. Force a forecast cache refresh by navigating to Setup > Forecast Settings > Refresh Forecast Cache.

Finally, check for any custom formula fields or workflow rules that might be modifying opportunity amounts or probabilities. These could affect one report but not the other depending on when they execute in the processing sequence.


This draft is based on general Adobe Experience Cloud knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

Check if your pipeline report includes opportunities from all forecast categories while your forecast module might be filtering to specific categories only. In AEC 2021, the default forecast view excludes “Omitted” category opportunities, but pipeline reports include everything unless explicitly filtered.

Good catch - I checked and both reports are set to include all forecast categories except Omitted. Still seeing the discrepancy. I’m wondering if the probability weighting is being applied differently in the two reports?

The issue might be with forecast period filtering. AEC uses the close date to determine which forecast period an opportunity belongs to, but there’s a timezone consideration. If your org spans multiple timezones, opportunities with close dates on period boundaries might be included in different periods depending on the user’s timezone settings. Check if your forecast module and pipeline report are using the same timezone reference. Also verify that the forecast period definition (Q2 2025) exactly matches the date range filter in your pipeline report - sometimes quarter definitions vary by fiscal calendar settings.

Another thing to investigate - are you using custom probability fields or the standard stage probability? If someone manually overrode the probability on specific opportunities, those custom values would affect the forecast calculation but might not be visible in your pipeline report depending on which field you’re displaying.

I’ve seen this exact issue before. The problem is usually a combination of stage-to-probability mapping inconsistencies and opportunities that have been moved backward through the pipeline. When an opportunity regresses from Negotiation (75%) back to Needs Analysis (25%), the forecast calculation should update, but there can be a lag if the forecast cache hasn’t refreshed. Check your recently modified opportunities for any that moved backward through stages.