# JASANZ Certification Data Analysis Process — June 2025

## Overview
This document outlines the step-by-step process used to consolidate and analyse JASANZ certification data for the **June 2025** snapshot, covering four ISO management system standards: ISO 9001 (Quality), ISO 14001 (Environmental), ISO 45001 (OH&S), and ISO 27001 (Information Security).

---

## Step 1 — Source Data Ingestion
Six CSV extracts were obtained from the JASANZ register:

### QES Standards
| File | Standard | Records |
|---|---|---|
| `ISO_14001.csv` | ISO 14001:2015 (Environmental) | 7,998 |
| `ISO_45001.csv` | ISO 45001:2018 (OH&S) | 8,935 |
| `ISO_9001_Big5_Request.csv` | ISO 9001:2015 (Quality — major CBs) | 4,523 |
| `ISO_9001_TheRest.csv` | ISO 9001:2015 (Quality — remaining CBs) | 9,571 |

### ISO 27001
| File | Standard | Records |
|---|---|---|
| `ISO_27001_2013.csv` | ISO/IEC 27001:2013 (legacy version) | 302 |
| `ISO_27001_2022.csv` | ISO/IEC 27001:2022 (current version) | 1,298 |

All files share the same schema:
- **CertifiedBy** — Certification Body that issued the certificate
- **OrgName** — Name of the certified organisation
- **Scope** — ISO standard and management system type
- **City** — Location of the certified organisation
- **ExpiryDate** — Certificate expiry date

---

## Step 2 — QES Merge into Single Workbook
The four QES source files were concatenated into a single Excel workbook.

- **Output file**: `QES_Merged.xlsx`
- **Sheet name**: `Merged_Full`
- **Total records**: 31,027
- **Method**: Pandas `concat()` with `ignore_index=True`, exported via `openpyxl`

No deduplication or filtering was applied at this stage — the sheet is a direct union of all QES source data.

---

## Step 3 — QES Split Data by Certification Body
The merged QES dataset contains **49 unique Certification Bodies**. Each CB was given its own sheet tab within `QES_Merged.xlsx`. The `Merged_Full` sheet was preserved unchanged as the master dataset.

- **Sheet naming**: Trading names and abbreviated forms were used to fit Excel's 31-character sheet name limit
- **Sort order**: Sheets ordered by certificate count (descending)
- **Data**: Each sheet contains only the rows for that specific CB, with all original columns preserved

---

## Step 4 — QES Unique Client Count per Certification Body

### Objective
Determine the number of **unique clients** each Certification Body services. A "client" is defined as a unique value in Column B (`OrgName`). Organisations holding multiple certifications (e.g. ISO 9001 + ISO 14001 + ISO 45001) are counted only **once** per Certification Body.

### Method
- Iterated through each of the 49 CB sheets
- Extracted all `OrgName` values (Column B), stripped whitespace
- Applied deduplication using a set (case-sensitive, exact match after trim)
- Wrote a summary table on each sheet in **Column M** (Certification Body name) and **Column N** (Unique Client Count)

### Results — QES Unique Client Count by Certification Body

| # | Certification Body | Total Records | Unique Clients |
|---|---|---|---|
| 1 | SAI Global / Intertek | 4,057 | 2,464 |
| 2 | Compass Assurance Services | 2,915 | 1,478 |
| 3 | Citation Certification | 3,266 | 1,447 |
| 4 | Global-Mark | 2,313 | 1,016 |
| 5 | Equal Assurance | 2,433 | 1,003 |
| 6 | Sustainable Certification | 1,501 | 574 |
| 7 | Bureau Veritas Australia | 1,009 | 556 |
| 8 | TQCSI-Yaran | 1,545 | 535 |
| 9 | DNV Business Assurance Australia | 924 | 496 |
| 10 | Global Compliance Certification | 825 | 453 |
| 11 | Business Systems Certification | 1,094 | 380 |
| 12 | Southpac Certifications | 819 | 371 |
| 13 | Compliance Australia Certification Services | 717 | 319 |
| 14 | LRQA | 485 | 318 |
| 15 | BSI Group ANZ | 498 | 307 |
| 16 | SGS Australia | 564 | 299 |
| 17 | DLCS | 721 | 295 |
| 18 | Sci Qual International | 491 | 275 |
| 19 | ECAAS Certification International | 526 | 254 |
| 20 | ATLAS Certification | 490 | 198 |
| 21 | Global Registrar of Systems | 454 | 181 |
| 22 | ECAAS Pty Ltd | 324 | 171 |
| 23 | QSERC | 421 | 162 |
| 24 | Integrated Quality Certification | 377 | 161 |
| 25 | Certifi International | 330 | 160 |
| 26 | Adaptive Certifications | 359 | 151 |
| 27 | Management Systems Certification Global | 263 | 120 |
| 28 | Certification Partner Global | 180 | 90 |
| 29 | Guardian Independent Certification | 137 | 66 |
| 30 | Quality Control Services (Environmental) | 135 | 66 |
| 31 | Obsequentia | 141 | 60 |
| 32 | DQS Certification AUSNZ | 93 | 60 |
| 33 | Certex International | 69 | 59 |
| 34 | Ashburton Assurance Australasia | 127 | 55 |
| 35 | Institute for Healthy Communities Australia | 50 | 50 |
| 36 | Global Management Certification | 87 | 34 |
| 37 | BSCIC Certifications | 80 | 34 |
| 38 | HDAA Australia | 30 | 30 |
| 39 | Certification Oceania | 44 | 25 |
| 40 | ApprovalMark International | 24 | 22 |
| 41 | ICG Compliance | 19 | 19 |
| 42 | Telarc | 21 | 13 |
| 43 | Quantum Certification Services | 11 | 11 |
| 44 | AVA Certification | 22 | 10 |
| 45 | RSHQ / Simtars | 10 | 10 |
| 46 | ComplyNet | 18 | 6 |
| 47 | Australasian Certification Authority | 4 | 3 |
| 48 | SCS Global Services | 3 | 1 |
| 49 | QMS International Certifications | 1 | 1 |
| | **TOTAL** | **31,027** | **14,869** |

### Output Location in Workbook
On each CB sheet within `QES_Merged.xlsx`:
- **Column M, Row 1**: Header — "Certification Body"
- **Column M, Row 2**: The full Certification Body name
- **Column N, Row 1**: Header — "Unique Client Count"
- **Column N, Row 2**: The unique client count (integer)

---

## Step 5 — QES Master Summary Sheet (CB_Summary)

### Method
- Extracted the CB name and unique client count from each CB sheet (Column M/N, Row 2)
- Sorted all 49 entries by unique client count in **descending order** (most clients first)
- Created a new sheet called `CB_Summary`, positioned as the **second sheet** in the workbook (after `Merged_Full`)

### Output
- **Sheet**: `CB_Summary` in `QES_Merged.xlsx`
- **Column A**: Certification Body (full name)
- **Column B**: Unique Client Count
- **Rows**: 49 (one per CB), sorted largest to smallest

---

## Step 6 — ISO 27001 Data Merge

### Source Data
| File | Standard | Records |
|---|---|---|
| `ISO_27001_2013.csv` | ISO/IEC 27001:2013 (legacy version) | 302 |
| `ISO_27001_2022.csv` | ISO/IEC 27001:2022 (current version) | 1,298 |

### Method
- Concatenated both 27001 source files into a single dataset
- Created sheet `27001_Merged` in `QES_Merged.xlsx` (positioned after `CB_Summary`)
- **Total records**: 1,600

---

## Step 7 — ISO 27001 Split by Certification Body

### Method
- Identified **26 unique Certification Bodies** in the 27001 dataset
- Created individual sheets for each CB, prefixed with `27k_` to distinguish from QES sheets
- Each sheet contains the CB's filtered data with all original columns preserved

---

## Step 8 — ISO 27001 Unique Client Count per CB

### Method
- Applied the same deduplication logic as Step 4
- Counted unique `OrgName` values per CB sheet
- Wrote summary to **Column M** and **Column N** on each `27k_` sheet

### Results — ISO 27001 Unique Client Count by Certification Body

| # | Certification Body | Total Records | Unique Clients |
|---|---|---|---|
| 1 | Compass Assurance Services | 482 | 473 |
| 2 | SAI Global / Intertek | 249 | 245 |
| 3 | Global Compliance Certification | 238 | 233 |
| 4 | Citation Certification | 127 | 127 |
| 5 | Sustainable Certification | 109 | 108 |
| 6 | Equal Assurance | 79 | 79 |
| 7 | DNV Business Assurance Australia | 48 | 48 |
| 8 | TQCSI-Yaran | 47 | 47 |
| 9 | LRQA | 46 | 40 |
| 10 | Global-Mark | 43 | 40 |
| 11 | Bureau Veritas Australia | 22 | 21 |
| 12 | Business Systems Certification | 19 | 19 |
| 13 | Southpac Certifications | 16 | 16 |
| 14 | Certification Partner Global | 15 | 15 |
| 15 | DLCS | 12 | 12 |
| 16 | QSERC | 12 | 12 |
| 17 | BSI Group ANZ | 6 | 6 |
| 18 | Certifi International | 5 | 5 |
| 19 | ECAAS Certification International | 5 | 5 |
| 20 | Obsequentia | 4 | 4 |
| 21 | BSCIC Certifications | 4 | 4 |
| 22 | Integrated Quality Certification | 3 | 3 |
| 23 | Guardian Independent Certification | 3 | 3 |
| 24 | ATLAS Certification | 3 | 3 |
| 25 | ECAAS Pty Ltd | 2 | 2 |
| 26 | SGS Australia | 1 | 1 |
| | **TOTAL** | **1,600** | **1,571** |

### Key Observations
- The ISO 27001 market is smaller (1,600 records / 1,571 unique clients) compared to the QES dataset (31,027 records / 14,869 unique clients)
- The records-to-clients ratio is very close to 1:1 (1.02x) since most organisations hold only one 27001 certificate
- **Compass Assurance Services** leads in 27001 certifications with 473 unique clients — notably ahead of SAI Global/Intertek (245) who lead the QES space
- 26 of the 49 QES certification bodies also operate in the 27001 space; 23 CBs do not hold any 27001 certifications

---

## Step 9 — ISO 27001 Master Summary Sheet (27001_CB_Summary)

### Method
- Extracted CB name and unique client count from all 26 `27k_` sheets
- Sorted by unique client count descending
- Created `27001_CB_Summary` sheet (positioned after `27001_Merged`)

### Output
- **Sheet**: `27001_CB_Summary` in `QES_Merged.xlsx`
- **Column A**: Certification Body (full name)
- **Column B**: Unique Client Count
- **Rows**: 26 (one per CB), sorted largest to smallest

---

## Workbook Structure
`QES_Merged.xlsx` contains **79 sheets**:
1. `Merged_Full` — QES complete dataset (31,027 records)
2. `CB_Summary` — QES master summary (49 CBs)
3. `27001_Merged` — ISO 27001 complete dataset (1,600 records)
4. `27001_CB_Summary` — ISO 27001 master summary (26 CBs)
5. 49 QES individual CB sheets
6. 26 ISO 27001 individual CB sheets (prefixed `27k_`)

---

## Step 10 — (Next) Further Analysis
*Pending — awaiting direction on analysis requirements.*

---

*Document generated: 2026-02-06*
