Always free usage limits
As part of the Google Cloud Free Tier, BigQuery offers some resources free of charge up to a specific limit. These free usage limits are available during and after the free trial period. If you go over these usage limits and are no longer in the free trial period, you will be charged according to the pricing on this page.
|Resource||Monthly free usage limits||Details|
|Storage||The first 10 GB per month is free.||BigQuery ML models and training data stored in BigQuery are included in the BigQuery storage free tier.|
|Queries (analysis)||The first 1 TB of query data processed per month is free.||Queries that use BigQuery ML prediction, inspection, and
evaluation functions are included in the BigQuery analysis free
tier. BigQuery ML queries that contain
BigQuery flat-rate pricing is also available for high-volume customers that prefer a stable, monthly cost.
||The first 10 GB of data processed by queries that contain
BigQuery ML pricing
BigQuery ML models can be classified into two different categories: built-in models and external models. BigQuery ML built-in models are trained within BigQuery, such as linear regression, logistic regression, kmeans, matrix factorization, and time series models. BigQuery ML external models are trained utilizing other Google Cloud services, DNN and boosted tree models (which are trained on AI Platform) and AutoML models (which are trained on the AutoML Tables backend). BigQuery ML model training pricing is based on the model type as well as your usage pattern: flat-rate or on-demand. BigQuery ML prediction and evaluation functions are executed within BigQuery ML for all model types, priced as explained below.
BigQuery ML flat-rate pricing
BigQuery offers flat-rate pricing for high-volume or enterprise customers who prefer a stable monthly cost rather than paying the on-demand price for model creation, evaluation, inspection, and prediction.
For current models, you can use reservations to train in BigQuery ML. If you choose flat-rate pricing, BigQuery ML costs are included in the monthly BigQuery flat-rate price.
Reservations to create built-in models
Like BigQuery queries, slots from reservation assignments with
QUERY are used to run
CREATE MODEL queries
for BigQuery ML built-in models.
Reservations to create external models
You must have both reservation assignments with job type
QUERY and job type
ML_EXTERNAL to run
CREATE MODEL queries for BigQuery ML external
QUERY type slots are used for preprocessing queries which
run within BigQuery, and the
ML_EXTERNAL type slots are used
to run model training on external Google Cloud services. Please follow
reservations workload management
to create reservations for external model training jobs. The slots usage per job
is calculated to maintain the price parity between BigQuery slot
and external Google Cloud service costs.
BigQuery ML on-demand pricing
BigQuery ML pricing for on-demand queries depends on the type of operation: model type, model creation, model evaluation, model inspection, or model prediction.
For time series models, when auto-arima is enabled for automatic hyper-parameter
tuning, multiple candidate models are fitted and evaluated during the training
phase. In this case, the number of bytes processed by the input
statement is multiplied by the number of candidate models, which can be
controlled by the AUTO_ARIMA_MAX_ORDER training option.
- For single time series forecasting with auto-arima enabled, when
AUTO_ARIMA_MAX_ORDERis (2, 3, 4, 5), the number of candidate models is (12, 20, 30, 42) respectively if non-seasonal d equals one or (6, 10, 15, 21), respectively otherwise.
- For multiple time series forecasting using
TIME_SERIES_ID_COL, the charge is for (12, 20, 30, 42) candidate models when
AUTO_ARIMA_MAX_ORDERis (2, 3, 4, 5) respectively.
- Note that this model selection only applies to model creation. For model evaluation, inspection, and prediction, only the selected model is used, with regular query pricing.
BigQuery ML on-demand pricing is as follows:
BigQuery ML dry run
Due to the nature of the underlying algorithms of some model types and differences in billing, the bytes processed will not be calculated for some model types until after training is completed due to the complexity of calculating the initial estimate.
BigQuery ML pricing example
BigQuery ML charges are not itemized separately on your billing statement. For current models, if you have a BigQuery flat-rate plan, BigQuery ML charges are included.
If you are using on-demand pricing, BigQuery ML charges are included in the BigQuery analysis (query) charges.
BigQuery ML jobs that perform inspection, evaluation, and prediction
operations incur the same charges as on-demand query jobs. Because
queries incur different charges, you must calculate
CREATE MODEL job costs
independently by using the Stackdriver audit logs. Using the audit logs, you can
determine the bytes billed by the BigQuery ML service for each
CREATE MODEL job. Then, multiply the bytes billed by the
appropriate cost for
CREATE MODEL queries in your regional or multi-regional
For example, to determine the cost of a query job in the
US that includes a
CREATE MODEL statement:
Open the Stackdriver Logging page in the Google Cloud Console.
Verify that the product is set to BigQuery.
Click the drop-down arrow in the "Filter by label or text search" box and choose Convert to advanced filter. This adds the following text to the filter:
Add the following text on line two below the
To the right of the Submit Filter button, choose the appropriate time frame from the drop-down list. For example, choosing Last 24 hours would display BigQuery ML
CREATE MODELjobs completed in the past 24 hours.
Click Submit Filter to display the jobs completed in the given time window.
After the data is populated, click View Options and choose Modify custom fields.
In the Add custom fields dialog, enter:
Click Save to update the results.
After the page is updated, the bytes billed by each BigQuery ML job appear to the right of the job's timestamp. If the bytes billed are included in the free tier, no value appears. For example:
To calculate the charges for the BigQuery ML
CREATE MODELjob, multiply the bytes billed by the BigQuery ML on-demand price. In this example, the
CREATE MODELjob processed 100873011200 bytes. To calculate the cost of this job in the
USmulti-regional location, divide the billed bytes by the number of bytes per TB, and multiply it by the model creation cost:
100873011200/1099511627776 x $250.00 = $22.94