AIData Systems & AI LabProduct Analytics · Data Systems · AI Workflows · Decision InfrastructureContact
Open OS launcher

UX research work sample

Diagnosing and fixing a broken employee-commission match.

A data and systems usability research case study from the WOO PostgreSQL warehouse: diagnosing why a reporting workflow failed, designing an auditable fix, and turning matching confidence into something finance and operations could inspect.

ux_work_sample.summary

Work sample fit

Best fit for a UX research work sample request.

This is not interview-based UX research. It is systems usability research: identifying where a business workflow failed, studying real failure patterns in the data, and redesigning the workflow so users can trust the output.

ux_research.criteria
01

Problem / decision addressed: Commission records only carried free-text employee names, while payroll used email-based employee IDs. Reconciliation broke on role tags, typos, middle names, name-order mismatches, and formatting noise. The decision question was whether the commission-to-employee join could be trusted for executive reporting without a manual spreadsheet review every cycle.

02

Research approach and methodology: This was data and systems usability research. I started with the actual workflow failure, queried unmatched records, categorized root-cause patterns, tested deterministic normalization rules, and designed a confidence waterfall that made every match method visible and auditable.

03

Key findings and insights: Most failures were not unsolvable identity problems. They were predictable text-pattern failures: parenthetical role tags, inconsistent token order, extra middle names, and a smaller set of true exceptions requiring governed overrides.

04

Impact on product, design, or business decisions: The fix turned commission reconciliation from an opaque manual process into a queryable warehouse workflow. Finance and operations could see match confidence by row, preserve raw-to-joined totals, review explicit UNMATCHED exceptions, and trust the reporting layer before using it in executive decisions.

Diagnosis

The root cause was a broken data workflow, not one bad row.

The work started by querying unmatched rows, categorizing failure modes, and then designing the smallest explainable matching system that a finance/reporting workflow could trust.

Role tags in names

Alex Rossi (EE-CSM)

The commission export appended parenthetical role tags to names, so clean payroll names could not join directly.

Token order and middle names

Rossi, Alex M.

Simple equality checks failed when name order, extra tokens, or spacing differed between systems.

True exceptions

Alx Rossi

Some rows were genuine typos or aliases that needed governed manual mapping instead of silent fuzzy matching.

code-proof.workspace

WOO identity SQL

1-- strip role tags before matching: "Name (EE-CSM)" -> "Name"2TRIM(SPLIT_PART(COALESCE(c.employee_name,''), '(', 1)) AS employee_name_clean,34-- full cleaned name key5LOWER(6  REGEXP_REPLACE(7    TRIM(SPLIT_PART(COALESCE(c.employee_name,''), '(', 1)),8    '[^a-z0-9]+',9    '',10    'g'11  )12) AS commission_name_key_full,1314-- first + last token key survives middle names and extra spaces15LOWER(16  REGEXP_REPLACE(17    TRIM(18      (REGEXP_SPLIT_TO_ARRAY(TRIM(SPLIT_PART(COALESCE(c.employee_name,''), '(', 1)), '\s+'))[1]19      || ' ' ||20      (REGEXP_SPLIT_TO_ARRAY(TRIM(SPLIT_PART(COALESCE(c.employee_name,''), '(', 1)), '\s+'))[21        ARRAY_LENGTH(REGEXP_SPLIT_TO_ARRAY(TRIM(SPLIT_PART(COALESCE(c.employee_name,''), '(', 1)), '\s+'), 1)22      ]23    ),24    '[^a-z0-9]+',25    '',26    'g'27  )28) AS commission_name_key_firstlast
research_method.evidence_log
01

Ran the naive join first and inspected rows where join_status = 'UNMATCHED' instead of guessing the failure mode.

02

Categorized unmatched records into root causes: parenthetical role tags, token-order differences, middle-name noise, and true typos.

03

Built analytics.dim_employee as the canonical employee dimension with email as the authoritative employee_id.

04

Created deterministic name_key_full and name_key_firstlast fields using REGEXP_REPLACE and REGEXP_SPLIT_TO_ARRAY.

05

Added analytics.employee_commission_name_map so reviewed exceptions are governed, documented, and auditable.

06

Rebuilt analytics.commission_2025_joined_payroll with match_method and join_status diagnostics.

07

Validated the workflow with raw-to-joined commission total checks and match_method count summaries.

08

Kept unmatched records visible as a review queue rather than dropping them from reporting outputs.

Match confidence waterfall

Every row carries a visible confidence method.

The output is designed for auditability. Finance can inspect how each commission row matched and which rows still need review.

match_method.waterfall

MAP_OVERRIDE

Governed exception

Known aliases and one-off corrections are explicit rows, not hidden logic.

NAME_KEY_EXACT

Clean deterministic match

Full normalized name keys match after case and punctuation cleanup.

NAME_KEY_FIRSTLAST

Looser deterministic match

First and last token keys recover rows with middle names or extra spacing.

UNMATCHED

Visible review queue

Remaining failures are flagged for review and never silently dropped from totals.

Scope and confidentiality

This page documents real SQL and systems design work from the WOO PostgreSQL analytics warehouse. It is data and systems usability research, not qualitative UX research. Employee names, emails, raw payroll files, and dataset totals are intentionally excluded for privacy.

Back to projects