> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openlayer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mean squared error (MSE)

> Learn how to use the mean squared error test

## Definition

The mean squared error (MSE) test measures the average of the squared differences between the predicted values and the true values. MSE provides a measure of how close predictions are to the actual outcomes, with larger errors being penalized more heavily due to the squaring operation.

## Taxonomy

* **Task types**: Tabular regression.
* **Availability**: <Tooltip tip="Continuously evaluate your models and datasets as you iterate on their versions.">development</Tooltip>
  and <Tooltip tip="Monitor a model in production, measure its health, check for drifts and set up alerts.">monitoring</Tooltip>.

## Why it matters

* MSE is one of the most commonly used metrics for evaluating regression model performance.
* The squaring of errors means that larger prediction errors are penalized more heavily than smaller ones, making MSE sensitive to outliers.
* Lower MSE values indicate better model performance, with 0 representing perfect predictions.
* MSE is differentiable, making it suitable for gradient-based optimization algorithms during model training.

## Required columns

To compute this metric, your dataset must contain the following columns:

* **Predictions**: The predicted values from your regression model
* **Ground truths**: The actual/true target values

## Test configuration examples

If you are writing a `tests.json`, here are a few valid configurations for the MSE test:

<CodeGroup>
  ```json Development theme={null}
  [
    {
      "name": "MSE below 100",
      "description": "Ensure that the mean squared error is below 100",
      "type": "performance",
      "subtype": "metricThreshold",
      "thresholds": [
        {
          "insightName": "metrics",
          "insightParameters": null,
          "measurement": "mse",
          "operator": "<",
          "value": 100
        }
      ],
      "subpopulationFilters": null,
      "mode": "development",
      "usesValidationDataset": true,
      "usesTrainingDataset": false,
      "usesMlModel": true,
      "syncId": "b4dee7dc-4f15-48ca-a282-63e2c04e0689"
    }
  ]
  ```

  ```json Monitoring theme={null}
  [
    {
      "name": "MSE below 100",
      "description": "Ensure that the mean squared error is below 100",
      "type": "performance",
      "subtype": "metricThreshold",
      "thresholds": [
        {
          "insightName": "metrics",
          "insightParameters": null,
          "measurement": "mse",
          "operator": "<",
          "value": 100
        }
      ],
      "subpopulationFilters": null,
      "mode": "monitoring",
      "usesProductionData": true,
      "evaluationWindow": 3600,
      "delayWindow": 0,
      "syncId": "b4dee7dc-4f15-48ca-a282-63e2c04e0689"
    }
  ]
  ```
</CodeGroup>

## Related

* [RMSE test](/tests/catalog/rmse) - Root mean squared error (square root of MSE).
* [MAE test](/tests/catalog/mae) - Mean absolute error (less sensitive to outliers).
* [R-squared test](/tests/catalog/r2) - Coefficient of determination.
* [MAPE test](/tests/catalog/mape) - Mean absolute percentage error.
* [Aggregate metrics](/tests/performance/aggregate-metrics) - Overview of all available metrics.
