For hiring teams

Claims, with evidence attached

Job postings screen for phrases. This page takes the phrases and links each one to the exact place where I demonstrate it: a model, a chart, a documented bug, a write-up. Tools and methods I have not used do not appear here.

Statistics & modeling

Regression analysis
Four families across the portfolio: survey-weighted logistic (rent & health), OLS with cluster-robust errors (building standards), hedonic OLS with fixed effects (Airbnb loophole), and segmented time-series regression (shelter, opioids).
Program evaluation
A controlled interrupted time series with a placebo check (the 2023 shelter crisis), a zoning-reform evaluation with the contrast-versus-control distinction argued explicitly (the multiplex reform), and an enforcement-program outcome analysis with regression-to-the-mean stated honestly (RentSafeTO scores over time).
Quasi-experimental methods
Two interrupted time series, one with a comparison group and one openly without (shelter, opioids), plus instrumental variables (2SLS) in my MA thesis.
Survey data & weights
Statistics Canada bootstrap replicate weights (1,000 replicates) driving every confidence interval in the Canadian Housing Survey study.
Survival analysis
A current-status design chosen because the data has no decision dates, with the identification limit stated wherever it applies (planning queue).
Model diagnostics & functional form
A linear trend rejected for visible underfit and replaced with a curve (shelter), the same check run as a published sensitivity analysis (opioids), residual diagnostics drawn record-level (buildings, listings), and outlier sensitivity run with robust and median estimators on both OLS studies, with every conclusion surviving.
Communicating uncertainty
Confidence ranges drawn on every estimate chart, and a marginal result reported as exactly that: "does not quite clear conventional significance" (opioids, p = .063).

Data work

Data cleaning
The trailing-whitespace bug that silently dropped 3,799 records and flipped an odds ratio, caught by a smell test and kept on display (planning queue); a punctuation mismatch that dropped 239 buildings, fixed with normalized keys (building standards).
Administrative data
City audit records, a planning-application tracker, and shelter operations counts, each with its quirks documented: batch dates, methodology breaks, status-label noise (03, 05, 02).
API data acquisition
Toronto's CKAN open-data API scripted end to end in three studies, plus federal downloads from IRCC and PHAC; every study's first script is the fetch (all six).
Linking multiple sources
Audit scores joined to census incomes (03), shelter counts laid against national asylum claims (02), Airbnb prices benchmarked to CMHC rents (04), and ten sources merged in the thesis.
Relational databases (SQL)
Three studies rebuilt in SQL, each verified against its published numbers: a normalized three-table schema with joins and window functions, 27 of 27 checks (03); 1,085,803 permit revisions deduplicated through a window-function view, 32 of 32 (07); and a three-source database with constraint-enforced integrity, a SQL data-quality audit, rolling windows, and a regression written in pure aggregates, 38 of 38 (02). Self-taught in 2026, the same route as Python.
Real estate & development analysis
A four-source supply-funnel study: a million building permits deduplicated and lagged, CMHC intended-market starts since 1988, and federal ownership records showing condos built since 2016 are majority investor-owned (study 07), a zoning-reform evaluation finding a +27% application jump (study 08), alongside the hedonic pricing of study 04 and the thesis.
Reproducible pipelines
Every study is fetch, analyze, chart: three committed scripts, with the website's numbers generated from the saved model output rather than retyped (how the studies are built).
Data-quality instincts
Seven rules distilled from real catches across the portfolio, each with the scar to prove it (the pre-flight checklist).
Reading the documentation
A survey question dropped as the main exposure after the questionnaire showed it measured general money trouble (01), and a source's own caution against inter-provincial comparison respected in the chart design (06).

Communication

Plain-language reporting
Every study page opens with the story for readers who never took a statistics class, including "how to read this chart" guides and a "technical terms, translated" box (any study).
Data visualization
Hand-built editorial charts with honest full-scale axes, a record-level chart drawing all 3,452 buildings (03), and an interactive neighbourhood lookup, all documented in the page source.
Briefing materials
A one-page thesis brief (PDF), print-ready study briefs on every page, and the two-page evidence pack.
Synthesis across studies
Six studies read as one system, with each finding matched to the lever it points toward and the government that holds it (the housing-squeeze brief).
Presenting to non-technical audiences
A Methodological Excellence Award citing "clear communication of findings" (background), and four courses of teaching-assistant work explaining methods to 100-plus students at a time (experience).

Tools

Python (pandas, statsmodels, matplotlib)
Demonstrated live: all six studies run on it, fetch to model to chart (portfolio).
Stata
The thesis econometrics, including the instrumental-variable models, and current analyst work (thesis, experience).
GIS (QGIS, ArcGIS)
20,000+ listings pinned to neighbourhoods and door-to-door transit times computed for the thesis (spatial chapter); lightweight point-in-polygon work in study 04.
Tableau 路 SPSS 路 Excel
Used in analyst roles and coursework rather than on this site; see experience for where each earned its keep.

A note on what is missing: this page lists only what I can show. If a posting asks for a tool that does not appear here, I have not used it yet, and I would rather say so and learn it quickly than pad a list. The fastest way to check anything above is to click it.