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).
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.