---
schema_version: "1"
id: d0857db4972bcf69238cb0560c5ba41fdbd9eccbef89ca95a13a6218119f2281
title: Decision Matrices
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/ind/264-0-0/decision_matrices.md
canonical_url: https://help.salesforce.com/s/articleView?id=ind.decision_matrices.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 152dbaaaa7db12e1e0ea7099ad59352e3f04d21ce93889d54d12539fe4d420ae
description: A decision matrix matches input values to a table row and returns the row's output values. Expression sets and various digital procedures can call decision matrices. Decision matrices accept JSON input from, and return JSON output to the digital processes that call the matrices. Decision matrices are useful for implementing complex rules in a systematic, readable manner.
products:
  - Industry Solutions
  - Cross Cloud
release: "264"
---
# Decision Matrices

A decision matrix matches input values to a table row and returns the row's output values. Expression sets and various digital procedures can call decision matrices. Decision matrices accept JSON input from, and return JSON output to the digital processes that call the matrices. Decision matrices are useful for implementing complex rules in a systematic, readable manner.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
      <colgroup>
        <col style="width:50%">
        <col style="width:50%">
      </colgroup>
      <thead class="slds-text-title_caps ">
        <tr class="">
          <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d31949e36">User Permissions Needed</th>
        </tr>
      </thead>
      <tbody>
        <tr class="">
          <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d31949e36 ">To create, update, and delete decision matrices and matrix versions:</td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d31949e36 ">Rule Engine Designer</td>

        </tr>
        <tr class="">
          <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d31949e36 ">To use decision matrices in Business Rules Engine:</td>

          <td class="slds-cell-wrap" style="vertical-align:top;" headers="d31949e36 ">Rule Engine Runtime</td>

        </tr>
      </tbody>
    </table>

You can choose from these decision matrix types based on your business needs:

- [Standard Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.standard_decision_matrices.htm&release=264.0.0&type=5 "Standard decision matrices have characteristics, such as input columns, output columns, and versions, that are common to all decision matrices, irrespective of their type. Use standard decision matrices when you don't need the matrix to be part of a group or to be versioned row by row.")
- [Grouped Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.grouped_decision_matrices.htm&release=264.0.0&type=5 "With grouped matrices, you can group a matrix's data into different versions if several rows have the same column values. For example, in a matrix with age and gender-based transport fares, you can use gender as the matrix key, with male and female as the key values for the versions. This grouping prevents repeating male and female as row values in the matrix and groups the data for males in one version and females in another.")

Multiple versions of the same decision matrix can be active simultaneously. The start date, end date, and rank determine which version of the matrix to use. Ranks are ascending, so rank 2 is higher than rank 1. If the start date of one version of a decision matrix overlaps the end date of another, you can set rank values to determine which one to use. If a call to a decision matrix specifies an effective date, that date is used to find the correct matrix. If an effective date isn't specified, the default is today.

- **[Standard Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.standard_decision_matrices.htm&release=264.0.0&type=5)**  
    Standard decision matrices have characteristics, such as input columns, output columns, and versions, that are common to all decision matrices, irrespective of their type. Use standard decision matrices when you don't need the matrix to be part of a group or to be versioned row by row.
- **[Grouped Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.grouped_decision_matrices.htm&release=264.0.0&type=5)**  
    With grouped matrices, you can group a matrix's data into different versions if several rows have the same column values. For example, in a matrix with age and gender-based transport fares, you can use gender as the matrix key, with male and female as the key values for the versions. This grouping prevents repeating male and female as row values in the matrix and groups the data for males in one version and females in another.
- **[Text Ranges in Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.alphabetic_ranges_in_decision_matrices.htm&release=264.0.0&type=5)**  
    If your matrix has considerable data, use ranges to keep the matrix small. With text ranges, you can concisely specify a range of acceptable values in a matrix column instead of listing individual values.
- **[Numeric Ranges in Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.numeric_ranges_in_decision_matrices.htm&release=264.0.0&type=5)**  
    Use numeric ranges to keep matrices with sizable data small. With number ranges, you can concisely specify a range of acceptable values in a matrix column instead of listing individual values.
- **[Guidelines for Creating and Editing Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.considerations_for_decision_matrices.htm&release=264.0.0&type=5)**  
    Decision matrices require certain criteria to be met to successfully create versions or modify the data in existing versions.
- **[Create Standard Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.create_standard_decision_matrices_0.htm&release=264.0.0&type=5)**  
    You can create a standard decision matrix by uploading a CSV file, by creating a version of an existing matrix, or manually.
- **[Create Grouped Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.create_grouped_decision_matrices.htm&release=264.0.0&type=5)**  
    You can create a decision matrix that groups rows in versions based on a group key and, if necessary, a sub group key. Versions in a grouped decision matrix can have different start date time values. When a grouped matrix is invoked, the group or subgroup keys are considered like input variables, for which you must provide values for lookup.
- **[Manage and Maintain Decision Matrices](https://help.salesforce.com/s/articleView?id=ind.bre_manage_maintain_decision_matrices.htm&release=264.0.0&type=5)**  
    Learn how to edit decision matrix rows and columns, sort and filter matrix rows, and export matrices to CSV or DMN files.
- **[Decision Matrix Migration Considerations](https://help.salesforce.com/s/articleView?id=ind.decision_matrix_migration_considerations.htm&release=264.0.0&type=5)**  
    Here are a few typical migration scenarios and recommendations on how to maintain decision matrices in your target org for a successful migration.
- **[Decision Matrices for Developers](https://help.salesforce.com/s/articleView?id=ind.decision_matrices_for_developers.htm&release=264.0.0&type=5)**  
    Developers in your Salesforce org can employ decision matrix developer resources to use and extend decision matrices.