Conrad MacCormick - Principal Data Scientist

Conrad MacCormick

Data

About

I'm a Principal Data Scientist with 15 years of experience in applied machine learning, statistical modelling and data product delivery. I build things that get used: production Shiny dashboards, geospatial visualisations and full-stack analytics apps.

My primary language is R, with working proficiency in Python including recent Snowflake/Snowpark work. I have strong SQL skills built over ten-plus years on large linked administrative datasets. I've also built personal projects using FastAPI and Next.js.

I am currently a Principal Data Scientist at Nicholson Consulting, where I lead project teams, advise clients and coach analysts across all career stages. Most of my domain experience is in the social sector, with cross-domain exposure including energy and insurance analytics.

Experience
15+ Years
Data Products
Production
Team Leadership
3+ Years

Experience

Principal Data Scientist

November 2021 – Present
Nicholson Consulting

Lead data science and analytics projects end-to-end: from RFP and scoping through to model deployment, dashboard delivery and capability transfer. Manage project teams of three to five data scientists and three direct reports. Key projects include a mixed-effects model and survival analysis for national driver licence investment prioritisation; a microsimulation model for te reo Māori revitalisation policy (He Ara Poutama); production Shiny dashboards for EECA and Te Rourou – One Aotearoa Foundation; and Pacific population health indicator development using linked administrative data.

Senior Data Scientist

September 2019 – November 2021
Nicholson Consulting

Led client-facing analytical projects using the IDI. Early development of He Ara Poutama and a national birth cohort study on criminal justice system interactions among young people with neurodevelopmental conditions, resulting in two peer-reviewed publications.

Data Analyst

January 2018 – September 2019
Electricity Authority

Analysed New Zealand electricity market data and built optimisation models including work on GEM and DOASA.

Senior Analyst

April 2016 – December 2017
Social Investment Agency

Used the IDI to explore the effectiveness of government investment in social services. Co-authored a published report on wellbeing impacts of social housing policy.

Forecasting and Costing Analyst

January 2015 – December 2017
Ministry of Social Development

Regular forecasting of Vote Social Development appropriations and cost modelling of benefit-related policies. Secondments to Treasury and the Social Investment Agency.

Statistical Analyst

October 2011 – December 2014
Statistics New Zealand

Statistical Methods unit: seasonal adjustment, sample survey design, probabilistic record linkage and statistical data confidentiality.

Skills & Proficiency

R & ShinyExpert
SQLAdvanced
Statistical Modelling & MLAdvanced
PythonIntermediate
Snowflake / SnowparkWorking knowledge
DatabricksWorking knowledge
Geospatial (sf, leaflet)Proficient
JavaScript / HTMLProficient
GitProficient

Education

BSc in Geography
Victoria University of Wellington
2007 – 2010

Interests

  • Playing music (guitar and piano)
  • Reading
  • Programming
  • Maps and geospatial data

Published Work

R Playground

Try some basic R visualisation. This example creates a scatter plot showing the relationship between life expectancy and GDP per capita for selected countries in 2007. Feel free to modify it or write your own code.

# Pre-loaded libraries # Create a scatter plot with ggplot2 library(ggplot2) library(gapminder) countries <- c("New Zealand", "Australia", "United States", "China", "India", "Germany", "Brazil", "Japan") gap_2007 <- gapminder[gapminder$year == 2007 & gapminder$country %in% countries, ] ggplot(gap_2007, aes(x = gdpPercap, y = lifeExp, colour = country, size = pop)) + geom_point(alpha = 0.7) + scale_size(range = c(3, 15), guide = "none") + scale_x_log10(labels = scales::dollar_format()) + labs(title = "Life Expectancy vs GDP Per Capita (2007)", x = "GDP per capita (log scale)", y = "Life expectancy (years)", colour = "Country") + theme_minimal()

Projects

Personal and side projects demonstrating geospatial, data app and visualisation work.

RShinySpeech recognition vplyr Voice-controlled data analysis and visualisation in R and Shiny using the annyang speech recognition library. View code
Leaflet.jsGeospatial Japan Photo Diary Geotagged photo diary using Leaflet.Photo to place travel photos on an interactive map.