
== A_pipeline: exact 1/63 (1.6%)  acceptable 17/63 (27.0%)  | noisy vendor: labelled 61/63, unlabelled 115/129  | vendor==raw: 168/192
    21  trailing long digit run (ids, phone, ref)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'POS RETURN WM SUPERCENTER #1234')
    14  store/terminal number (#1234, T- 1234, F1234)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'POS RETURN WM SUPERCENTER #1234')
    11  abbreviation / contraction (WHOLEFDS, SBUX, WHSE, MKT)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'POS RETURN WM SUPERCENTER #1234')
    11  processor prefix SQ*/TST*/PP*/DD*/SP/IC*/PAR*/CMG*   e.g. ('SQ *BLUE BOTTLE COFFEE', 'Blue Bottle', 'SQ *BLUE BOTTLE COFFEE')
     8  return/refund/credit word glued to merchant   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'POS RETURN WM SUPERCENTER #1234')
     5  payroll/employer text   e.g. ('ADP PAYROLL 8872', 'ADP', 'ADP PAYROLL 8872')
     5  slash/vendor-sub-brand (CVS/PHARMACY, CHEVRON/CSI)   e.g. ('CVS/PHARMACY #4412', 'CVS', 'CVS/PHARMACY #4412')
     5  sub-brand / service of parent (UBER *EATS, PRIME, YOUTUBEPREMIUM)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'GOOGLE *YOUTUBEPREMIUM g.co/helppay')
     4  domain suffix / URL (.COM, g.co/helppay)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'GOOGLE *YOUTUBEPREMIUM g.co/helppay')
     3  ACH / bank-rail text (ACH, PPD, DES:, CO ID, EPAYMENT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'PAYROLL NORTHWIND LLC DD')
     3  trailing 'INC/LLC/CO/CORP/CABLE COMM'   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'PAYROLL NORTHWIND LLC DD')
     2  card-network preamble (PURCHASE AUTHORIZED ON, CHECKCARD, POS)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'POS RETURN WM SUPERCENTER #1234')
     2  P2P (Zelle/Venmo/Cash App/Apple Cash/'send money')   e.g. ('VENMO *PAYMENT 8005551234', 'Venmo', 'Venmo · VENMO *PAYMENT 8005551234')
     2  subscription descriptor (MEMBERSHIP, PLUS, PREMIUM, RENEWAL)   e.g. ('MICROSOFT*365 SUBSCRIPTION', 'Microsoft', 'MICROSOFT*365 SUBSCRIPTION')
     2  city/state/country suffix   e.g. ('UBER *EATS SAN FRANCISCO CA', 'Uber Eats', 'UBER *EATS SAN FRANCISCO CA')
     2  possessive/apostrophe (MCDONALD'S, JOE'S)   e.g. ("TRADER JOE'S #123 QPS", 'Trader Joe', "TRADER JOE'S #123 QPS")
     1  (no pattern)   e.g. ('DISNEYPLUS', 'Disney', 'DISNEYPLUS')
   multi-string: {'Acme': ['BONUS PAYMENT ACME INC', 'PAYROLL ACME INC'], 'Walmart': ['POS DEBIT WM SUPERCENTER #1234', 'POS RETURN WM SUPERCENTER #1234'], 'Blue Bottle': ['SQ *BLUE BOTTLE #4412', 'SQ *BLUE BOTTLE COFFEE'], 'Amazon': ['AMAZON.COM REFUND', 'AMZN MKTP US*2X4YT', 'AMZN MKTP US*Z1A2B3CD0'], 'Netflix': ['NETFLIX.COM', 'NETFLIX.COM 8665797', 'NETFLIX.COM REFUND'], 'Chevron': ['CHEVRON 0094213', 'CHEVRON/CSI 099213'], 'Whole Foods': ['REFUND WHOLEFDS MKT #123', 'WHOLEFDS MKT #123'], 'Delta': ['DELTA AIR 0062317654321', 'DELTA AIR LINES', 'DELTA AIR LINES REFUND'], 'Uber Eats': ['UBER *EATS SAN FRANCISCO CA', 'UBER EATS'], 'CVS': ['CVS/PHARMACY #4412', 'REVERSAL DUPLICATE CHARGE CVS/PHARMACY'], 'Spotify': ['PAYPAL *SPOTIFY USA', 'SPOTIFY USA'], 'Starbucks': ['SBUX STORE 09214', 'STARBUCKS STORE 0921'], 'Target': ['REFUND TARGET T-1234', 'TARGET T- 1234'], 'Uber': ['UBER *TRIP HELP.UBER.COM', 'UBER *TRIP REFUND'], 'Apple': ['APL* ITUNES.COM/BILL', 'APPLE.COM/BILL']}
   multi-key   : {'Acme': ['bonus payment acme', 'payroll acme inc'], 'Walmart': ['pos debit wm', 'pos return wm'], 'Amazon': ['amazon com refund', 'amzn mktp us'], 'Netflix': ['netflix com', 'netflix com refund'], 'Chevron': ['chevron', 'chevron csi'], 'Whole Foods': ['refund wholefds mkt', 'wholefds mkt'], 'Delta': ['delta air', 'delta air lines'], 'Uber Eats': ['uber eats', 'uber eats san'], 'CVS': ['cvs pharmacy', 'reversal duplicate charge'], 'Spotify': ['paypal spotify usa', 'spotify usa'], 'Starbucks': ['sbux store', 'starbucks store'], 'Target': ['refund target', 'target'], 'Uber': ['uber trip help', 'uber trip refund'], 'Apple': ['apl itunes com', 'apple com bill']}
   collisions  : {}

== B_enrich_normalize_raw: exact 11/63 (17.5%)  acceptable 35/63 (55.6%)  | noisy vendor: labelled 15/63, unlabelled 25/129  | vendor==raw: 0/192
     9  abbreviation / contraction (WHOLEFDS, SBUX, WHSE, MKT)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     8  store/terminal number (#1234, T- 1234, F1234)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     7  return/refund/credit word glued to merchant   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     6  processor prefix SQ*/TST*/PP*/DD*/SP/IC*/PAR*/CMG*   e.g. ('AMZN MKTP US*2X4YT', 'Amazon', 'Amzn Mktp')
     5  trailing long digit run (ids, phone, ref)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     5  sub-brand / service of parent (UBER *EATS, PRIME, YOUTUBEPREMIUM)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'YOUTUBEPREMIUM g')
     3  ACH / bank-rail text (ACH, PPD, DES:, CO ID, EPAYMENT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  payroll/employer text   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  trailing 'INC/LLC/CO/CORP/CABLE COMM'   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  slash/vendor-sub-brand (CVS/PHARMACY, CHEVRON/CSI)   e.g. ('REVERSAL DUPLICATE CHARGE CVS/PHARMACY', 'CVS', 'Reversal Duplicate Charge Cvs/Pharmacy')
     3  domain suffix / URL (.COM, g.co/helppay)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'YOUTUBEPREMIUM g')
     2  card-network preamble (PURCHASE AUTHORIZED ON, CHECKCARD, POS)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     2  (no pattern)   e.g. ('PAYMENT THANK YOU - WEB', 'Payment', 'Payment Thank You - Web')
     2  subscription descriptor (MEMBERSHIP, PLUS, PREMIUM, RENEWAL)   e.g. ('MICROSOFT*365 SUBSCRIPTION', 'Microsoft', 'Microsoft*365 Subscription')
     2  city/state/country suffix   e.g. ('UBER *EATS SAN FRANCISCO CA', 'Uber Eats', 'Uber *Eats San Francisco Ca')
     2  possessive/apostrophe (MCDONALD'S, JOE'S)   e.g. ("TRADER JOE'S #123 QPS", 'Trader Joe', "Trader Joe'S #123 Qps")
     1  P2P (Zelle/Venmo/Cash App/Apple Cash/'send money')   e.g. ('ZELLE TO JANE DOE JPM99', 'Zelle', 'Zelle To Jane Doe Jpm99')
   multi-string: {'Acme': ['Bonus Payment Acme Inc', 'Payroll Acme Inc'], 'Walmart': ['Pos Debit Wm Supercenter', 'Pos Return Wm Supercenter'], 'Blue Bottle': ['Blue Bottle', 'Blue Bottle Coffee'], 'Amazon': ['Amazon', 'Amzn Mktp'], 'Chevron': ['Chevron', 'Chevron/Csi'], 'Whole Foods': ['Refund Wholefds Mkt', 'Wholefds Mkt'], 'Delta': ['Delta Air', 'Delta Air Lines', 'Delta Air Lines Refund'], 'Uber Eats': ['Uber *Eats San Francisco Ca', 'Uber Eats'], 'CVS': ['Cvs/Pharmacy', 'Reversal Duplicate Charge Cvs/Pharmacy'], 'Starbucks': ['Sbux Store', 'Starbucks Store'], 'Target': ['Refund Target T-1234', 'Target T-'], 'Uber': ['Uber *Trip Help.Uber', 'Uber *Trip Refund'], 'Apple': ['Apple', 'Itunes']}
   multi-key   : {'Acme': ['bonus payment acme', 'payroll acme inc'], 'Walmart': ['pos debit wm', 'pos return wm'], 'Blue Bottle': ['blue bottle', 'blue bottle coffee'], 'Amazon': ['amazon', 'amzn mktp'], 'Chevron': ['chevron', 'chevron csi'], 'Whole Foods': ['refund wholefds mkt', 'wholefds mkt'], 'Delta': ['delta air', 'delta air lines'], 'Uber Eats': ['uber eats', 'uber eats san'], 'CVS': ['cvs pharmacy', 'reversal duplicate charge'], 'Starbucks': ['sbux store', 'starbucks store'], 'Target': ['refund target', 'target'], 'Uber': ['uber trip help', 'uber trip refund'], 'Apple': ['apple', 'itunes']}
   collisions  : {}

== C_pipeline_then_enrich: exact 11/63 (17.5%)  acceptable 36/63 (57.1%)  | noisy vendor: labelled 15/63, unlabelled 26/129  | vendor==raw: 0/192
     9  abbreviation / contraction (WHOLEFDS, SBUX, WHSE, MKT)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     8  store/terminal number (#1234, T- 1234, F1234)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     7  return/refund/credit word glued to merchant   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     6  processor prefix SQ*/TST*/PP*/DD*/SP/IC*/PAR*/CMG*   e.g. ('AMZN MKTP US*2X4YT', 'Amazon', 'Amzn Mktp')
     5  trailing long digit run (ids, phone, ref)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     5  sub-brand / service of parent (UBER *EATS, PRIME, YOUTUBEPREMIUM)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'YOUTUBEPREMIUM g')
     3  ACH / bank-rail text (ACH, PPD, DES:, CO ID, EPAYMENT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  payroll/employer text   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  trailing 'INC/LLC/CO/CORP/CABLE COMM'   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind Llc Dd')
     3  slash/vendor-sub-brand (CVS/PHARMACY, CHEVRON/CSI)   e.g. ('REVERSAL DUPLICATE CHARGE CVS/PHARMACY', 'CVS', 'Reversal Duplicate Charge Cvs/Pharmacy')
     3  domain suffix / URL (.COM, g.co/helppay)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'YOUTUBEPREMIUM g')
     2  card-network preamble (PURCHASE AUTHORIZED ON, CHECKCARD, POS)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'Pos Return Wm Supercenter')
     2  subscription descriptor (MEMBERSHIP, PLUS, PREMIUM, RENEWAL)   e.g. ('MICROSOFT*365 SUBSCRIPTION', 'Microsoft', 'Microsoft*365 Subscription')
     2  city/state/country suffix   e.g. ('UBER *EATS SAN FRANCISCO CA', 'Uber Eats', 'Uber *Eats San Francisco Ca')
     2  possessive/apostrophe (MCDONALD'S, JOE'S)   e.g. ("TRADER JOE'S #123 QPS", 'Trader Joe', "Trader Joe'S #123 Qps")
     1  P2P (Zelle/Venmo/Cash App/Apple Cash/'send money')   e.g. ('ZELLE TO JANE DOE JPM99', 'Zelle', 'Zelle → ZELLE TO JANE DOE JPM99')
     1  (no pattern)   e.g. ('DISNEYPLUS', 'Disney', 'Disneyplus')
   multi-string: {'Acme': ['Bonus Payment Acme Inc', 'Payroll Acme Inc'], 'Walmart': ['Pos Debit Wm Supercenter', 'Pos Return Wm Supercenter'], 'Blue Bottle': ['Blue Bottle', 'Blue Bottle Coffee'], 'Amazon': ['Amazon', 'Amzn Mktp'], 'Chevron': ['Chevron', 'Chevron/Csi'], 'Whole Foods': ['Refund Wholefds Mkt', 'Wholefds Mkt'], 'Delta': ['Delta Air', 'Delta Air Lines', 'Delta Air Lines Refund'], 'Uber Eats': ['Uber *Eats San Francisco Ca', 'Uber Eats'], 'CVS': ['Cvs/Pharmacy', 'Reversal Duplicate Charge Cvs/Pharmacy'], 'Starbucks': ['Sbux Store', 'Starbucks Store'], 'Target': ['Refund Target T-1234', 'Target T-'], 'Uber': ['Uber *Trip Help.Uber', 'Uber *Trip Refund'], 'Apple': ['Apple', 'Itunes']}
   multi-key   : {'Acme': ['bonus payment acme', 'payroll acme inc'], 'Walmart': ['pos debit wm', 'pos return wm'], 'Blue Bottle': ['blue bottle', 'blue bottle coffee'], 'Amazon': ['amazon', 'amzn mktp'], 'Chevron': ['chevron', 'chevron csi'], 'Whole Foods': ['refund wholefds mkt', 'wholefds mkt'], 'Delta': ['delta air', 'delta air lines'], 'Uber Eats': ['uber eats', 'uber eats san'], 'CVS': ['cvs pharmacy', 'reversal duplicate charge'], 'Starbucks': ['sbux store', 'starbucks store'], 'Target': ['refund target', 'target'], 'Uber': ['uber trip help', 'uber trip refund'], 'Apple': ['apple', 'itunes']}
   collisions  : {}

== D1_prototype_rules_only: exact 21/63 (33.3%)  acceptable 45/63 (71.4%)  | noisy vendor: labelled 7/63, unlabelled 21/129  | vendor==raw: 1/192
     6  abbreviation / contraction (WHOLEFDS, SBUX, WHSE, MKT)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'WM Supercenter')
     5  store/terminal number (#1234, T- 1234, F1234)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'WM Supercenter')
     5  return/refund/credit word glued to merchant   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'WM Supercenter')
     3  trailing long digit run (ids, phone, ref)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'WM Supercenter')
     3  ACH / bank-rail text (ACH, PPD, DES:, CO ID, EPAYMENT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     3  payroll/employer text   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     3  trailing 'INC/LLC/CO/CORP/CABLE COMM'   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     3  domain suffix / URL (.COM, g.co/helppay)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'Youtubepremium')
     2  card-network preamble (PURCHASE AUTHORIZED ON, CHECKCARD, POS)   e.g. ('POS RETURN WM SUPERCENTER #1234', 'Walmart', 'WM Supercenter')
     2  (no pattern)   e.g. ('PAYMENT THANK YOU - WEB', 'Payment', 'Payment Thank YOU - WEB')
     2  subscription descriptor (MEMBERSHIP, PLUS, PREMIUM, RENEWAL)   e.g. ('MICROSOFT*365 SUBSCRIPTION', 'Microsoft', 'Microsoft*365 Subscription')
     2  processor prefix SQ*/TST*/PP*/DD*/SP/IC*/PAR*/CMG*   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'Youtubepremium')
     2  slash/vendor-sub-brand (CVS/PHARMACY, CHEVRON/CSI)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'Youtubepremium')
     2  sub-brand / service of parent (UBER *EATS, PRIME, YOUTUBEPREMIUM)   e.g. ('GOOGLE *YOUTUBEPREMIUM g.co/helppay', 'YouTube', 'Youtubepremium')
     1  P2P (Zelle/Venmo/Cash App/Apple Cash/'send money')   e.g. ('ZELLE TO JANE DOE JPM99', 'Zelle', 'Zelle TO Jane DOE Jpm99')
   multi-string: {'Acme': ['Bonus Payment Acme INC', 'Payroll Acme INC'], 'Blue Bottle': ['Blue Bottle', 'Blue Bottle Coffee'], 'Chevron': ['Chevron', 'Chevron/csi'], 'Delta': ['Delta AIR', 'Delta AIR Lines', 'Delta AIR Lines Refund'], 'Uber Eats': ['Uber *eats', 'Uber Eats'], 'Starbucks': ['Sbux', 'Starbucks'], 'Uber': ['Uber *trip Help.uber', 'Uber *trip Refund'], 'Apple': ['Apple', 'Itunes']}
   multi-key   : {'Acme': ['bonus payment acme', 'payroll acme inc'], 'Blue Bottle': ['blue bottle', 'blue bottle coffee'], 'Chevron': ['chevron', 'chevron csi'], 'Delta': ['delta air', 'delta air lines'], 'Starbucks': ['sbux', 'starbucks'], 'Uber': ['uber trip help', 'uber trip refund'], 'Apple': ['apple', 'itunes']}
   collisions  : {}

== D2_prototype_rules_plus_alias: exact 33/63 (52.4%)  acceptable 51/63 (81.0%)  | noisy vendor: labelled 7/63, unlabelled 21/129  | vendor==raw: 1/192
     3  ACH / bank-rail text (ACH, PPD, DES:, CO ID, EPAYMENT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     3  payroll/employer text   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     3  return/refund/credit word glued to merchant   e.g. ('ACH CREDIT PAYROLL CONTOSO', 'Contoso', 'ACH Credit Payroll Contoso')
     2  trailing 'INC/LLC/CO/CORP/CABLE COMM'   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     2  subscription descriptor (MEMBERSHIP, PLUS, PREMIUM, RENEWAL)   e.g. ('AMAZON PRIME*MEMBERSHIP', 'Prime', 'Amazon')
     2  sub-brand / service of parent (UBER *EATS, PRIME, YOUTUBEPREMIUM)   e.g. ('AMAZON PRIME*MEMBERSHIP', 'Prime', 'Amazon')
     2  domain suffix / URL (.COM, g.co/helppay)   e.g. ('APL* ITUNES.COM/BILL', 'Apple', 'Itunes')
     1  abbreviation / contraction (WHOLEFDS, SBUX, WHSE, MKT)   e.g. ('PAYROLL NORTHWIND LLC DD', 'Northwind', 'Payroll Northwind LLC DD')
     1  P2P (Zelle/Venmo/Cash App/Apple Cash/'send money')   e.g. ('ZELLE TO JANE DOE JPM99', 'Zelle', 'Zelle TO Jane DOE Jpm99')
     1  (no pattern)   e.g. ('PAYMENT THANK YOU - WEB', 'Payment', 'Payment Thank YOU - WEB')
     1  processor prefix SQ*/TST*/PP*/DD*/SP/IC*/PAR*/CMG*   e.g. ('APL* ITUNES.COM/BILL', 'Apple', 'Itunes')
     1  slash/vendor-sub-brand (CVS/PHARMACY, CHEVRON/CSI)   e.g. ('APL* ITUNES.COM/BILL', 'Apple', 'Itunes')
   multi-string: {'Acme': ['Bonus Payment Acme INC', 'Payroll Acme INC'], 'Blue Bottle': ['Blue Bottle', 'Blue Bottle Coffee'], 'Delta': ['Delta AIR', 'Delta AIR Lines', 'Delta AIR Lines Refund'], 'Uber Eats': ['Uber *eats', 'Uber Eats'], 'Uber': ['Uber *trip Help.uber', 'Uber *trip Refund'], 'Apple': ['Apple', 'Itunes']}
   multi-key   : {'Acme': ['bonus payment acme', 'payroll acme inc'], 'Blue Bottle': ['blue bottle', 'blue bottle coffee'], 'Delta': ['delta air', 'delta air lines'], 'Uber': ['uber trip help', 'uber trip refund'], 'Apple': ['apple', 'itunes']}
   collisions  : {'amazon': ['Amazon', 'Prime']}
