Skip to content
ConsultEvo

How to Build a Sales Projection: Formula, Scenarios, and Review

A sales projection estimates future sales under explicit assumptions. To make it useful, first define what “sales” means: a team projecting $600,000 in quarterly bookings is solving a different problem from a finance team projecting recognized revenue for that quarter.

Then choose a calculation that fits the evidence. Use comparable historical results for a directional baseline, eligible deal-level pipeline for a near-term view, and target reverse-engineering to test capacity. Keep the metric, period, currency, segment, and assumptions consistent, and preserve each run so later reviews can explain what changed.

This guide moves from revenue definition to formulas, scenario design, CRM controls, and variance review. The system patterns are proposed implementation guidance unless identified as documented HubSpot behavior.

What a sales projection estimates, and what it does not

A sales projection is an estimate of future sales based on stated assumptions. A forecast is generally an estimate informed by current, near-term evidence. A target is the result an organization wants to achieve. An actual is a recorded result. Organizations use these terms differently, so define them in the operating model rather than relying on labels alone.

For example, a quarterly target of $600,000 is not evidence that $600,000 will close. A projection can estimate what may happen under a defined set of assumptions, while a near-term forecast may use current opportunities, close dates, and deal evidence. Do not enter a leadership target into a pipeline forecast as though it were supporting evidence.

Before calculating, record the metric, revenue grain, currency, period, segment, scenario, and status of the figure. Bookings, ARR, MRR, cash collections, invoiced revenue, and recognized revenue are not interchangeable. ARR is an annualized recurring-revenue measure; recognized revenue follows the applicable accounting period. Keep them separate unless a documented finance rule explains the conversion.

A projection is interpretable only when its metric, period, currency, segment, and assumptions are explicit. A target describes intent, not evidence.

Choose a calculation that fits your data

Historical growth rate: a directional baseline

When you have a stable, comparable history, a simple growth calculation can establish a baseline:

Growth rate = (current-period revenue - prior-period revenue) / prior-period revenue
Next-period projection = current-period revenue x (1 + growth rate)

Suppose comparable revenue was $500,000 in one period and $550,000 in the next. The growth rate is 10%. Applying that rate to $550,000 produces a $605,000 next-period baseline. This is a hypothetical illustration, not a complete forecast.

The calculation can mislead when the prior period is unusually small, revenue is volatile, or the periods are not comparable. Review seasonality, acquisitions, pricing changes, product availability, sales capacity, and one-off deals before extending a growth rate. If the prior-period value is zero, the percentage formula is undefined; use a separately explained bottom-up method instead.

Weighted pipeline: a deal-level near-term view

For eligible opportunities, calculate a weighted amount for each deal and aggregate by the relevant period and segment:

Weighted amount = deal amount x deal probability

For an illustrative $30,000 deal at 25% probability, the weighted amount is $7,500. A stage probability is useful only if it has been checked against historical conversion for a comparable opportunity population. A close rate calculated from leads, for example, should not be applied to a pipeline made up of qualified opportunities.

Weighted pipeline is not automatically recognized revenue. Check whether the deal amount represents bookings, contract value, ARR, or another measure, and whether the expected close date matches the projection period. HubSpot documents weighted amount as deal amount multiplied by deal probability and supports weighted amount, total amount, forecast categories, and monthly or quarterly forecast periods in its forecasting tool. Those documented product behaviors do not replace a finance model when the question concerns recognized revenue.

Target reverse-engineering: test pipeline and capacity

To assess whether a target is supported by enough opportunity volume, use consistent definitions for target, average deal size, and close rate:

Required deals = revenue target / average deal size
Required qualified opportunities = required deals / close rate

A hypothetical $600,000 quarterly bookings target, $30,000 average deal size, and 25% close rate imply 20 wins and 80 qualified opportunities:

$600,000 / $30,000 = 20 required deals
20 / 0.25 = 80 required qualified opportunities

The result is meaningful only if the deal size and close rate use the same revenue grain, period, segment, and opportunity qualification rules. A different renewal or new-business mix, sales-cycle duration, or capacity limit may make apparent pipeline coverage misleading. Compare the requirement with eligible pipeline and selling capacity rather than lowering the close-rate assumption to make the target appear supported.

For recurring revenue, use a bridge that makes different movements visible: new ARR, expansion ARR, contraction ARR, and churned ARR. Do not combine that ARR movement with recognized revenue without an explicit, finance-approved calculation.

Method Best fit Key validation
Historical growth Stable comparable results Seasonality, one-offs, and denominator size
Weighted pipeline Near-term eligible deals Stage, probability, revenue grain, and period
Target reverse-engineering Capacity planning Close-rate population and selling capacity

Build a projection in six operational steps

Build the projection as a controlled planning run, not as a number copied from a spreadsheet. Finance should own the revenue definition and accounting period. Sales operations should own deal eligibility and pipeline rollups. Sales, marketing, and operations should substantiate the assumptions they control.

01Define the outputSet metric, revenue grain, currency, horizon, segments, scenario, and source of truth. Finance confirms the revenue basis and period.
02Assemble comparable inputsCollect historical results, eligible opportunities, renewals, churn, expansion, and capacity limits. Sales operations checks scope, completeness, and duplicate records.
03Test the assumptionsReview seasonality, market changes, pricing, sales-cycle shifts, product availability, and one-off effects with the owners who can support them.
04Set scenariosCreate a base case and, where uncertainty matters, upside and downside cases. State exactly which assumptions change in each case.
05Record the runSave period, segment, scenario, metric, amount, assumptions, source timestamp, calculation version, input provenance, and reviewer status in a controlled planning record.
06Review and publishHave the accountable owner resolve exceptions and approve the projection before it is shared with decision-makers.

The output should be a projection table that lets a reviewer see what each number means and where it came from. A new business without useful history can build a bottom-up view from qualified opportunities, provisional conversion assumptions, sales-cycle duration, and capacity. Label assumptions as provisional and show a range rather than implying a precise point estimate.

Implementation patterns for a reviewable projection

The following patterns are illustrative operating designs, not vendor-published schemas. Each separates the input event or record from the calculated projection and gives an owner a place to resolve exceptions.

Trigger and input AI job Validation Action and fallback
Planning cycle with comparable revenue, metric, currency, segment, and scenario None for arithmetic. AI may summarize unstructured market notes into proposed risk signals. Match periods and revenue grain; review seasonality and one-off changes. Write a versioned base, upside, or downside run to a controlled planning table. Finance resolves mismatches.
Forecast review with deal ID, pipeline, stage, amount, probability, close date, owner, and category Optionally summarize objections or timing risks. Do not calculate weighted amount or alter deal fields. Check required fields, currency, period, stage probability, duplicates, and unusual Commit records. Roll up eligible deals and save a separate forecast snapshot. The deal owner resolves uncertain opportunities.
CRM notification for a relevant deal-property change None for event verification, retrieval, deduplication, or recalculation. Verify the webhook signature, retrieve the current record, handle retries, apply rate limits, and check permissions. Recalculate the affected period and save a new run. If retrieval or validation fails, create an exception for the integration owner instead of overwriting the forecast.

Operationalize CRM data without confusing it with the model

For deal-level inputs, capture deal ID, pipeline ID, stage, amount, currency, probability, expected close date, owner, forecast category, and closed-won outcome. Validate missing amounts and dates, invalid currencies, inconsistent revenue measures, duplicate opportunities across pipelines, and implausible stage-probability combinations before rollup.

HubSpot’s official documentation describes forecasting setup for Sales Hub Professional and Enterprise and Service Hub Professional and Enterprise. It also documents forecast permissions, assigned seats for forecast goals, forecast categories, monthly or quarterly periods, and weighted amount calculations. Check the current HubSpot forecast setup documentation and default deal property definitions before configuring a workflow. Permissions, plan availability, and product behavior can change, so treat the documentation as the authority for the account being configured.

For broader process and data design, see CRM systems and operational design. A CRM can centralize operational deal inputs, but it does not automatically make a projection a finance-owned recognized-revenue model.

Keep current CRM deal records separate from historical projection runs. One forecast-observation row should mean one calculated result for a specific period, pipeline or segment, scenario, model version, and run. If repeated runs are allowed, include a run timestamp or run ID. A per-deal event, a period-level aggregate, and a forecast snapshot are different data grains and belong in separate records.

Decision point

Deal records change as people update the CRM. Preserve source-record timestamps, retrieved values, calculation version, input provenance, and review status in the forecast run so a later edit cannot silently rewrite the evidence needed to explain variance.

If a CRM change triggers a refresh, treat a webhook as a notification rather than a complete authoritative record. Where the relevant object and access are supported, verify the notification, retrieve the current record through the API, validate it, recalculate the affected period, and save a new run. HubSpot developer guidance covers the webhook and API distinction and integration security considerations. Confirm current object subscriptions, permissions, signature requirements, and rate limits before implementation.

For safe concurrent processing, do not use search-then-create as the only duplicate control. Use a database uniqueness constraint on the intended observation key and an atomic upsert. Keep delivery-event deduplication separate from forecast-run identity, so a retried event does not create duplicate work while a legitimate later run remains recordable.

Review variance and improve the next projection

Suppose a hypothetical projection is $1,000,000 and actuals are $700,000. The variance is -$300,000, or -30% of the projection. Recalculate against the original saved run, then classify the gap: slipped, lost, reduced, duplicated, or won later than expected. Separate assumption error from execution or data error.

Before explaining a variance, confirm that projected and actual amounts use the same revenue measure, period, currency treatment, segment, and relevant CRM or accounting status. The deal owner can explain opportunity movement; sales operations can reconcile pipeline and reason codes; finance confirms the accounting basis. Record the explanation and assumption change for the next model version. Do not overwrite the original projection.

Close each review cycle
  • Reconcile projected and actual values using the same measure, currency, segment, and period.
  • Classify material movement as slipped, lost, reduced, duplicated, or won later, and assign an owner.
  • Separate assumption changes from execution and data issues.
  • Save reason codes and approved changes in the next version without altering the prior run.

Review monthly or quarterly as appropriate, and sooner when pipeline, capacity, product availability, or market conditions change materially. A useful review produces a reconciled variance by segment and reason code, plus documented changes to assumptions for the next run.

Where AI helps, and where a rule is safer

Use deterministic calculations and controls for growth rates, weighted amounts, required deal counts, period assignment, currency checks, missing-field validation, deduplication, and approval thresholds. These tasks have explicit inputs and testable outputs. Apply allowed-value checks and schema validation before data is written to a CRM or planning table.

AI can help review unstructured evidence, such as summarizing a buyer objection from a call note. Keep its responsibility narrow: produce a proposed risk signal for a person to review, not a new amount, probability, close date, or forecast category. A structured suggestion might look like this:

{
  "risk_type": "approval_delay",
  "risk_summary": "Buyer notes indicate procurement approval is outstanding.",
  "evidence_source": "illustrative-call-note-1042",
  "confidence": 0.82,
  "review_required": true
}

Validate the output against an allowed risk-type list and required fields. A deal owner reviews the evidence before any material forecast change. Protect customer and personal information with appropriate access controls, and use only an approved model or service for sensitive notes. HubSpot systems support can help assess configuration and operating requirements, but business owners remain responsible for the planning assumptions.

Frequently asked questions

How much history do I need to build a sales projection?

There is no universal minimum. Use enough comparable periods to understand relevant seasonality and changes in the business. If history is sparse or not comparable, use a transparent bottom-up model based on qualified opportunities, provisional conversion assumptions, sales-cycle duration, capacity, and scenario ranges.

How often should sales projections be reviewed?

Monthly or quarterly review is common. Review sooner if pipeline, selling capacity, product availability, or market conditions change materially. Save each run so the team can distinguish changed inputs from changed assumptions.

Is a CRM forecast report a complete financial projection?

Not necessarily. A CRM report may summarize pipeline using deal amounts, probabilities, categories, and close periods. Check that its measure and period match the planning question. Recognized-revenue planning may require finance-owned inputs and rules beyond a deal rollup.

How should a five-year sales projection be used?

Use it as a long-range planning model with explicit assumptions and scenario ranges, not as a precise commitment. Define how growth, capacity, churn, pricing, renewals, and market conditions are expected to change over the horizon.

How do I preserve a projection when CRM values change later?

Store a separate run record with the forecast period, scenario, metric, input timestamp, source-record identifiers, calculation version, and reviewer status. Use an observation key that includes the run identity when multiple runs for the same period are legitimate. Store event-delivery keys separately from forecast-run keys and enforce uniqueness at the database level for concurrent processing.