Location Matching and Verification

Taggun’s Location Matching and Verification precisely identifies and confirms merchant locations from receipt data, providing key geographical insights for transactions.

This is useful for shopping mall operators in the Customer Engagement sector, ensuring promotional rewards are exclusive to specific store locations within a mall.

How It Works

  • **Extraction:**Address information is extracted from the receipt or invoice.
  • Geocoding: The address is converted into geographical coordinates.
  • Matching: The location is matched against a database of known merchant locations using vector-based cosine similarity and Levenshtein distance algorithms.
  • Verification: The matched location is verified for accuracy. An address match is confirmed only if the receipt's address is within 46 kilometres of an address entry on the list.

Set-Up

1. Contact Taggun

Reach out to hello@taggun.io to enable this feature for your account.

This feature is available in all Verbose Data Extraction API Endpoints.

2. Implementation

To streamline this process, Taggun allows clients to set up merchant and location matching using a predefined list of known merchants and address details.

  1. Prepare a CSV file with a list of merchants including names and addresses.
  2. Import the CSV file to API Endpoint: /api/account/v1/known-merchants/import
  3. Initiate the import process. Note: This may take over a minute depending on the list size.
  4. Be aware that this import will replace any existing merchants set up for your account.
  5. After import, export the list from API Endpoint: /api/account/v1/known-merchants/export
  6. Verify the accuracy of the merchant data, especially geographical coordinates.
  7. Regularly update the merchant list to reflect any changes.

JSON Response

Definitions

Field Name

Type

Access Path

Description

Is the Merchant Name Matched?

Boolean

entities.normalisedMerchant.data.isMerchantNameMatched

This field is set to true if the detected merchant name is one of the valid stores listed. It can be true even if the store is not part of the mall stores. For example, a Nike receipt from outside of the mall can be matched correctly despite its location.

Is the Merchant Address Matched?

Boolean

entities.normalisedMerchant.data.isMerchantAddressMatched

This field is set to true if:

The merchant name is correctly matched, AND
The location corresponds to a valid store in one of the mall locations

Note: If a new store is added to the mall but not added to the list of known merchants, this field will return false even if the location matches perfectly.

Merchant Name

String

merchantName.data

The normalised merchant name on the receipt

Merchant Address

String

merchantAddress.data

The address of the merchant. This field is being enriched rather, than only returning what is being printed on the receipt

Merchant Address Confidence Level

Number

merchantAddress.confidenceLevel

When isMerchantAddressMatched is true,
Confidence scores scale from 0.5 to 0.99 based on the distance from the extracted location to the recorded merchant location:

Distance < 1km: 0.99 confidence score
Distance = 25km: 0.5 confidence score
Distances between these points are calculated linearly

Example Response

{
  "merchantLocation": {
    "address": "123 High St, London NW1 7JR, UK",
    "latitude": 51.5259,
    "longitude": -0.1403,
    "verified": true,
    "confidenceLevel": 0.92
  },
  "entities": {
    "normalisedMerchant": {
      "data": {
        "isMerchantNameMatched": true,
        "isMerchantAddressMatched": true
      }
    }
  },
  "merchantName": {
    "data": "Normalised Merchant Name"
  }
}

Additional Data Points

  • entities.normalisedMerchant.data.isMerchantNameMatched: Indicates whether the merchant name matches an entry on the predefined list.
  • entities.normalisedMerchant.data.isMerchantAddressMatched: Indicates whether the merchant address AND merchant name matches with an entry on the list.
  • merchantName.data: Reflects the normalised merchant name corresponding to the list entry.
  • merchantAddress.confidenceLevel: When isMerchantAddressMatched is true, confidence scores scale from 0.5 to 0.99 based on the distance from the extracted location to the recorded merchant location:
    • Distance < 1km: 0.99 confidence score
    • Distance = 25km: 0.5 confidence score
    • Distances between these points are calculated linearly

Use Cases

  • Shopping Mall Loyalty Programs: Ensures promotional rewards are exclusive to specific store locations within a mall and not applicable to other branches of the same brand in different locations.
  • Fraud Detection: Identifies unusual purchase locations.
  • Travel Expense Management: Accurately tracks and verifies expenses based on location.

Best Practices

  1. Use the verified flag to determine the reliability of the location data.
  2. Combine with Merchant Name Normalisation for the most accurate results.
  3. Consider time zone information when processing transaction times.
  4. Regularly update your merchant list to maintain accuracy.
  5. Verify the accuracy of geographical coordinates in your merchant list.

Get Started

By leveraging Taggun's Location Matching and Verification, businesses can ensure precise validation of merchant locations, enhancing the accuracy of loyalty programs and fraud detection systems.

Reach out to us at hello@taggun.io to get access to Taggun's Location Matching and Verification.