---
schema_version: "1"
id: babfef334b65151a05849f945db48ead8dfd2f01028dc02d3da9cb644c051850
title: Matching Algorithms Used with Matching Methods
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/matching_rules_matching_algorithms.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.matching_rules_matching_algorithms.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3c27e355b9b2c6c0a12926be3bb0cd8935eacb709d15cb99c3cd292fb06f9498
description: The matching method and its corresponding matching algorithms are part of the matching rule’s matching criteria. They help determine how a specific field in one record is compared to the same field in another record and whether the fields are considered matches.
products:
  - Sales
  - Sales Enablement
release: "264"
---
# Matching Algorithms Used with Matching Methods

The matching method and its corresponding matching algorithms are part of the matching rule’s matching criteria. They help determine how a specific field in one record is compared to the same field in another record and whether the fields are considered matches.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: Lightning Experience and Salesforce Classic</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Essentials</strong>, <strong>Professional</strong>, <strong>Enterprise</strong>, <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr></tbody></table>

We provide an exact matching method and several fuzzy matching methods. When the exact matching method is selected, the exact matching algorithm is used to compare the fields. When a fuzzy matching method is selected, various fuzzy matching algorithms are used to compare the fields.

More than one matching algorithm can be used to compare a field. Each matching algorithm is scored based on how closely it matches the fields. The fields being compared aren’t case sensitive.

**Matching Algorithms Available with the Exact Matching Method**

 
| Matching Algorithm | Description |
| --- | --- |
| Exact | Determines whether two strings are the same. For example, salesforce.com and Salesforce aren’t considered a match because they’re not identical. The algorithm returns a match score of 0. |

**Matching Algorithms Available with Fuzzy Matching Methods**

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:29.5%">
          <col style="width:70.5%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d1005e132">Matching Algorithm</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d1005e135">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Acronym</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines whether a business name matches its acronym. For example, Advanced
              Micro Devices and its abbreviation AMD are considered a match, returning a score of
              100.</td>

          </tr>


          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">
              <span id="matching_rules_matching_algorithms__EditDistanceEntry"><a name="matching_rules_matching_algorithms__EditDistanceEntry"><!-- --></a>Edit Distance</span>
            </td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines the similarity between two strings based on the number of deletions,
              insertions, and character replacements needed to transform one string into the
              other. For example, VP Sales matches VP of Sales with score of 73.</td>

          </tr>

          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Initials</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">
              <p>Determines the similarity of two sets of initials in personal names. For
                example, the first name Jonathan and its initial J match and return a score of
                100.</p>
              <div class="slds-box slds-box_x-small slds-theme_shade slds-m-top_medium slds-m-bottom_medium">
                <div class="slds-media slds-media_responsive">
                  <div class="slds-media__figure"><span class="slds-icon_container slds-icon_container_circle slds-icon-note-note"><img style="margin-bottom:0;" src="https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-data_quality-264-0-0-production-enus/abf88105-66d5-422e-983e-0592556338d7/images/icon_note.png" alt="Note"></span></div>
                  <div class="slds-media__body" style="padding-top:.5rem;padding-bottom:.5rem;"><span class="slds-text-title_caps">Note</span> When First Name is set to fuzzy matching and Last Name is set to exact
                    matching, in the index, the initials include the last letter of a contact’s first
                    name. For example, Jane Smith is indexed as jesmith instead of jsmith. To match
                    only the first initial of a first name, create a custom matching rule with both
                    First Name and Last Name set to fuzzy matching.</div>
                </div>
              </div>
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Jaro-Winkler Distance</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines the similarity between two strings based on the number of character
              replacements needed to
              transform one string into the other. This method is best for short strings, such as
              personal names. For example, Johnny matches Johny with a score of 97.</td>

          </tr>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Keyboard Distance</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines the similarity between two strings based on the number of deletions,
              insertions, and character replacements needed to transform one string into the
              other, weighted by the position of the keys on the keyboard.
            </td>

          </tr>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Kullback Liebler Distance</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines the similarity between two strings based on the percentage of words
              in common. For example, Director of Engineering matches Engineering Director with a
              score of 65.</td>

          </tr>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Metaphone 3</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines the similarity between two strings based on their sounds. This
              algorithm attempts to account for the irregularities among languages and works well
              for first and last names. For example, Joseph matches Josef with a score of
              100.</td>

          </tr>
          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Name Variant</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">Determines whether two names are a variation of each other. For example, Bob is
              a variation of Robert and returns a match score of 100. Bob is not a variation of
              Bill and returns a score of
              0.</td>

          </tr>

          <tr class="">
            <td data-label="Matching Algorithm" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e132 ">Syllable Alignment</td>

            <td data-label="Description" class="slds-cell-wrap" style="vertical-align:top;" headers="d1005e135 ">
              <p>Determines the similarity between two strings based on their sounds. First, the
                character strings are converted into syllables strings. Then the syllable strings
                are also compared and scored using the Edit Distance algorithm. This matching
                algorithm works well for company names. </p>
              <p style="margin-bottom:0;">For example, Syllable Alignment gives
                Department of Energy and Department of Labor a relatively low score of 59. The
                syllable sequences of these two company names differ more than their character
                sequences (energy sounds very different from labor). Edit Distance gives the two
                strings a score of 74. Therefore, Syllable Alignment works better because the two
                strings aren’t good match candidates.</p>
            </td>

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