KYB Evaluation Guide


In order to assist you in running further KYB evaluations on your own via a self-service model, we’ve created a mock KYB evaluation to mimic the process. To run this evaluation, we will be using public government data from the website, available at the Award Data Archive. The data represents all contract awards between U.S. suppliers and their U.S. government agency clients, and it can be used as a standard data set for testing data match and fill rates across multiple vendors. We currently offer two methods of running KYB evaluations:

  1. (Non technical users) Upload a CSV Through Console
    1. Please contact our sales team if you would like access.
  2. (Technical users) Download the code & and build with the API
    1. Python3

Download Test File

  1. Go to our KYB Evaluation repository in Github.
  2. Download sample_file.csv
  3. Open the file to preview.

We’ll run this data through Enigma’s KYB endpoint and get:

Enigma KYB's Advantages

Enigma’s best-in-class KYB solution surfaces registration filings resulting in >70% instant approvals on most customer data sets. Click here to view the final output of the batch append job on the Award Data Archive mentioned above.

Legal and DBA inputs

You can submit requests containing legal names and addresses, as well as 'doing business as' (DBA) names, assumed names, aliases, or operating names and addresses. Enigma's KYB endpoint can provide registration details, industries, and numerous other attributes based on either a legal name or a DBA name as input

State-only matching

The KYB endpoint leverages an optimized search algorithm that only needs the Business Name + State input combination. Even in cases where complete addresses for the queried businesses are unavailable, we can still provide a response based on a precise name + state combination.

Further Resources

Create a Console Account

  1. Create an account on our Console.
  1. Once signed up, you’ll see a dashboard on the home screen. You may explore the dashboard and site to become familiar with our resources.
  2. If you are running an API evaluation, this dashboard is where you’ll find your API key. You will need this when running the code to call the API.
  3. We have prepared an API mock evaluation here below. For the full API documentation, please refer to this section of the documentation.

Console Evaluation

  1. Contact our sales team to get access to the Console enrichment feature.
  2. To run a Console evaluation, go to Secure File Exchange in the menu on the left.
  3. Drag-and-drop the test file downloaded earlier into the window, or click “Select File” to select it from your system’s file manager. Then click “Upload.”
  4. Once uploaded, you’ll be directed to the “Sent” tab. You’ll find the file there, along with an “Enrich” button next to it. Click the “Enrich” button.
  5. This takes you to our Enrichment workflow. You will see a success message indicating that the file was successfully processed. Right below it, there’s a file preview to get a quick sense of the data and make sure your file was correctly uploaded to Enigma. When you’re done previewing the file, click “Continue.”
  6. Select “Start a new job.”
    Under Select a use case, choose “KYB Matching.”
  7. Match. You’ll see blocks for different input fields, such as “Name,” “Address,”, etc. These are the inputs that will run through the KYB endpoint. Under each field, assign the correct column:
    1. Name = “business_name”
    2. Street Address 1 = “street_address1”
    3. Street Address 2 = “street_address2”
    4. City = “city”
    5. State = “state”
    6. Postal Code = “postal_code”
      Once the fields are set, click “Continue.”
  8. Attributes. This is where you select the attributes you want to see in the result file. For this evaluation, click “Select All” to see the entire KYB package. Then continue.
  9. You’ll see this popup because OFAC was selected. You can change the sensitivity of the OFAC alerts. For this evaluation, use the default threshold 0.8. You can either type this in, or leave it blank (it will default to 0.8) and click “confirm.”
  10. Review. Give the output file a name of your choice and review your parameters below. Once you’re ready to kick off the job, click “Submit.”
    Once the file is finished processing, it’ll say “Finished” under the name and you can download the output.

Console Output

For more information about our KYB attributes, you can find full breakdowns here.

API Evaluation

  1. Download the following code and test data from Github.

  2. This package contains 2 files:

    1. sample_file.csv : This is the test asset we’ll be running an evaluation on. Here’s a snapshot of the data.
    2. : This is a Python script to run the inputs from sample_file.csv through Enigma’s KYB endpoint and generate a results file: unnested_results.csv.
  3. Open In line 9, paste your API key. This is the same key from your Console dashboard (see “Create a Console Account” section).

    1. import requests
      import json
      import csv
      import time
      import random
      import pandas as pd
      BASE_URL = ''
      API_KEY = '<YOUR_API_KEY>'
      start_time = time.time()
  4. If necessary, don’t forget to install dependencies specified in the file (eg, pandas).

  5. Run the script. Once this script has successfully run it will produce a CSV file with the endpoint responses in the root directory called unnested_results.csv.

Output Results

Results Summary

The test file contains 221 total businesses. Of those:

  • 92% match to a business in Enigma's comprehensive SMB data
  • 86% have industry data available
  • 81% match to a registration
  • 1-2% are flagged for either high-risk activities or OFAC
CountPercentage of total file
Total input rows220100%
Records with an Enigma SMB match20492%
Records with Enigma industry available19286%
Records with registrations data18584%
Records flagged in OFAC screening41.8%
Records with high-risk activities detected31.4%

Registrations Coverage


Out of 220 businesses, 84% matched to a registration. To determine which input fields were matched, take a look at the following columns:

  • data_legal_entities_matched_fields_0.address.street_address1
  • data_legal_entities_matched_fields_0.address.state
  • data_legal_entities_matched_fields_0.address.postal_code

You'll find all registration matches used name and state matching. Only ~40% used street address, city, and postal code. This is because of the optimized algorithm discussed earlier. If you don’t have full addresses for the businesses you’re querying, we can still return a response on just name and state.


Which businesses didn't match to a registration, and why?

34 records did not have a registration match. The top reasons are:

  • The record is a sole proprietorship. Sole props tend to have less publicly available data.
  • The record is not a business with a registration, but a public institution such as a university or state department.
  • The record is missing a state input.
  • The record is international.
    • Enigma only shows data within the US.

Risky Activities & OFAC


4 businesses were flagged through OFAC screening at the organization level. Example:

  • flagged on name: LMI
  • flag type: organization
  • watchlist: SDN

Risky Activities

We found high-risk activities for 3 businesses, where we show a risk flag "high" and the type of activity they engage in. Example:

  • risk flag: high
  • activity type: Firearms, Weapons and Ammunition

Learn More

For more information on our KYB endpoint, integration, and pricing, please contact our sales team.