Skip to content

WorkSafe NZ data via eolas

WorkSafe NZ is the regulator for workplace health and safety in New Zealand. It investigates incidents, conducts proactive assessments, and publishes detailed statistics on fatalities, injuries, and enforcement activities. eolas serves 8 datasets from WorkSafe.

If you're doing occupational health research, industry-safety analysis, or compliance / consultancy work — WorkSafe is the source.

For insurance claims on workplace injuries (the cost side), see ACC. WorkSafe covers the regulator/enforcement perspective; ACC covers the claim/treatment perspective.


What's in the catalogue

Outcomes — injuries + fatalities

Dataset Description
worksafe_fatalities Worker + member-of-public fatalities recorded by WorkSafe since 2011, broken down by industry + region.
worksafe_injuries_serious_harm Serious harm injury notifications received by WorkSafe, broken down by industry.
worksafe_injuries_week_away Injuries leading to a week+ off work.
worksafe_incidents Notifiable incidents reported since 2014 — broader than serious-harm injuries.

Regulator activity

Dataset Description
worksafe_assessments WorkSafe proactive workplace assessments — by industry + region.
worksafe_enforcement Enforcement activities — improvement notices, prohibition notices, infringements.
worksafe_investigations Investigations opened, by industry + region + classification.
worksafe_concerns Concerns reported to WorkSafe by workers + the public.

Refresh schedule

Monthly. WorkSafe publishes most series quarterly; our refresh runs weekly to catch new releases promptly.

meta = client.info("worksafe_fatalities")
meta["last_refreshed_at"]
meta["source_last_modified_at"]

License

All WorkSafe data is published under CC-BY 4.0. Commercial use is fine; attribution required.

Recommended attribution: "Source: WorkSafe New Zealand, served via eolas (eolas.fyi). CC-BY 4.0."

A privacy note: data is aggregated. Specific incident details (location, persons involved) are not published in the open dataset — those require formal information requests.


Common patterns

Workplace fatality trend by industry

import matplotlib.pyplot as plt

fat = client.worksafe("worksafe_fatalities", start="2015-01-01")
by_year_ind = fat.groupby(["year", "industry"])["count"].sum().reset_index()

top_industries = fat.groupby("industry")["count"].sum().nlargest(5).index
pivot = by_year_ind[by_year_ind["industry"].isin(top_industries)].pivot(
    index="year", columns="industry", values="count"
)
pivot.plot(title="WorkSafe fatalities — top 5 industries", figsize=(10, 6))
plt.show()
library(dplyr)
library(ggplot2)

fat <- eolas_get_worksafe("worksafe_fatalities", start = "2015-01-01")
top5 <- fat |> group_by(industry) |> summarise(n = sum(count)) |> top_n(5, n) |> pull(industry)
fat_top <- fat |> filter(industry %in% top5)
ggplot(fat_top, aes(year, count, colour = industry)) + geom_line()

Serious-harm rate by industry size

sh = client.worksafe("worksafe_injuries_serious_harm")
# Combine with employment counts from Stats NZ to compute rate per 1000 workers
emp = client.statsnz("leed_q_measures_industry")
# Join on industry, compute rate, etc.

Enforcement activity over time

enf = client.worksafe("worksafe_enforcement", start="2018-01-01")
by_type = enf.groupby(["year", "notice_type"])["count"].sum().reset_index()
pivot = by_type.pivot(index="year", columns="notice_type", values="count")
pivot.plot(title="WorkSafe enforcement notices by type")

Source-specific notes

  • Fatalities count "worker" + "member of public": agriculture-related public fatalities (e.g. quad bikes on farms) are counted as workplace-related. Check the breakdown column if doing pure worker-fatality analysis.
  • HSWA 2015 boundary: the Health and Safety at Work Act 2015 replaced the previous HSE Act. Notification thresholds changed in 2015-16. Pre-2015 incidents may not be directly comparable to post-2015.
  • Industry classification: WorkSafe uses ANZSIC industry codes — see stats.govt.nz/methods/anzsic-2006 for the full taxonomy.
  • "Notifiable" criteria: WorkSafe defines notifiable death, illness, injury, and incident in section 23 of HSWA. Not every workplace accident triggers a notification.
  • Investigations subset of incidents: an incident is notified; an investigation is opened only on a subset. Different denominators.
  • Mining + forestry historically high-rate: per FTE, these industries consistently top fatality rates. Construction is high-volume but typically lower per-worker rate.

Where to find more