Galway, Ireland · Product & UX Analytics
Data analyst working with event-level product data. I instrument websites with Contentsquare, analyse behaviour in Snowflake SQL and Python, and build dashboards where every number has a written definition and can be traced back to source.
How I work
Product decisions should be based on what users actually do, not on guesswork. Each project below runs this loop end to end.
Set up tracking that reflects real behaviour: tag deployment, event definitions and page-group mapping, kept accurate as the product changes.
Work at the level of individual user actions: sessionisation, funnels and journeys, in SQL over cloud warehouses and in Python.
Reconcile against known baselines, compute the same answer two independent ways, and chase discrepancies to root cause. This includes AI-generated output.
Dashboards people rely on, definitions written down, and findings presented clearly to technical and non-technical audiences.
Case studies
Each project below is one full turn of that loop — a real question, the analysis, and how the numbers were checked — mapped stage by stage from instrument to explain. The charts use the actual figures from each repo; hover any bar or point for detail. Every project links to its versioned SQL, notebooks and source exports.
A stakeholder asks for the cart-to-purchase conversion rate. Two reasonable SQL queries come back with 69.11% and 50.31% — nearly 19 points apart. The work is proving which one is true.
The 18.8 point gap comes from the aggregation level alone. The session-level figure is the one reported.
Sample: 7 sessions, 120 page views. Reported as directional, with the limitations written down.
To learn instrumentation for real, I deployed an open-source storefront and tagged it with Contentsquare. Then the analysis caught a bug in my own tracking — and fixing it became the case study.
Which customers actually carry the revenue? Splitting 3,660 transactions into four equal-sized value segments turns a vague question into a number you can act on.
45% of revenue comes from the top quartile of customers. The four segments are the same size, so the value difference is real.
AI-assisted analytics
Every one of my repositories states where AI assistance was used, because generated output is a draft, not an answer. Before anything I produce reaches someone else, I read the SQL for grain and join logic, reconcile totals against a known baseline, and where it matters, compute the same answer a second independent way. That review step is how a 69.11% "conversion rate" became a defensible 50.31%.
Click a card to see it in the terminal →
I've written this method up as a reusable skill: a versioned instruction file with runnable SQL, a Python export-QA module and MCP setup, so an agent (or a colleague) can follow the same validation loop I do.
Read the skill: ux-analytics-validationAbout
Before data, I was a self-employed barber for a decade. That work is where I learned to listen for what someone actually needs, which is not always what they first ask for, and to keep their trust when I disagree with them. Those habits carry straight into working with stakeholders.
The change took two qualifications back to back, a Level 7 in software development and then a Level 8 Higher Diploma in Data Analytics, completed while working. Since 2024 I've been a financial data analyst at Infosys BPM, doing data quality on mutual fund and ETF data where mistakes have real consequences: cleansing, metadata validation, reconciliation against source, and chasing every discrepancy to root cause, at a measured 99.4% accuracy average with regular 100% weeks.
The projects on this page are how I built product analytics experience deliberately. Not tutorials: a real instrumented site, a real cloud warehouse, and dashboards whose numbers I can defend line by line. Fluent in English and French.