Building Marketing Forecasting Models with HubSpot (Without the Spreadsheet Hell)
Most marketing forecasts fall apart in budget meetings. Leadership wants numbers. Marketing teams show up with gut feelings and messy spreadsheets. There's a better way.
Edward
Founder, Whtnxt · Dallas, TX
Most marketing forecasts fall apart in budget meetings. Leadership wants numbers. Marketing teams show up with gut feelings and messy spreadsheets. There’s a better way.
In this article, you’ll learn how to build a practical forecasting model using HubSpot’s actual data, not fantasy projections.
The Context

Most marketing forecasting is garbage. Teams pull traffic numbers from Google Analytics, conversion rates from last quarter, and deal velocity from whenever the CRM feels like syncing. Then they throw it all into a spreadsheet, apply some half-remembered seasonal adjustments, and present it as “data-driven forecasting.”
The problem isn’t the data. HubSpot already tracks everything you need. The problem is that most marketers treat forecasting like a reporting exercise instead of a system you build once and maintain forever.
When you’re running growth marketing with long sales cycles (think 6-18 months for B2B or enrollment-based businesses), you need to see around corners. You need to know in February whether you’re going to hit Q4 targets. And you need to explain why your numbers look different from what leadership expected.
The Approach
Here’s a framework for building forecasting models that actually work:
Start with historical truth. Pull 12-24 months of actual performance data from HubSpot. Not what you wish happened. What actually happened.
Identify your conversion points. For most B2B funnels, that’s visitor to lead, lead to MQL, MQL to SQL, SQL to opportunity, opportunity to close. Your stages might differ. Use what you actually track.
Calculate velocity, not just volume. How long does each stage actually take? What’s the distribution, not just the average? A 30-day average sales cycle with a 60-day standard deviation is very different from a consistent 30-day cycle.
Build flexibility into the model. Spring campaigns won’t perform like fall nurture sequences. Seasonality is real. Account for it.
Connect it to revenue, not vanity metrics. MQL volume doesn’t matter if it doesn’t predict closed revenue. Build the model backward from revenue targets.
Step-by-Step Implementation
Step 1: Export Your HubSpot Data
You need deals with created dates, stage progression timestamps, and close dates. Here’s what to pull:
Go to Reports > Analytics Tools > Custom Report Builder. Create a deal-based report with these properties:
- Deal name
- Deal stage
- Create date
- Close date
- Deal amount
- All stage transition dates (you’ll find these under deal properties)
Export to CSV. You should have 12+ months of data minimum.
Step 2: Calculate Stage Conversion Rates
Open your export and calculate actual conversion rates between stages. Not the rates you tell leadership. The real ones.
Stage Conversion Rate = (Deals that progressed to next stage) / (Total deals that entered this stage)
For example, if 200 leads became MQLs and 80 of those became SQLs, the MQL to SQL conversion rate is 40%.
Do this for every stage. Write them down. These are your baseline assumptions.
Step 3: Calculate Stage Velocity
This is where most teams get lazy and just average everything. Don’t do that.
For each stage, calculate:
- Median time in stage (more useful than average, less skewed by outliers)
- 25th percentile time
- 75th percentile time
Why? Because if the median deal takes 15 days to move from MQL to SQL, but the 75th percentile is 45 days, there’s a consistency problem. That variance matters when forecasting three months out.
Step 4: Build the Model
Now you can forecast. Here’s the simple version:
Expected Closed Deals (Month X) =
Leads entering funnel (Month X - average sales cycle length)
× Stage 1 conversion rate
× Stage 2 conversion rate
× Stage 3 conversion rate
(and so on through all stages)
The more sophisticated version accounts for deal amount distribution and weights stages by probability.
Python with pandas is ideal for this because you can automate the monthly updates. But a well-structured Google Sheet works fine if you’re comfortable with formulas.
Step 5: Validate Against Reality
Pull actual results for the past 3-6 months. Run the model backward. How close did it get?
If the forecast is consistently off by more than 15-20%, the assumptions are wrong. Adjust conversion rates or velocity calculations.
This isn’t a one-time build. You’ll refine it monthly as you learn more about funnel behavior.
Step 6: Automate the Updates
Here’s where HubSpot’s API becomes valuable. Instead of manually exporting data every month, set up an automated pull.
Tools like n8n can pull HubSpot deal data weekly, run it through the forecasting model, and push updated projections into a Google Sheet that leadership can access. The whole thing runs without manual intervention.
If API work isn’t your thing, HubSpot’s Operations Hub can do similar automation. It’s more expensive but requires less technical setup.
The Results

When teams implement this kind of system, the changes are measurable:
Revenue forecasts can move from 25-30% variance to under 10% variance within a quarter or two.
Budget conversations shift from “why are we behind” to “here’s where we should invest based on what the model shows.”
Marketing ops teams stop spending 10+ hours a month building forecast reports. The system does it automatically.
Most importantly, teams can spot conversion problems two to three months before they show up in closed revenue. Early detection means early correction.
Key Takeaways
Forecasting isn’t prediction. It’s pattern recognition. You’re not trying to see the future. You’re trying to understand what current funnel performance predicts about future outcomes.
Your model is only as good as your data hygiene. If teams don’t update deal stages consistently, forecasts will be garbage. Fix CRM processes before building the model.
Start simple, add complexity only when it solves a real problem. A basic stage-based model with good conversion rates beats a complex model with bad assumptions.
Velocity matters as much as volume. Knowing you need 500 MQLs next month is useless if you don’t know how long it takes them to become customers.
Build systems, not reports. The goal isn’t to create a fancy forecast deck. The goal is to build a system that tells you what’s actually happening in your funnel so you can make better decisions faster.
What’s Next
This is the foundation. Once you have basic forecasting working, you can layer in:
- Scenario modeling (what if conversion rates improve by 10%?)
- Attribution modeling (which channels drive deals that actually close?)
- Cohort analysis (do deals from different sources behave differently?)
But start here. Get this working. Then build on it.
What’s your biggest forecasting challenge right now? The math, the data quality, or getting your team to actually use the forecast?
Need help building your marketing forecasting system? Let’s talk.