Introducing the Forecasts API — Event-driven forecasts for precise demand planning. Fast, accurate, and easy to run.
Explore Now
LogoLogo
Visit websiteWebAppGet DemoTry for Free
  • Introduction
  • Swagger UI
  • Loop
  • System Status
  • Getting Started
    • API Quickstart
    • Data Science Notebooks
    • PredictHQ Data
      • Data Accuracy
      • Event Categories
        • Attendance-Based Events
        • Non-Attendance-Based Events
        • Unscheduled Events
        • Live TV Events
      • Labels
      • Entities
      • Ranks
        • PHQ Rank
        • Local Rank
        • Aviation Rank
      • Predicted Attendance
      • Predicted End Times
      • Predicted Event Spend
      • Predicted Events
      • Predicted Impact Patterns
    • Guides
      • Geolocation Guides
        • Overview
        • Searching by Location
          • Find Events by Latitude/Longitude and Radius
          • Find Events by Place ID
          • Find Events by IATA Code
          • Find Events by Country Code
          • Find Events by Placekey
          • Working with Location-Based Subscriptions
        • Understanding Place Hierarchies
        • Working with Polygons
        • Join Events using Placekey
      • Date and Time Guides
        • Working with Recurring Events
        • Working with Multi-day and Umbrella Events
        • Working with Dates, Times and Timezones
      • Events API Guides
        • Understanding Relevance Field in Event Results
        • Attendance-Based Events Notebooks
        • Non-Attendance-Based Events Notebooks
        • Severe Weather Events Notebooks
        • Academic Events Notebooks
        • Working with Venues Notebook
      • Features API Guides
        • Increase Accuracy with the Features API
        • Get ML Features
        • Demand Forecasting with Event Features
      • Forecasts API Guides
        • Getting Started with Forecasts API
        • Understanding Forecast Accuracy Metrics
        • Troubleshooting Guide for Forecasts API
      • Live TV Event Guides
        • Find Broadcasts by County Place ID
        • Find Broadcasts by Latitude and Longitude
        • Find all Broadcasts for an Event
        • Find Broadcasts for Specific Sport Types
        • Aggregating Live TV Events
        • Live TV Events Notebooks
      • Beam Guides
        • ML Features by Location
        • ML Features by Group
      • Demand Surge API Guides
        • Demand Surge Notebook
      • Guide to Protecting PredictHQ Data
      • Streamlit Demo Apps
      • Guide to Bulk Export Data via the WebApp
      • Industry-Specific Event Filters
      • Using the Snowflake Retail Sample Dataset
      • Tutorials
        • Filtering and Finding Relevant Events
        • Improving Demand Forecasting Models with Event Features
        • Using Event Data in Power BI
        • Using Event Data in Tableau
        • Connecting to PredictHQ APIs with Microsoft Excel
        • Loading Event Data into a Data Warehouse
        • Displaying Events in a Heatmap Calendar
        • Displaying Events on a Map
    • Tutorials by Use Case
      • Demand Forecasting with ML Models
      • Dynamic Pricing
      • Inventory Management
      • Workforce Optimization
      • Visualization and Insights
  • Integrations
    • Integration Guides
      • Keep Data Updated via API
      • Integrate with Beam
      • Integrate with Loop Links
    • Third-Party Integrations
      • Receive Data via Snowflake
        • Example SQL Queries for Snowflake
        • Snowflake Data Science Guide
          • Snowpark Method Guide
          • SQL Method Guide
      • Receive Data via AWS Data Exchange
        • CSV/Parquet Data Structure for ADX
        • NDJSON Data Structure for ADX
      • Integrate with Databricks
      • Integrate with Tableau
      • Integrate with a Demand Forecast in PowerBI
      • Google Cloud BigQuery
    • PredictHQ SDKs
      • Python SDK
      • Javascript SDK
  • API Reference
    • API Overview
      • Authenticating
      • API Specs
      • Rate Limits
      • Pagination
      • API Changes
      • Attribution
      • Troubleshooting
    • Events
      • Search Events
      • Get Event Counts
    • Broadcasts
      • Search Broadcasts
      • Get Broadcasts Count
    • Features
      • Get ML Features
    • Forecasts
      • Models
        • Create Model
        • Update Model
        • Replace Model
        • Delete Model
        • Search Models
        • Get Model
        • Train Model
      • Demand Data
        • Upload Demand Data
        • Get Demand Data
      • Forecasts
        • Get Forecast
      • Algorithms
        • Get Algorithms
    • Beam
      • Create an Analysis
      • Upload Demand Data
      • Search Analyses
      • Get an Analysis
      • Update an Analysis
      • Partially Update an Analysis
      • Get Correlation Results
      • Get Feature Importance
      • Refresh an Analysis
      • Delete an Analysis
      • Analysis Groups
        • Create an Analysis Group
        • Get an Analysis Group
        • Search Analysis Groups
        • Update an Analysis Group
        • Partially Update an Analysis Group
        • Refresh an Analysis Group
        • Delete an Analysis Group
        • Get Feature Importance for an Analysis Group
    • Demand Surge
      • Get Demand Surges
    • Suggested Radius
      • Get Suggested Radius
    • Saved Locations
      • Create a Saved Location
      • Search Saved Locations
      • Get a Saved Location
      • Search Events for a Saved Location
      • Update a Saved Location
      • Delete a Saved Location
    • Loop
      • Loop Links
        • Create a Loop Link
        • Search Loop Links
        • Get a Loop Link
        • Update a Loop Link
        • Delete a Loop Link
      • Loop Settings
        • Get Loop Settings
        • Update Loop Settings
      • Loop Submissions
        • Search Submitted Events
      • Loop Feedback
        • Search Feedback
    • Places
      • Search Places
      • Get Place Hierarchies
  • WebApp Support
    • WebApp Overview
      • Using the WebApp
      • API Tools
      • Events Search
      • How to Create an API Token
    • Getting Started
      • Can I Give PredictHQ a Go on a Free Trial Basis?
      • How Do I Get in Touch if I Need Help?
      • Using AWS Data Exchange to Access PredictHQ Events Data
      • Using Snowflake to Access PredictHQ Events Data
      • What Happens at the End of My Free Trial?
      • Export Events Data from the WebApp
    • Account Management
      • Managing your Account Settings
      • How Do I Change My Name in My Account?
      • How Do I Change My Password?
      • How Do I Delete My Account?
      • How Do I Invite People Into My Organization?
      • How Do I Log In With My Google or LinkedIn Account?
      • How Do I Update My Email Address?
      • I Signed Up Using My Google/LinkedIn Account, but I Want To Log In With My Own Email
    • API Plans, Pricing & Billing
      • Do I Need To Provide Credit Card Details for the 14-Day Trial?
      • How Do I Cancel My API Subscription?
      • Learn About Our 14-Day Trial
      • What Are the Definitions for "Storing" and "Caching"?
      • What Attribution Do I Have To Give PredictHQ?
      • What Does "Commercial Use" Mean?
      • What Happens If I Go Over My API Plan's Rate Limit?
    • FAQ
      • How Does PredictHQ Support Placekey?
      • Using Power BI and Tableau With PredictHQ Data
      • Can I Download a CSV of Your Data?
      • Can I Suggest a New Event Category?
      • Does PredictHQ Have Historical Event Data?
      • Is There a PredictHQ Mobile App?
      • What Are Labels?
      • What Countries Do You Have School Holidays For?
      • What Do The Different Event Ranks Mean?
      • What Does Event Visibility Window Mean?
      • What Is the Difference Between an Observed Holiday and an Observance?
    • Tools
      • Is PHQ Attendance Available for All Categories?
      • See Event Trends in the WebApp
      • What is Event Trends?
      • Live TV Events
        • What is Live TV Events?
        • Can You Access Live TV Events via the WebApp?
        • How Do I Integrate Live TV Events into Forecasting Models?
      • Labels
        • What Does the Closed-Doors Label Mean?
    • Beam (Relevancy Engine)
      • An Overview of Beam - Relevancy Engine
      • Creating an Analysis in Beam
      • Uploading Your Demand Data to Beam
      • Viewing the List of Analysis in Beam
      • Viewing the Table of Results in Beam
      • Viewing the Category Importance Information in Beam
      • Feature Importance With Beam - Find the ML Features to Use in Your Forecasts
      • Beam Value Quantification
      • Exporting Correlation Data With Beam
      • Getting More Details on a Date on the Beam Graph
      • Grouping Analyses in Beam
      • Using the Beam Graph
      • Viewing the Time Series Impact Analysis in Beam
    • Location Insights
      • An Overview of Location Insights
      • How to Set a Default Location
      • How Do I Add a Location?
      • How Do I Edit a Location?
      • How Do I Share Location Insights With My Team?
      • How Do I View Details for One Location?
      • How Do I View My Saved Locations as a List?
      • Search and View Event Impact in Location Insights
      • What Do Each of the Columns Mean?
      • What Is the Difference Between Center Point & Radius and City, State, Country?
Powered by GitBook

PredictHQ

  • Terms of Service
  • Privacy Policy
  • GitHub

© 2025 PredictHQ Ltd

On this page
  • Forecast Accuracy Issues
  • Not Enough History
  • Weak or Unstable Signal
  • Early COVID-19 Disruption
  • Forecasting Too Fine-Grained
  • Misaligned Seasonality
  • Shifting Business Patterns
  • Misunderstanding Accuracy Metrics
  • Very Small but Non-Zero Demand Values

Was this helpful?

  1. Getting Started
  2. Guides
  3. Forecasts API Guides

Troubleshooting Guide for Forecasts API

Forecast Accuracy Issues

If you’re experiencing lower-than-expected forecast accuracy, there are a few common issues worth checking. Forecasting models rely on consistent, pattern-rich historical data to make reliable predictions. The more signal and structure in your input data, the better the output.

Not Enough History

Forecast models rely on repeated patterns in your data—seasonality, trends, and demand shifts over time. Without enough historical coverage, the model may struggle to detect these patterns or overfit to short-term fluctuations. We recommend providing at least 18 months of demand history.

What to try:

  • Include at least 18 months of historical demand to capture seasonality and other patterns.

  • Aggregate similar items, regions, or stores if individual series are sparse or noisy.

  • Focus on stable patterns: if your business underwent recent changes, exclude outdated data that no longer reflects reality.

  • Ensure consistent time intervals: avoid gaps or overlapping dates in your time series.

Weak or Unstable Signal

Even if your demand data passes basic data quality checks, forecast quality still depends on the strength and consistency of the demand signal. Flat lines, irregular spikes, or inconsistent patterns can make it harder for the model to detect meaningful trends.

What to try:

  • Aggregate similar products to boost volume and pattern strength.

  • Exclude outliers that don’t represent normal demand behavior (e.g. one-off promotional spikes).

  • Avoid artificial smoothing or flooring (e.g. replacing all zero values with 1), which can distort the signal.

  • Focus on series that show some recurring variation—the model performs best when it can detect trends and seasonality.

Early COVID-19 Disruption

The early months of the COVID-19 pandemic (typically March–June 2020 or longer for many businesses) created extreme, non-recurring shifts in demand across nearly all industries. These sudden drops or surges were driven by lockdowns, panic buying, or closures—none of which represent repeatable patterns the model can learn from.

Including this period in your training data may reduce accuracy, especially if your business has since stabilized or operates differently now.

What to try:

  • Exclude the early COVID-19 period (e.g. March–June 2020 or longer) if it doesn’t reflect current conditions.

  • Review data around major lockdowns or policy changes, even after 2020, and assess whether it’s relevant to keep.

  • If your business fundamentally changed (e.g. moved online, altered operating hours), consider using only post-change data for training.

Forecasting Too Fine-Grained

Forecasting works best when the signal in your data is stronger than the noise. Extremely granular forecasts—like low-volume SKUs or store-level daily data—can result in high error rates because there’s not enough volume or structure to model accurately.

What to try:

  • Aggregate similar products or channels to build a stronger, more consistent demand signal.

  • Filter out extremely low-volume series where demand is often zero or close to zero.

  • Avoid over-segmenting—forecasting too narrowly (e.g. SKU) may not be practical without enough volume.

Misaligned Seasonality

Some demand patterns repeat consistently each year—others don’t. If your data doesn’t include multiple seasonal cycles, or if the timing of spikes shifts from year to year, the model may struggle to generalize.

What to try:

  • Provide multiple full seasonal cycles (e.g. two Christmas periods, two summer holidays).

  • Avoid including only recent post-launch data unless the product is truly new.

  • Use longer history to help the model identify what demand shifts are predictable vs. one-offs.

Shifting Business Patterns

If your business has changed significantly—new pricing models, operational changes, store closures—the model may underperform if older demand no longer reflects current behavior.

What to try:

  • Trim outdated data that no longer reflects how your business operates.

  • Model each distinct version of the business separately, if feasible (e.g., pre/post relaunch).

  • Note recent changes when reviewing forecasts; short-term fluctuations may smooth out over time.

Misunderstanding Accuracy Metrics

Metrics like MAPE, MAE, and RMSE can tell different stories depending on your demand volume, volatility, and business goals. Don’t rely on a single metric in isolation.

What to try:

  • Use MAE for a straightforward measure of average error in units.

  • Use MAPE when your demand values aren’t near zero—it shows relative error in percentage terms.

  • Use RMSE if large deviations are especially costly in your business.

  • Compare forecasts visually as well—some patterns look worse in numbers than they are in practice.

Very Small but Non-Zero Demand Values

MAPE is sensitive not just to zeros, but also to very small non-zero demand values. When actuals are consistently low (e.g. 0.1, 0.5), even minor absolute errors can result in disproportionately large percentage errors. This can make the forecast seem worse than it actually is.

What to try:

  • Review your data for unusually small values—are they valid, or could they be artifacts of rounding, smoothing, or unit conversion?

  • Consider filtering, aggregating, or removing very low-volume series if they do not represent meaningful demand. This can reduce noise and improve the signal-to-noise ratio in your forecast evaluation.

  • Use alternative metrics such as Mean Absolute Error (MAE) or Root Mean Squared Error (RMSE), which are less sensitive to small denominators and provide more stable evaluations.

PreviousUnderstanding Forecast Accuracy MetricsNextLive TV Event Guides

Last updated 24 days ago

Was this helpful?