
== A_pipeline: exact 53/63 (84.1%)  acceptable 63/63 (100.0%)  | noisy vendor: labelled 0/63, unlabelled 8/129  | vendor==raw: 0/192
   multi-string: {}
   multi-key   : {}
   collisions  : {}

== B_enrich_normalize_raw: exact 53/63 (84.1%)  acceptable 63/63 (100.0%)  | noisy vendor: labelled 0/63, unlabelled 6/129  | vendor==raw: 0/192
   multi-string: {}
   multi-key   : {}
   collisions  : {}

== C_pipeline_then_enrich: exact 53/63 (84.1%)  acceptable 63/63 (100.0%)  | noisy vendor: labelled 0/63, unlabelled 8/129  | vendor==raw: 0/192
   multi-string: {}
   multi-key   : {}
   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   : {}
   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   : {}
   collisions  : {'amazon': ['Amazon', 'Prime']}

== E_vendor_normalizer_on_raw: exact 53/63 (84.1%)  acceptable 63/63 (100.0%)  | noisy vendor: labelled 0/63, unlabelled 6/129  | vendor==raw: 0/192
   multi-string: {}
   multi-key   : {}
   collisions  : {}
