Revenue Forecasting with Seasonal Patterns (Prophet)

By MCP Analytics Team • Published March 10, 2026

When Simple Averages Fail

Let me walk you through a common scenario that trips up even experienced business analysts. Imagine you run a SaaS company, and your CFO asks: "What should we expect for Q2 revenue?"

Your first instinct might be to take the average of recent months. You calculate: January brought in $85,000, February hit $92,000, and March reached $88,000. So you forecast approximately $88,000 per month for Q2, right?

Not so fast. What if January always dips because enterprise customers delay renewals after the holidays? What if March consistently spikes because that's when annual contracts renew? What if there's a steady growth trend underneath all this noise?

This is where simple averages fail us. They can't distinguish between:

Before we build a complex forecasting model, let's just look at the data differently. That's exactly what Prophet helps us do - it automatically separates these components so we can see what's really happening in our revenue.

What You're Building: A Q2 Revenue Forecast

By the end of this tutorial, you'll have created a revenue forecast for the next quarter that includes:

The best part? Prophet handles the complex mathematics automatically. You don't need to manually specify seasonal patterns or holiday dates - it discovers them from your historical data.

Prerequisites: Your Revenue Data Format

There's no such thing as a dumb question in analytics, so let's start with the basics. Before we can forecast anything, you need historical revenue data in the right format.

What You Need

Example Data Format

date,revenue
2025-01-01,12450.00
2025-01-02,13200.50
2025-01-03,11800.00
2025-01-04,14500.25
2025-01-05,13900.00
Note: Your revenue column can represent daily revenue, weekly revenue, or any other metric you want to forecast (bookings, ARR, MRR, etc.). Prophet doesn't care what the numbers mean - it just finds patterns.

Common Data Sources

If you're wondering where to get this data, here are typical sources:

For those tracking Stripe website monitoring revenue tracking transparency, you can pull this data directly from Stripe's API or dashboard exports to understand your revenue sources and patterns over time.

Step 1: Upload Historical Revenue Data

Now let's get your data into the system. This step is straightforward, but let me walk you through it to avoid common pitfalls.

Upload Process

  1. Navigate to the MCP Analytics analysis tool
  2. Click "New Analysis" or "Upload Data"
  3. Select your CSV file containing date and revenue columns
  4. Confirm the column mapping:
    • Date column → "ds" (Prophet's required name for dates)
    • Revenue column → "y" (Prophet's required name for the value to forecast)
Common Mistake: Make sure your dates are in a consistent format. Prophet accepts formats like "2025-01-01", "01/01/2025", or "Jan 1, 2025" - but don't mix formats in the same file.

What the System Checks

After upload, the system automatically validates your data:

If any issues are detected, you'll see a warning with suggestions for fixing them. The simplest explanation is often the most useful: if you see a warning, read it carefully before proceeding.

Step 2: Select Prophet Decomposition Module

Once your data is uploaded, you'll choose how to analyze it. Let me walk you through selecting the right forecasting method.

Why Prophet?

You might see several forecasting options:

For revenue forecasting with seasonal patterns, Prophet is usually your best bet because it:

  1. Automatically detects weekly and yearly seasonality
  2. Handles missing data and outliers gracefully
  3. Provides uncertainty intervals (not just point estimates)
  4. Allows custom holiday specifications

Configuration Options

When you select Prophet, you'll see a few settings. Here's what they mean in plain language:

Setting What It Does Recommended Value
Forecast Period How far into the future to predict 90 days (one quarter)
Seasonality Mode Additive (constant effect) or Multiplicative (percentage effect) Multiplicative for revenue (seasonal effects grow with business size)
Yearly Seasonality Detect annual patterns (Q4 spike, summer slowdown) Auto (let Prophet decide based on data length)
Weekly Seasonality Detect day-of-week patterns (weekday vs. weekend) Auto (usually important for daily data)
Include Holidays Account for country-specific holidays Select your country (e.g., US, UK, Canada)
Tip: Start with the default "Auto" settings. Prophet is designed to make smart choices based on your data. You can always refine later if needed.

What Prophet Does: Trend + Seasonality + Holidays

Before we look at the results, let's understand what's happening behind the scenes. Prophet decomposes your revenue into four components:

1. Trend Component

This is the underlying direction of your business. Is revenue growing, declining, or flat? Prophet uses a piecewise linear or logistic growth curve to capture this.

Example: Your revenue has grown from $80K/month to $95K/month
over the past year = positive trend

2. Yearly Seasonality

These are patterns that repeat annually. For B2B SaaS, you might see:

Prophet uses Fourier series to model these smooth, repeating patterns.

3. Weekly Seasonality

Day-of-week effects. For e-commerce, you might see:

For B2B businesses, weekdays typically show higher activity than weekends.

4. Holiday Effects

Special events that don't fit the regular seasonal pattern:

Prophet includes built-in holiday calendars for many countries and lets you add custom events (like your company's product launch or annual conference).

The Power of Decomposition: By separating these components, you can answer questions like "Are we actually growing, or did December just look good because of seasonal effects?" This is the core insight that simple averages miss.

Interpreting the Output: Forecast Range & Confidence Intervals

Now comes the exciting part - understanding your forecast. Let me walk you through what you'll see and what it means for your business.

The Forecast Chart

You'll see a chart with three lines:

The shaded area is crucial. It tells you: "We're 80% confident the actual revenue will fall somewhere in this range." The wider the band, the more uncertainty in the forecast.

Reading the Numbers

For each future date, you'll see something like:

Date: 2026-04-15
Point Forecast: $92,500
Lower Bound (80%): $84,200
Upper Bound (80%): $101,800

Translation: "Our best guess is $92,500, but we're 80% confident it will be between $84K and $102K."

Why the uncertainty? Revenue is inherently unpredictable. New competitors might enter the market. A product launch might exceed expectations. A key customer might churn. Prophet quantifies this uncertainty honestly rather than giving you a false sense of precision.

Component Breakdown

Scroll down to see how much each component contributes:

Component April 15 Contribution What It Means
Trend +$88,000 Base revenue at this point in time
Yearly Seasonality +$2,800 April is typically 3% above average
Weekly Seasonality +$1,200 Tuesdays are slightly above average
Holidays $0 No holidays on this date
Total Forecast $92,000 Sum of all components

This breakdown is incredibly valuable for planning. If you see that Q2 forecast is high primarily due to seasonal effects (not trend growth), you know not to over-hire based on that temporary bump.

Sample Output: SaaS Company Monthly Revenue Forecast

Let's look at a concrete example to bring this together. I'll walk you through a real forecast for a B2B SaaS company.

Historical Context

Company: B2B SaaS platform
Data Period: Jan 2025 - Mar 2026 (15 months)
Forecast Period: Apr 2026 - Jun 2026 (Q2 2026)
Revenue Type: Monthly Recurring Revenue (MRR)

What Prophet Found

Q2 2026 Forecast

Month Forecast Lower (80%) Upper (80%) Notes
April 2026 $94,200 $88,500 $99,900 Post-Q1 recovery, slight seasonal boost
May 2026 $96,800 $90,200 $103,400 Continued growth trend
June 2026 $99,100 $91,800 $106,400 Approaching $100K milestone
Q2 Total $290,100 $270,500 $309,700 Conservative budget: $270K

Key Insights from This Forecast

  1. Growth momentum: The trend shows healthy month-over-month growth continuing
  2. Seasonal recovery: April benefits from the end of Q1's typical slowdown
  3. Plan conservatively: Use the lower bound ($270K) for budget planning to avoid over-committing
  4. Widening uncertainty: Notice how the interval gets wider further out? That's normal - the future is inherently less certain.

Understanding Stripe website monitoring revenue tracking earnings reports helps you validate these forecasts against actual results as each month closes, creating a feedback loop for improving future predictions.

Accuracy Check: How to Validate Your Forecast

A forecast is only useful if it's accurate. Let me show you how to check whether you should trust Prophet's predictions for your specific business.

Holdout Validation

The gold standard for testing a forecast: hide recent data, make a prediction, then compare to what actually happened.

Here's how to do it:

  1. Split your data: Use 80% for training (e.g., Jan 2025 - Dec 2025) and hold out 20% for testing (e.g., Jan 2026 - Mar 2026)
  2. Generate forecast: Run Prophet on just the training data to predict Jan-Mar 2026
  3. Compare: Check how well the forecast matches what actually happened
Example Results:
Actual Jan 2026: $86,500
Forecast Jan 2026: $85,200 (within 1.5% - excellent!)

Actual Feb 2026: $91,000
Forecast Feb 2026: $87,800 (3.5% underestimate - good)

Actual Mar 2026: $88,900
Forecast Mar 2026: $90,100 (1.3% overestimate - excellent)

Error Metrics to Watch

The system will calculate several accuracy metrics. Here's what they mean in plain language:

Metric What It Measures Good Value
MAPE
(Mean Absolute Percentage Error)
Average % difference between forecast and actual Under 10% = excellent
10-20% = good
Over 20% = needs improvement
MAE
(Mean Absolute Error)
Average dollar difference (in your revenue units) Depends on scale - compare to your typical revenue range
Coverage % of actual values that fell within the uncertainty interval Should be close to your interval % (e.g., 80% coverage for 80% interval)
When Forecasts Fail: If your MAPE is above 20%, Prophet might not be capturing all the patterns in your data. Common reasons include: (1) Too little historical data, (2) Recent major business changes (new product, market shift), or (3) Highly irregular revenue patterns. In these cases, consider collecting more data or trying alternative methods like statistical significance testing for specific changes.

Visual Validation

Numbers are important, but sometimes the simplest explanation is the most useful. Look at the forecast chart and ask yourself:

Trust your domain expertise. If Prophet predicts a July spike but you know your industry always slows down in summer, investigate why the model thinks otherwise.

Use Cases: Budget Planning, Hiring, and Inventory

Now that you have a reliable forecast, what can you actually do with it? Let's explore practical applications.

1. Budget Planning and Resource Allocation

Your finance team needs to know: Can we afford to hire three engineers in Q2?

Use the lower bound of your forecast for conservative budgeting:

Q2 Forecast (lower 80%): $270,500
Current burn rate: $190,000/month = $570,000/quarter
Revenue - Costs = $270,500 - $570,000 = -$299,500 shortfall

Adding 3 engineers ($150K/year each = $112,500/quarter):
New shortfall = -$412,000

Conclusion: Only hire if you have sufficient runway/funding.

This conservative approach prevents over-hiring based on optimistic forecasts. For deeper analysis of prioritizing resources, check out our guide on ABC Pareto analysis for data-driven decisions.

2. Hiring and Capacity Planning

Your revenue forecast can drive staffing decisions:

3. Inventory and Supply Chain

For physical product businesses, revenue forecasts directly inform inventory planning:

May Revenue Forecast: $96,800
Average Order Value: $150
Expected Orders: ~645 orders

If typical order contains 2 units:
Need inventory for ~1,290 units in May

Add 20% buffer for uncertainty interval:
Order 1,550 units for May delivery

This prevents both stockouts (lost revenue) and over-ordering (cash tied up in inventory).

4. Investor and Board Reporting

Investors want to see data-driven growth projections. Instead of saying "We think Q2 will be good," you can present:

"Based on 15 months of historical data and Prophet time series analysis, we forecast Q2 revenue of $290K (range: $270K-$310K at 80% confidence). This represents 8% month-over-month growth, consistent with our trailing 6-month trend. We've validated the model with 10% MAPE on holdout data."

This level of rigor builds investor confidence in your planning process.

5. Campaign and Launch Timing

Should you launch your new product in April or wait until June?

Look at the seasonal component: If April shows a natural seasonal lift, launching then gives you tailwinds. If June is typically slower, launching in April gives you more time to build momentum before the seasonal dip.

When dealing with intermittent or irregular demand patterns in your forecasts, you might also want to explore the Croston method for intermittent demand forecasting, which complements Prophet for certain business scenarios.

Troubleshooting Common Issues

There's no such thing as a dumb question in analytics, so let's address the common problems people encounter when forecasting revenue.

Problem 1: "My forecast looks like a straight line"

Possible causes:

Solution: If you have less than a year of data, Prophet can't detect yearly seasonality reliably. Either collect more data or manually specify custom seasonality if you know your business has patterns (e.g., quarterly contract cycles).

Problem 2: "The uncertainty interval is huge"

Why it happens:

Solution: Wide intervals are Prophet being honest about uncertainty. For planning purposes, use the lower bound. To narrow intervals, you can: (1) Aggregate to weekly instead of daily, (2) Remove one-time events/outliers, or (3) Add more historical data.

Problem 3: "The forecast missed a major event"

Example: You launched a new product in February that doubled revenue, but the forecast doesn't show this continuing.

Why: Prophet assumes the future will follow historical patterns. It can't predict genuinely new events (product launches, market expansions, competitor exits).

Solution: Either:

Problem 4: "Seasonality seems backward"

Example: Prophet shows December as a low month, but you know it's your peak season.

Possible causes:

Solution: Check your raw data for errors. Verify dates are parsed correctly. If you only have 1-2 seasonal cycles, Prophet might be learning from outliers rather than true patterns.

Problem 5: "The forecast is accurate historically but wrong going forward"

Why: This is called "overfitting" - the model learned to fit past data perfectly but doesn't generalize to new data.

Solution: Prophet is designed to avoid overfitting, but it can happen if you've enabled too many custom seasonalities. Simplify your model by removing custom components and sticking with Prophet's automatic detection.

Remember: All models are wrong, but some are useful. The goal isn't perfect predictions - it's better decision-making. Even a forecast that's off by 15% is far more useful than having no forecast at all.

Ready to Forecast Your Revenue?

Try Prophet forecasting on your own revenue data with our free analysis tool. Upload your CSV and get a Q2 forecast in minutes.

Start Your Revenue Forecast Now →

Next Steps: Beyond Basic Forecasting

Congratulations! You've now built a solid revenue forecast with confidence intervals and validation metrics. Here's where to go from here:

1. Automate Your Forecasting

Instead of manually running forecasts each quarter, set up an automated pipeline:

2. Forecast Other Metrics

The same Prophet technique works for any time series:

3. Add External Factors

Prophet allows custom regressors - external factors that influence revenue:

4. Scenario Planning

Create multiple forecasts for different scenarios:

This helps you plan for uncertainty rather than being blindsided by changes.

5. Dive Deeper into Time Series

Once you're comfortable with Prophet, explore advanced techniques:

Key Takeaways

Let's recap what we've covered in this tutorial:

  1. Simple averages fail when revenue has trends, seasonality, and holiday effects
  2. Prophet automatically decomposes your revenue into understandable components
  3. Confidence intervals matter - use the lower bound for conservative planning
  4. Validate your forecasts with holdout data and error metrics before trusting them
  5. Apply forecasts practically to budgeting, hiring, inventory, and investor reporting
  6. All forecasts are uncertain - the goal is better decisions, not perfect predictions

The greatest value of a forecast is when it forces us to notice what we never expected to see - patterns in our revenue we wouldn't have spotted with simple averages or gut feeling. Prophet makes sophisticated time series analysis accessible to anyone with historical data.

Start with your own revenue data today. Upload it, run Prophet, and see what patterns emerge. You might be surprised by what your data reveals about your business.


Written by the MCP Analytics Team. Have questions about revenue forecasting? Try our free analysis tool or reach out to our team.