← Back to postsHow Do You Use the FORECAST Function in Google Sheets?

How Do You Use the FORECAST Function in Google Sheets?

Carlos GarciaCarlos Garcia9/30/2026

You have twelve months of sales in a column and someone wants a number for month thirteen. You could eyeball the trend and guess. Or you could let Google Sheets draw the straight line that best fits your data and read the answer off it.

That is exactly what FORECAST does. It is one formula, it takes three arguments, and it turns a column of history into a prediction in about ten seconds.

It is also one of the most misused functions in Sheets, because it will happily give you a confident-looking number for data that has no business being modelled with a straight line. The formula never refuses. It is your job to know when the answer is meaningful.

This guide covers the exact syntax, a worked example you can copy, how FORECAST differs from TREND and FORECAST.LINEAR, and the specific situations where it will mislead you.

The Short Answer

`FORECAST(x, data_y, data_x)` returns the predicted y value for a given x, based on a least-squares straight line fitted through your existing data.

In plain terms: `data_x` is what you already know (months, weeks, ad spend), `data_y` is the result you measured for each of those (revenue, signups, clicks), and `x` is the new input you want a prediction for.

So if your months are in A2:A13 and your revenue is in B2:B13, and you want month 13:

`=FORECAST(13, B2:B13, A2:A13)`

That is the whole thing. Everything else in this guide is about knowing whether to trust the output.

Forecasting traffic but not sure which pages are actually growing? Get a free SEO audit and see where your search visibility is heading.

What the Arguments Actually Mean

The argument order catches people out, because the thing you want to predict comes first and the two data ranges come in the opposite order to how you would naturally say them.

x — the value you are predicting for

This is a single value on the x-axis, not a range. If your x-axis is month numbers, `x` is a month number. If your x-axis is dates, `x` must be a date.

You can hard-code it, as in `FORECAST(13, ...)`, or point it at a cell, as in `FORECAST(D2, ...)`, which is what you want if you are going to drag the formula down for several future periods.

data_y — the dependent range

Google's documentation calls this "the range representing the array or matrix of dependent data." Dependent means the thing that responds: the outcome you measured.

This is the column you are trying to predict more of. Revenue, sessions, conversions, headcount.

data_x — the independent range

The independent range is the input that drives the outcome. Time is the usual one, but it does not have to be.

`data_x` and `data_y` must be the same length and must line up row for row. Row 5 of `data_x` has to correspond to row 5 of `data_y`, or you are fitting a line through scrambled pairs and the result is meaningless.

Any text Sheets encounters inside these ranges is ignored rather than treated as zero, which is helpful when a range picks up a stray header.

A Worked Example, Step by Step

Say you are tracking monthly organic sessions and you want a projection for the next quarter.

  1. Put your period numbers in column A. Use `1` through `12` in A2:A13 rather than month names, because FORECAST needs a numeric or date x-axis.
  2. Put the matching sessions in column B, B2:B13.
  3. In D2:D4, type the future periods you want: `13`, `14`, `15`.
  4. In E2, enter `=FORECAST(D2, $B$2:$B$13, $A$2:$A$13)`.
  5. Lock both ranges with dollar signs, as shown, so they do not shift when you copy the formula.
  6. Drag E2 down to E4. You now have three projected months.
  7. Select A2:B13 together with D2:E4 and insert a line chart to see the projection continue the historical line.

The dollar signs in step 5 are the step people skip. Without them, dragging the formula down slides both ranges down with it, so each row is fitted to a different and progressively shorter slice of your data.

Projecting growth from thin traffic data? Get a free SEO audit and find out which keywords can realistically carry that growth.

Using dates instead of period numbers

Dates work directly, because Sheets stores them as serial numbers underneath. If A2:A13 holds the first of each month and you want a prediction for 1 January 2027, you can write `=FORECAST(DATE(2027,1,1), B2:B13, A2:A13)`.

Just make sure the cells really are dates and not text that looks like dates. Text will be ignored, and a range that is entirely text will leave the formula with nothing to fit.

FORECAST, FORECAST.LINEAR, TREND and GROWTH

Sheets gives you several ways to do closely related things, and the naming does not make the differences obvious.

FORECAST.LINEAR

`FORECAST.LINEAR` takes the same three arguments and returns the same number. It exists because Microsoft renamed the function in Excel and Sheets added the newer name for compatibility.

Use whichever you prefer. If you are sharing a file with people who move it between Excel and Sheets, `FORECAST.LINEAR` is the safer spelling.

TREND

`TREND` does the same regression but returns an array, so one formula can produce every future value at once: `=TREND(B2:B13, A2:A13, D2:D4)`.

That is usually the better choice when you want several periods. One formula instead of a dragged column, and no risk of a range sliding out of place.

GROWTH

`GROWTH` fits an exponential curve rather than a straight line. If your data roughly doubles at a steady interval, GROWTH will describe it far better than FORECAST will.

The tell is simple: if the gaps between your values keep getting bigger rather than staying roughly constant, a straight line is the wrong shape.

SLOPE and INTERCEPT

FORECAST is arithmetic you could do yourself. `=SLOPE(B2:B13, A2:A13) * 13 + INTERCEPT(B2:B13, A2:A13)` gives you the same answer as `=FORECAST(13, B2:B13, A2:A13)`.

That is worth knowing because SLOPE and INTERCEPT let you see the line itself, which is far more informative than a single predicted point.

When FORECAST Is the Right Tool

FORECAST earns its keep in a narrow but common set of situations.

  • Short-horizon projections from a clear trend. One to three periods past the end of data you already have, where the historical line is visibly straight.
  • Filling a gap in the middle of a series. Interpolating a missing month between two known months is far safer than extrapolating past the end.
  • Converting between two correlated measures. If sessions and conversions move together reliably, FORECAST can estimate conversions for a session count you have not seen yet.
  • Sanity-checking someone else's target. If the number in the plan is triple what a straight line through last year produces, that is a conversation worth having.

The common thread is that you are asking a modest question of data that genuinely trends.

Where It Goes Wrong

FORECAST has no opinion about whether your data suits it. It returns a number regardless, which is precisely the danger.

It assumes a straight line, always

If your series is seasonal, your fitted line averages the peaks and troughs into a slope that describes neither. Forecast December from a year of retail data with FORECAST and you will badly undershoot.

Unlike Excel, Sheets has no built-in seasonal forecasting function in the FORECAST.ETS family, so seasonality is something you have to handle yourself, usually by deseasonalising the data first or by forecasting each season separately.

It extrapolates without limit

Ask for period 200 and you will get an answer, even if the line has gone negative or implies a number your market could not physically produce.

The further past your data you go, the less the fitted line means. Treat anything beyond a few periods as arithmetic rather than a forecast.

It gives you no error bars

A single number carries no indication of how well the line actually fits. Two datasets with identical trends and wildly different scatter produce identical FORECAST output.

Run `=RSQ(B2:B13, A2:A13)` alongside it. An R-squared near 1 means the points sit close to the line. A low one means your prediction is a coin flip dressed up as a formula.

It breaks on certain inputs

If every value in `data_x` is the same, there is no slope to compute and Sheets returns a division error. If your two ranges are different sizes, you get an error rather than a silently wrong answer, which is the one failure mode you can be grateful for.

It cannot see anything outside the columns

A pricing change, an algorithm update, a competitor launch. None of it is in your two ranges, so none of it is in the forecast. The formula models the past and nothing else.

Traffic forecast looking flat and not sure why? Get a free SEO audit and get a clear picture of what is holding your rankings back.

FORECAST vs the Alternatives

If FORECAST is the wrong fit, the next options are straightforward.

A chart trendline is often better for communicating. Insert a scatter or line chart, add a trendline in the Customise panel, and turn on the equation and R-squared. You see the fit and the scatter rather than one number.

Moving averages, using AVERAGE over a rolling window, are better for noisy data where you care about the current level more than the slope.

Seasonal decomposition done by hand, computing a monthly index and applying it to a straight-line base, handles retail and travel patterns that FORECAST cannot.

A proper forecasting tool is the answer once the decision carries real money. Spreadsheet regression is for orientation, not for financial commitments.

Want the forecast to point upward? Get a free SEO audit and find the keyword opportunities that change the slope of the line.

Final Thoughts

FORECAST is a three-argument formula that fits a straight line through your data and reads a value off it. The syntax is `FORECAST(x, data_y, data_x)`, the ranges must be equal length and aligned, and `TREND` is the better choice when you want more than one future value.

The formula is easy. The judgement is the work. Check that your data actually trends in a straight line, keep your horizon short, and put an R-squared next to any forecast you plan to show someone else.

If you want to see the line FORECAST is fitting rather than just its output, the same regression is what produces a chart trendline equation, and our guide on how to get y=mx+b on a Google Sheets graph walks through pulling the slope and intercept out directly.

Used inside its limits, it is one of the highest-value formulas in Sheets. Used past them, it is a very efficient way to be confidently wrong.