Different names. Different date formats.
MIGUEL RODRIGUEZ / DATA, CODE & DESIGN
I turn messy datainto useful tools.
Senior data analyst. Automation builder.
A designer who can also build the tool.
Alteryx billing workflow~9 hours → 20 minutes/month
Alteryx · Python · Power BI · React / TypeScript
Reported 2023 result · initial setup separate
Follow the record.
Find the difference.
DEMO-104 · From a vendor export to a reviewable $160 mismatch.
A consistent schema for the next file.
key = vendor + period
+ invoice_id
join(export, ledger, key)
delta = billed - expectedSimplified logic · source stays attached.
Flag the difference for analyst review.
9 matches. 3 items that need a decision.
The three exceptions, with their sources.
One monthly task.
Hours given back.
The exception is visible. The monthly rebuild is gone.
Reported in my Alteryx Day presentation, 2023. One workflow example; initial setup is separate. All invoice cards use fictional sample data.
Find the exception.
Give the time back.
Every month, the same spreadsheet cleanup stood between an analyst and the real work. I built an Alteryx workflow that consolidated vendor data and put discrepancies in view.
Workflow design, vendor and month controls, data preparation, reconciliation, and analyst enablement.
Follow the invoice.
| Invoice | Vendor | Source period | Billed | File |
|---|---|---|---|---|
| NORTH_CO | Jan-26 | $960 | vendor.xlsx | |
| Juniper LLC | JAN 2026 | $1,080 | export.csv | |
| ALDER-co | 2026/01 | $1,200 | billing.xlsx | |
| NORTH_CO | Jan-26 | $2,140 | vendor.xlsx | |
| Juniper LLC | JAN 2026 | $1,440 | export.csv | |
| ALDER-co | 2026/01 | $1,560 | billing.xlsx | |
| NORTH_CO | Jan-26 | $1,680 | vendor.xlsx | |
| Juniper LLC | JAN 2026 | $1,800 | export.csv | |
| ALDER-co | 2026/01 | $1,920 | billing.xlsx | |
| NORTH_CO | Jan-26 | $2,040 | vendor.xlsx | |
| NORTH_CO | JAN 2026 | $1,680 | export.csv | |
| ALDER-co | 2026/01 | $2,280 | billing.xlsx |
The difference is the next action.
The billed amount is $160 above the ledger. Check the vendor rate before approving the invoice.
See the transformation logic
vendor = title_case(trim(replace_separators(raw.vendor)))
period = parse_month(raw.period)
key = (vendor, period, raw.invoice_id)
expected = ledger.lookup(key)
delta = raw.billed - expected.amount
review_if(duplicate(key) or delta != 0 or missing(account))Original simplified example. Alteryx powered the reported workflow; Power Query is also part of my data-preparation practice.
12 fictional rows demonstrate the process. The reported ~9 hours → 20 minutes/month comes from my separate 2023 Alteryx workflow.
A rating is a number.
A comparison gives it meaning.
A score alone cannot tell a team where to focus. I connected research, source-specific parsing, Power BI comparisons, and reporting so the context traveled with the numbers.
Python research tools, metric definitions, dashboard design, product offerings, and executive presentations.
A score with context.
- Captured rating
- 3.2 / 5
- Source reference
- research-sample / cedar / Q1-2026
- Missing distribution
- Unavailable · not inferred from a mean
Career Opportunities
Inspect the ratings and calculation
| Company | Career Opportunities | Included |
|---|---|---|
| Cedar Works | 3.2 / 5 | Focus |
| Juniper | 3.9 / 5 | Selected peer |
| Alder | 3.7 / 5 | Selected peer |
| Maple | 3.8 / 5 | Selected peer |
peer_average = mean(selected_peers.same_scale_ratings)
gap = company_rating - peer_average
report.chart_values = checked_values
report.observation = draft_for_analyst_reviewThe peer average is an unweighted mean of the selected company ratings. It is not an industry benchmark.
Original illustrative reconstruction of the earlier research-rating workflow. The newer Voice Lab reporting app uses a different percentage scale and remains in development.
Follow the work
behind the answer.
More agents can mean more unsupported claims. I build systems where research, critique and review have different jobs—and every finding can be traced back to a source.
Product interfaces, Python workflow contracts, role-based orchestration, evidence ledgers, and review states.
Follow the claim.
Data + code + design
Validate the calculation before it becomes a claim. A useful answer separates what is known from what still needs review.
The guide improved onboarding.
The initial claim is plausible, but it needs testing against the source material.
The release adds an onboarding guide.
06 May · Fictional research evidenceSee how a finding keeps its source
{
"claim": "Guide adoption in sample: 60%",
"evidence": ["E-02"],
"calculation": "18 / 30",
"review": "supported",
"unknown": "effect on completion time"
}A fictional research example informed by TradeLab and local orchestration work. It runs entirely in this page.