How to Run TimesFM 3 Locally for Time Series Forecasting
Learn how to install Google's TimesFM 3 forecasting model locally, forecast zero-shot, and use covariates to catch demand spikes.

What is TimesFM 3?
TimesFM 3 is a time series foundation model from Google Research, built to forecast numeric sequences (sales, traffic, sensor readings, app usage) without being trained on your specific data first. It’s a 330 million parameter decoder only transformer, pre-trained on more than a trillion real and synthetic time points. Because of that pre-training, it can produce a zero shot forecast: you hand it a CSV of past values, and it predicts what comes next, no fine-tuning step required.
The model is published on Hugging Face as google/timesfm-3.0-pytorch, distributed as safetensors weights with an accompanying config file, and licensed for use under Google’s model license terms. It’s the latest release in the TimesFM line of research (the underlying architecture traces back to Google’s original TimesFM paper), and it adds a capability that matters a lot in practice: the ability to condition forecasts on known future events, called covariates.
TL;DR
- TimesFM 3 is a 330 million parameter decoder only transformer forecasting model from Google Research, pre-trained on over a trillion time points.
- It supports zero shot forecasting, meaning you can point it at a new time series with no training or fine-tuning and get a usable prediction immediately.
- The standout feature is covariate conditioning: you can feed it a future-known signal (a promotion flag, a holiday marker, a weather event) alongside historical values, and it folds that into the forecast.
- A hands-on demo using a synthetic dating-app usage dataset around a Pride event showed the blind univariate forecast missing the spike entirely, staying flat, while the covariate-aware forecast rode the surge closely.
- In that same test, mean absolute error dropped from around 3,000 users a day blind to about 1,000 with the event flag added, roughly three times sharper.
- The model is lightweight to run, consuming only a few megabytes of VRAM during inference and installable in minutes with
uvafter cloning the repo from GitHub. - Because it’s so small, TimesFM 3 can realistically run on a CPU or a modest laptop, not just a dedicated GPU rig.
Plans first. Then code.
Remy writes the spec, manages the build, and ships the app.
How do you install TimesFM 3 locally?
Installation follows a fairly standard pattern for a Hugging Face hosted PyTorch model:
- Clone the TimesFM repository from GitHub.
- From the root of the repo, install prerequisites. Using
uv(the fast Python package manager) makes this quick, typically finishing in a couple of minutes. - Download the model weights. Because TimesFM 3 is only 330 million parameters, the download is small and fast compared to large language models in the billions-of-parameters range.
- Point a Python script at the model, load it onto a GPU (or CPU), and run inference on your own CSV data.
No dedicated training loop, no GPU cluster, and no fine-tuning configuration is needed to get a first forecast out of the model. That’s the core appeal of a “foundation model” applied to time series: the heavy lifting of learning general temporal patterns already happened during Google’s pre-training, and your job is just inference.
What hardware do you actually need?
Less than you’d expect. In a live test on an Ubuntu machine with a discrete GPU, VRAM usage during inference stayed in the range of roughly 1.6 to 1.7 MB, essentially negligible for a modern GPU. That headroom means:
- You don’t need a high-end GPU card to run TimesFM 3. Any smaller GPU, including ones available through GPU rental services, is enough.
- CPU-only inference is realistic. Given the tiny memory footprint, running the model on a laptop without a discrete GPU is a legitimate option, not just a fallback.
- Rented cloud GPUs are overkill for this specific model unless you’re batching a large number of series simultaneously or building it into a higher-throughput pipeline.
This is a meaningful contrast to large language models, where VRAM is often the first bottleneck. TimesFM 3’s small parameter count keeps both storage and runtime memory low.
How does covariate based forecasting work?
The distinguishing feature of TimesFM 3, compared to a plain univariate forecaster, is that it can accept a second input signal alongside the historical values: a covariate that marks known future events.
In a demonstration built around a synthetic dataset of daily active users on a dating app during Sydney’s Pride season, the setup looked like this:
- The CSV had two columns: daily user counts and a flag marking which days fell during Pride.
- Historical data up to early February became the training history fed to the model.
- The next 30 days, spanning the Pride window, were held back to check the forecast against reality.
- The model was run twice. First blind, using only the historical user counts (univariate). Second, using the same history plus the Pride flag as a covariate the model could see extended into the future (multivariate).
The blind forecast learned the normal weekly rhythm of app usage and projected that flat pattern straight through the Pride period, missing the surge completely. The covariate-aware forecast, given the same underlying model but told in advance which days were Pride days, climbed to match the actual spike almost exactly, tracking the real black line on the output chart.
The measured gap was substantial: mean absolute error was around 3,000 users a day off in the blind run, and dropped to about 1,000 users a day off once the single covariate column was added, roughly a threefold improvement from one extra piece of information.
Why does this matter for real-world forecasting?
Most real business forecasting problems aren’t truly blind. You usually know something about the future before it happens: a planned promotion, a scheduled holiday, an expected weather event, a marketing push, a product launch date. Traditional forecasting workflows often struggle to incorporate that kind of forward-looking information cleanly, especially in a zero shot setting where you don’t want to retrain a custom model for every new series.
TimesFM 3’s covariate support addresses that gap directly. Any domain where you can flag a future date as “something unusual happens here” becomes a candidate use case:
- Retail demand planning around promotions or sales events.
- Energy load forecasting around known high-demand days.
- Staffing forecasts around holidays or major local events.
- Web or app traffic forecasting around planned campaigns or seasonal spikes.
In each case, the workflow is the same: you don’t need to train a new model. You add one column to your existing time series data flagging the known future event, and the pre-trained model incorporates that signal into its prediction.
Is TimesFM 3 worth using over older forecasting approaches?
For quick, low-effort forecasting where you have some advance knowledge of upcoming events, TimesFM 3 offers a genuinely useful shortcut. It skips the traditional forecasting pipeline of feature engineering, model selection, and retraining per dataset. The zero shot design means you can test it against a new series in minutes, and the demonstrated error reduction from adding a single covariate column (roughly threefold in the Pride season example) suggests the mechanism works as intended, not just as a marketing claim.
That said, it’s still a general-purpose foundation model, not a bespoke model trained deeply on your specific business’s historical quirks. For high-stakes forecasting decisions, it makes sense to validate its output against your own held-out historical data before trusting it in production, exactly the kind of blind-versus-covariate comparison shown in the walkthrough above. The low hardware requirements make that kind of validation cheap to run, so there’s little reason not to test it directly on your own data before deciding how much to rely on it.
Frequently Asked Questions
What is TimesFM 3 used for?
It’s used for time series forecasting: predicting future values in a numeric sequence such as sales, app usage, energy demand, or web traffic, based on historical data and optionally on known future events.
Do I need to train TimesFM 3 on my own data?
No. It’s designed for zero shot forecasting. You load the pre-trained weights from Hugging Face and run inference directly on your own time series without a separate training or fine-tuning step.
How much GPU memory does TimesFM 3 need?
Remy doesn't build the plumbing. It inherits it.
Other agents wire up auth, databases, models, and integrations from scratch every time you ask them to build something.
Remy ships with all of it from MindStudio — so every cycle goes into the app you actually want.
Very little. In testing, inference used only a few megabytes of VRAM, meaning the model can run comfortably on modest GPUs and is realistic to run on CPU-only machines as well.
What is a covariate in this context?
A covariate is an extra signal you provide alongside historical values, such as a flag marking promotion days, holidays, or event dates, that the model can see extends into the forecast period. It lets the model adjust predictions for known future events rather than treating the future as unknown.
How big is the TimesFM 3 model?
It has 330 million parameters, making it small compared to large language models, and it was pre-trained on over a trillion real and synthetic time points according to Google Research.
