This guide provides a 3-week approach to build upon existing fit segmentation while adding custome enrichment sources. The 3-week timeline allows for thorough testing and validation while maintaining business continuity.
The methodology outlined here emphasizes validation at every step, cross-functional collaboration, and iterative improvement to deliver industry enrichment that drives measurable business impact.
Prerequisites - Week 1
Confirm the source of the new enrichment - usually Salesforce
Confirm the data points to enrich
Company Number of employees
Company Industry
Company Country
Lead job title
If Industry is included, create a spreadsheet mapping table to unify the different industry classifications from the different enrichment sources (MadKudu’s out-of-the-box industries vs your own Salesforce industries)
Align on fallback logic
Define hierarchical priority, for example:
Salesforce Account Enrichment Provider A > Salesforce Contact Enrichment Provider A > Salesforce Lead Enrichment Provider A > Salesforce Account Enrichment Provider B > Salesforce Contact Enrichment Provider B > Salesforce Lead Enrichment Provider B > MadKudu out-of-the-box enrichment
Step by step configuration - Week 2
Pull the new enrichment from all identified sources
Create the attribute mapping for these new fields once they are pulled into MadKudu
Create combined computations according to the decided priority
Name them “Employees combined”, “Industry combined”, “Country combined”
“Title combined” already exists by default; you just need to edit it by adding the new sources of enrichment
Find below all necessary templates, simply replace the attribute names
employees_combined - Type: Numeric - Mode: Advanced
CASE
WHEN employees > 0 THEN CAST(employees AS NUMERIC)
WHEN CAST(hg__employees_avg AS NUMERIC) > 0 THEN CAST(hg__employees_avg AS NUMERIC)
WHEN CAST(salesforce_lead_numberofemployees AS NUMERIC) > 0 THEN CAST(salesforce_lead_numberofemployees AS NUMERIC)
--WHEN CAST(salesforce_contact_employees AS NUMERIC) > 0 THEN CAST(salesforce_contact_employees AS NUMERIC)
WHEN CAST(salesforce_account_numberofemployees AS NUMERIC) > 0 THEN CAST(salesforce_account_numberofemployees AS NUMERIC)
ELSE NULL
ENDemployees_combined_bucket - Type: String - Mode: Advanced
CASE
WHEN employees_combined = 0 THEN '1 - 0'
WHEN employees_combined > 0 AND employees_combined <= 10 THEN '2 - ]0,10]'
WHEN employees_combined > 10 AND employees_combined <= 100 THEN '3 - ]10,100]'
WHEN employees_combined > 100 AND employees_combined <= 1000 THEN '4 - ]100,1000]'
WHEN employees_combined > 1000 THEN '5 - ]1000,infinity['
ENDindustry_raw_combined - Type: String - Mode: Advanced
CASE
WHEN industry IS NOT NULL THEN industry
WHEN hg__top_level_industry IS NOT NULL THEN hg__top_level_industry -- it can be a number
WHEN salesforce_lead_industry IS NOT NULL AND LOWER(salesforce_lead_industry) NOT LIKE '%unknown%' THEN salesforce_lead_industry
--WHEN salesforce_contact_industry IS NOT NULL AND LOWER(salesforce_contact_industry) NOT LIKE '%unknown%' THEN salesforce_contact_industry
WHEN salesforce_account_industry IS NOT NULL AND LOWER(salesforce_account_industry) NOT LIKE '%unknown%' THEN salesforce_account_industry
ELSE NULL
ENDindustry_combined - Type: String - Mode: Advanced
Here you will replicate the mapping you prepared in the spreadsheet Week 1
CASE
WHEN LOWER(industry_raw_combined) LIKE '%automotive%' OR LOWER(industry_raw_combined) LIKE '%automobile%' THEN 'Automotive'
WHEN LOWER(industry_raw_combined) LIKE '%consumer%discretionary%' THEN 'Consumer Discretionary'
WHEN LOWER(industry_raw_combined) LIKE '%consumer%goods%' OR LOWER(industry_raw_combined) LIKE '%sporting%goods%' THEN 'Consumer Goods'
...
ELSE NULL
ENDcountry_combined - Type: String - Mode: Advanced
CASE
WHEN company__country IS NOT NULL THEN company__country
WHEN pers_country <> 'not in table' AND pers_country <> 'cbit_unknown' THEN pers_country
WHEN hg__hqcountry IS NOT NULL AND hg__hqcountry NOT IN ('115054','160004','196210','197110') THEN hg__hqcountry
WHEN salesforce_lead_country IS NOT NULL THEN salesforce_lead_country
WHEN salesforce_contact_mailingcountry IS NOT NULL THEN salesforce_contact_mailingcountry
WHEN salesforce_account_billingcountry IS NOT NULL THEN salesforce_account_billingcountry
ELSE NULL
ENDDuplicate all live fit model(s)
Replace the original computations by combined computations in:
Check the performance of the new model against the live model to make sure the changes don’t have an impact on segmentation volumes
Iteration and Go Live - Week 2&3
Model validation
Pair review the sample page several times to check that the new enrichment is showing up as expected
Iterate on the configuration if you spot any misconfiguration or any gaps
Deploy the new model
Consider deploying on a Friday afternoon to avoid disrupting business
Monitor the Data Quality Improvements:
You should witness an increase in data coverage
This means a reduction in "Unknown" signals
And a reduction in the mismatch between signals and CRM information
Estimated time: 12 hours