Check out our High Performance Batch Processing API: Match and Enrich Data Using CSV/TSV Files as Input Data to our APIs Learn More

AI-Powered Individual Name Matching as a SQL Query: Native Application on Snowflake

Easily Access Interzoid's Individual Name Matching API within SQL Statements on the Snowflake Data Cloud.

Snowflake Native App

Access Interzoid Pre-Integrated on Snowflake

Identify data inconsistency and similarity with a single SQL query.

Examples of Inconsistent Data
Snowflake Marketplace
Discover on Snowflake Marketplace

Explore, learn, and launch our app directly from the Snowflake Marketplace. Elevate your data quality today!

Get App
Once the native application is added to your Snowflake account with a one-click install, the following SQL query is all you need to identify and cluster similar and inconsistently-spelled individual names in any Snowflake data table:
SELECT indiv,interzoid_indiv_match_app.indiv_match_core.org_simkey(org) AS indiv_key
FROM individuals
ORDER BY indiv_key;

Sample Matches (Sorted by Similarity Key)

Full Name Input Similarity Key
Jim Kelly wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw
James Kelley wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw
Mr Jim H Kellie wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw
Sally Anderson fOjMwYe9hOgKTa5LCDruK-NgkyDzasOV9Fqf-luTWXw
Ms. Sallie P Andersen fOjMwYe9hOgKTa5LCDruK-NgkyDzasOV9Fqf-luTWXw
Anthony Andersson HgbBNJatE57lPbhDsdXXmdTu3h4gYsYpF6fg2uXPeLU
Tony Andersen HgbBNJatE57lPbhDsdXXmdTu3h4gYsYpF6fg2uXPeLU
William Johnston HevsAxKTzPOOo3NgvxLeZ-Po8KTQ5zpBDjlvuaSdbag
Bill Johnson HevsAxKTzPOOo3NgvxLeZ-Po8KTQ5zpBDjlvuaSdbag
Willie P Jonsen HevsAxKTzPOOo3NgvxLeZ-Po8KTQ5zpBDjlvuaSdbag
MR WILL JOHNNSON III HevsAxKTzPOOo3NgvxLeZ-Po8KTQ5zpBDjlvuaSdbag
Jennifer Jackson CA3Rq7LYS4AOXN8Hh6DigWoOwTc_F3Y7TDzpoVjkySs
Jenn Jaxon CA3Rq7LYS4AOXN8Hh6DigWoOwTc_F3Y7TDzpoVjkySs
Ms. Jenny Jakson CA3Rq7LYS4AOXN8Hh6DigWoOwTc_F3Y7TDzpoVjkySs
Juanita figuroea uCrmoMc8VijLYjuzh4tqL_KcVyXZ_TGfNd61CIsl0mo
JUNITA FIGUEROA uCrmoMc8VijLYjuzh4tqL_KcVyXZ_TGfNd61CIsl0mo
"Chopra, Prateek" Dp00zJ1_WWddan3nLBSL6aqgwWBtbqaPFF29yR3rzxA
Pratik Shoprah Dp00zJ1_WWddan3nLBSL6aqgwWBtbqaPFF29yR3rzxA
Peter Tchaikovsky 5tHIj3wAeekyEzMCdcQMBXHYDKgBNbMH3fhADY_T1ak
Pyotr Chacovksi 5tHIj3wAeekyEzMCdcQMBXHYDKgBNbMH3fhADY_T1ak
Nguyễn Vi cJ7E57XkBQZtRIvIYpeqBjVxr2A2M2_yzkURqM9CB0Q
Vi Nguyễn cJ7E57XkBQZtRIvIYpeqBjVxr2A2M2_yzkURqM9CB0Q
Yolanda Rodriguez aVOUbWRcTCn-QuZz8WdXsL3OPK9Pt6-2m8ezzyv3mgs
Yoland rodriguez-bichau aVOUbWRcTCn-QuZz8WdXsL3OPK9Pt6-2m8ezzyv3mgs
Allison Mcbeal xFtG5up_jjOK3pXssdAUa0l2sfC1kkIaeA7qw7jXi0U
Allie Mcbeel xFtG5up_jjOK3pXssdAUa0l2sfC1kkIaeA7qw7jXi0U
Allisan Mcbiele xFtG5up_jjOK3pXssdAUa0l2sfC1kkIaeA7qw7jXi0U
Gerhard Schroeder Zzr4ig2wT4ku4i-ECU3uEYDCCglk5r2nbYmGOkMqw5g
Herr Geahardt Shroder Zzr4ig2wT4ku4i-ECU3uEYDCCglk5r2nbYmGOkMqw5g
Yousef Goldstein rmWKCF8mqDRg9km5j0T9n5STdca2k5VmkXyidcjJiNg
Yosif Gouldstine rmWKCF8mqDRg9km5j0T9n5STdca2k5VmkXyidcjJiNg
Declan Macleoud s63A-iOM4PFp_8Tqbz5mXAeyYLHppWTzUVd4b0vGm6s
Deklyn McLeod s63A-iOM4PFp_8Tqbz5mXAeyYLHppWTzUVd4b0vGm6s
Declin S Makleod s63A-iOM4PFp_8Tqbz5mXAeyYLHppWTzUVd4b0vGm6s
Chancy M. Sorrell vnIOllnSYITvEWz8Cl7MulzmOnXU0119qyLzIxpgWpI
Chauncey Sourrel vnIOllnSYITvEWz8Cl7MulzmOnXU0119qyLzIxpgWpI
Danny Xue Cho b5UJyQo46lsRlL814yN0DzMm0Za6x7_K7Ix3nIgdTPc
DANIEL CHOU b5UJyQo46lsRlL814yN0DzMm0Za6x7_K7Ix3nIgdTPc
Henryk Górecki F5cYmvvZLBXYO0WP_AzYJEgbYn5xu8lmajkQm5e9Rns
Henrik Goreky F5cYmvvZLBXYO0WP_AzYJEgbYn5xu8lmajkQm5e9Rns
Khalil Ahmed ZAk5mzPAgznU5F8sDXQ2GAetkougzr312-5LNoTdm8o
Kaleel Ahmad ZAk5mzPAgznU5F8sDXQ2GAetkougzr312-5LNoTdm8o
Bill Jameson qwzJ06K4MIWgBSMfBeEODtrTWZNJ7l-RYd3ljtaX9NY
William R. Jamison qwzJ06K4MIWgBSMfBeEODtrTWZNJ7l-RYd3ljtaX9NY
Jim Donaven TRANEIr_o8zMJ4h64s9loOslPgZfTP2C87Y9ZA8U_ww
James Donovan TRANEIr_o8zMJ4h64s9loOslPgZfTP2C87Y9ZA8U_ww
Gavin McMillan wejBrJ3mVL0eJHdmVe9x22SoVGknjjgeblp-x3aCnlo
Gaven P. MacMillen III wejBrJ3mVL0eJHdmVe9x22SoVGknjjgeblp-x3aCnlo
Elizabeth Donnelly d_EJMv3xGPvxCbzq1QSzNc_6UlHR09jzZd-9Nyb2vac
Liz Donley d_EJMv3xGPvxCbzq1QSzNc_6UlHR09jzZd-9Nyb2vac
Lori Greenberg bWE74AD66xUhsbNWGoSpVvNrcxHMiR5T9xi_EJuC8xo
Ms Laura J Greenburgh bWE74AD66xUhsbNWGoSpVvNrcxHMiR5T9xi_EJuC8xo
Pete Cellars lukdj25kUSSmzfdx4b6_054ik2KZ9oDmtFrAZcbocG0
Peter Sellers lukdj25kUSSmzfdx4b6_054ik2KZ9oDmtFrAZcbocG0
Petr R. Selars lukdj25kUSSmzfdx4b6_054ik2KZ9oDmtFrAZcbocG0
tracy vasquez ijFudCrLVKwefMi3FIp6SB3mFWayQUMb7gEemQYj9dY
Tracie Vasques ijFudCrLVKwefMi3FIp6SB3mFWayQUMb7gEemQYj9dY
Kenny Vonn Jr. _2IJTULo5srgo6kbdd7oB4YjTGHxMxfWx4VY7oLDOCM
KENNETH VAUGHN _2IJTULo5srgo6kbdd7oB4YjTGHxMxfWx4VY7oLDOCM

Groups of rows with the same color share the same similarity key, indicating they are considered similar records. This is especially powerful when combined with other columns of available data as part of the match query.

Overview

Interzoid's Individual Name Matching Snowflake Native Application addresses the issues of inconsistency and redundancy in individual names within data tables. These issues can otherwise hinder accurate data analysis, customer communication, data-driven processes, AI model effectiveness, and other data-centric activities.

By leveraging specialized algorithms, machine learning, extensive knowledge bases, and fine-tuned AI models, the application generates a canonical key (a textual string) using Interzoid's Individual Name Matching API. This key helps identify and match "similar" individual name data values, whether within a single table or across multiple tables, using simple SQL statements on the Snowflake data platform. The functionality is made available as a "User-Defined Function" (UDF) and can be accessed as part of a SQL statement. Examples of similarity keys are provided below.

Features

  • Generation of similarity keys helps to enable significant data quality improvement by identifying inconsistent data, discovering duplicate records, addressing matching challenges across joins, and more.
  • Snowflake's Native Application platform makes it easy and fast to get started identifying data consistency and quality issues in any Snowflake table.
  • Simply install the app from Snowflake Marketplace, obtain an API key from Interzoid, provide it as a "Secret" using Snowflake SQL, and you're off and running.

Snowflake Marketplace Installation

  1. Log in to your Snowflake account.
  2. Navigate to the Snowflake Marketplace.
  3. Search for "Interzoid Indiv Match".
  4. Once located, click "Get" and follow the Snowflake installation instructions to install the native application to your Snowflake account for use.

Initial Setup

  1. Obtain your Interzoid API License Key by registering at www.interzoid.com.
  2. Enter the API License Key in the Snowflake Secrets Manager using the Security icon in the upper right on the installed Application's main page. On the 'Privileges' tab, click 'Add' next to the API License Key object, enter your API key, and click 'Configure'.
  3. In the same security section, click on the 'Connections' tab and click 'Review' on the api.interzoid.com connection, and then 'Connect'. This will complete the setup of the application and the external API access. Copy the (database.schema.secret) value of the 'Authentication with Interzoid API Key' field in this Connections tab of the Security panel, as your GRANT statement values for secret authorization may be different in the configuration script below.
  4. Run the following configuration script in a Snowflake SQL Worksheet. This script sets the correct privileges, and then creates a test database and schema as an example to try out use of the API within the created User Defined Function (UDF). This script can be customized to provide authorization and access to your own databases, schemas, and tables so you can immediately begin performing data quality analysis and increasing match rates on your own data.
USE APPLICATION interzoid_indiv_match_app;

GRANT USAGE ON DATABASE INTERZOID_INDIV_MATCH_APP_APP_DATA TO APPLICATION interzoid_indiv_match_app;

GRANT USAGE ON SCHEMA INTERZOID_INDIV_MATCH_APP_APP_DATA.CONFIGURATION TO APPLICATION interzoid_indiv_match_app;

-- Use your 'Authentication with Interzoid API Key' (database.schema.secret) as described above in the initial setup
GRANT USAGE ON SECRET INTERZOID_INDIV_MATCH_APP_APP_DATA.CONFIGURATION.INTERZOID_INDIV_MATCH_APP_INTERZOID_AUTH_KEY TO APPLICATION interzoid_indiv_match_app;

Running the Interzoid Individual Match App

The following initializes the native application, which then enables the execution of the sample SQL statements using the Interzoid similarity key functionality. This demonstrates how the function can be called a single value at a time.

CALL interzoid_indiv_match_app.indiv_match_core.init_app(PARSE_JSON('{
        "secret_name": "interzoid_auth_key",
        "external_access_integration_name": "interzoid_external_access_integration",
    }'));

SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Jim Kelly');
SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('James Kelley');
SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Mr. Jim H. Kellie');

SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Sally Anderson');
SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Ms. Sallie P Andersen');

SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Juanita figuroea');
SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('JUNITA FIGUEROA');

SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Chopra, Prateek');
SELECT interzoid_indiv_match_app.indiv_match_core.indiv_simkey('Pratik Shoprah');

Similarity Key Examples

These are examples of the algorithmically and AI-generated similarity key strings used to identify inconsistent individual name data. These keys can be used to identify, match, and cluster similar individual names, either within one table or across multiple tables. Note that similar individual names generate the same similarity key, which can then be used to match and cluster similar data.

Jim Kelly -> wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw
James Kelley -> wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw
Mr. Jim H. Kellie -> wSj_mICOU22GjuhAyBrtk4bV6R-sK-83drNPEJ1z6tw

Sally Anderson -> fOjMwYe9hOgKTa5LCDruK-NgkyDzasOV9Fqf-luTWXw
Ms. Sallie P Andersen -> fOjMwYe9hOgKTa5LCDruK-NgkyDzasOV9Fqf-luTWXw

Juanita figuroea -> uCrmoMc8VijLYjuzh4tqL_KcVyXZ_TGfNd61CIsl0mo
JUNITA FIGUEROA -> uCrmoMc8VijLYjuzh4tqL_KcVyXZ_TGfNd61CIsl0mo

Chopra, Prateek -> Dp00zJ1_WWddan3nLBSL6aqgwWBtbqaPFF29yR3rzxA
Pratik Shoprah -> Dp00zJ1_WWddan3nLBSL6aqgwWBtbqaPFF29yR3rzxA

Entire Snowflake SQL Table Example

Another way to try is to create a simple table inserting these individual names into a table to demonstrate usage of the similarity key generation function within a SQL statement on the Snowflake platform:

create database test_db;
create schema test_db.test_schema;

CREATE TABLE test_db.test_schema.individuals (
    indiv TEXT);

 INSERT INTO test_db.test_schema.individuals (indiv) VALUES
    ('Jim Kelly'),
    ('Ms. Sallie P Andersen'),
    ('Pratik Shoprah'),
    ('JUNITA FIGUEROA'),
    ('Mr. Jim H. Kellie'),
    ('James Kelley'),
    ('Juanita figuroea'),
    ('Chopra, Prateek'),
    ('Sally Anderson');

After the table is created, the following query generates a similarity key for each individual name using the Interzoid API behind-the-scenes. Sorting by the generated similarity key will then cluster similar individual names next to each other.

-- Use your 'Authentication with Interzoid API Key' (database.schema.secret) as described above in the initial setup
GRANT USAGE ON SECRET INTERZOID_INDIV_MATCH_APP_APP_DATA.CONFIGURATION.INTERZOID_INDIV_MATCH_APP_INTERZOID_AUTH_KEY TO APPLICATION interzoid_indiv_match_app;

GRANT USAGE ON DATABASE test_db TO APPLICATION interzoid_indiv_match_app;
GRANT USAGE ON SCHEMA test_db.test_schema TO APPLICATION interzoid_indiv_match_app;

USE APPLICATION interzoid_indiv_match_app;

SELECT indiv,interzoid_indiv_match_app.indiv_match_core.indiv_simkey(indiv) AS indiv_key
FROM individuals
ORDER BY indiv_key;

Snowflake query results:

Sorted Snowflake Match Results

Sorting by similarity key clusters similar individual names together.

From here, the flexibility and possibilities are endless with your own data, including duplicate identification, using multiple-column matching, custom business logic, joins that overcome data inconsistency, and more.

Advanced Use Cases

The Interzoid Individual Name Matching Snowflake Native Application can be leveraged for various advanced use cases, including:

  • Customer data deduplication and consolidation
  • Use similarity keys as a search mechanism within large datasets
  • Signficantly increasing match rates when matching existing data to third party enrichment data
  • Enhancing data quality for AI & machine learning models
  • Building intermediary SQL tables for custom entity resolution
  • Combining similarity keys with other columns for matching data in specific contexts
  • Facilitating more accurate data analysis and reporting throug efficient, consistent, and usable data
  • Streamlining data integration processes within data pipelines and part of ETL/ELT processes
  • Fraud detection by identifying similar names across different datasets
  • Improving customer relationship management by unifying customer profiles
  • Enhancing data quality for machine learning models in personalization and recommendation systems
  • Facilitating more accurate data analysis and reporting in healthcare and financial services

Performance Considerations

While the Interzoid API is built for high performance with in-memory AI models, consider the following tips to optimize your queries:

  • Any table or view can be the target of Interzoid data quality analysis at any time as you experiment
  • High volume datasets can be split and run in parallel with Interzoid for faster processing
  • Utilize Snowflake's caching capabilities to improve repeated query performance
  • Monitor your Interzoid API usage to ensure you stay within your plan limits without additional costs

Best Practices

To get the most out of the Interzoid Organization Matching application:

  • Regularly analyze your data for data quality issues to ensure the most accurate analytics results
  • Combine the similarity key matching with other data quality processes for comprehensive data management
  • Use the matching results as a starting point for pre-analytics or pre-AI data assessments
  • Use additional columns besides similarity keys for matching purposes for best results

Integration with Other Snowflake Features

The Interzoid Individual Name Matching application can be seamlessly integrated with other Snowflake features to enhance your data management capabilities:

  • Use Snowflake Tasks to schedule regular data quality checks using the matching function
  • Leverage Snowflake Streams and Tasks for real-time data matching as new data is ingested
  • Combine with Snowflake's geospatial functions for location-based name matching and analysis
  • Utilize Snowflake's data sharing capabilities to securely match names across different organizations

Support and Resources

For additional support and resources:

Ready to Enhance Your Data Quality?

Start using the Interzoid Individual Name Matching Snowflake Native Application today and experience the power of AI-driven data matching.

Get Started on Snowflake Marketplace