# Average Individual Risk: Exposed & Total Population
Source: https://tekrisk.com/en/docs/individual-risk/ir-average

Calculation methodology for Average Individual Risk (IR_av) using CCPS Equations 4.4.6 and 4.4.7 — exposed population weighting, total population averaging, and ALARP classification

## 1. Purpose

This document describes the complete calculation methodology for the **Average Individual Risk ($IR_{av}$)** as implemented in TekRisk. It covers:

<Steps>
  <Step>
    How individual risk $IR(x,y)$ is computed at each geographic point
  </Step>
  <Step>
    How the exposed population is estimated across the risk contours
  </Step>
  <Step>
    How the two $IR_{av}$ metrics are calculated and what they represent
  </Step>
  <Step>
    How the result is classified against international tolerance criteria
  </Step>
</Steps>

<Callout type="info" title="Regulatory Reference">
CCPS (Center for Chemical Process Safety), *Guidelines for Chemical Process Quantitative Risk Analysis*, 2nd Edition.

- **Equation 4.4.6** — Average Individual Risk (Exposed Population)
- **Equation 4.4.7** — Average Individual Risk (Total Population)
</Callout>

---

## 2. Key Concepts

<Cards>
  <Card title="IR(x,y)">
    Individual risk at geographic location $(x,y)$. Probability per year that a person permanently located at that point would die as a consequence of an industrial accident. Unit: $\text{yr}^{-1}$.
  </Card>
  <Card title="IR_av">
    Average individual risk. The population-weighted average of $IR(x,y)$ over all locations where people are present.
  </Card>
  <Card title="P_T (Total Population)">
    Total predetermined population for averaging risk. May include people located outside the risk contours.
  </Card>
  <Card title="ALARP">
    As Low As Reasonably Practicable. The zone between tolerable and intolerable risk thresholds.
  </Card>
</Cards>

| Term | Definition |
|------|-----------|
| $f_i$ | Annual frequency of accident scenario $i$. Unit: events/yr. |
| $P_{f,i}(x,y)$ | Probability of fatality at location $(x,y)$ given that scenario $i$ occurs. Range: 0 to 1. |
| $P_{xy}$ | Number of people at location $(x,y)$. Derived from receivers or background density. |
| Contour level | A specific IR value (e.g., $10^{-5}\ \text{yr}^{-1}$). The contour line encloses all locations where $IR \geq$ that value. |

---

## 3. Calculation Chain Overview

The complete calculation follows this sequence:

<Steps>
  <Step>
    **Define accident scenarios** — source location, frequency, consequence model
  </Step>
  <Step>
    **Calculate $IR(x,y)$** at every point on a geographic grid:

    $$IR(x,y) = \sum_{i} f_i \times P_{f,i}(x,y)$$
  </Step>
  <Step>
    **Extract contour polygons** from the grid (lines of equal individual risk)
  </Step>
  <Step>
    **Assign population** to grid cells (receivers + background density)
  </Step>
  <Step>
    **Calculate $IR_{av}$ (Exposed Population)** — Eq. 4.4.6:

    $$IR_{av} = \frac{\sum(IR_{xy} \times P_{xy})}{\sum(P_{xy})}$$
  </Step>
  <Step>
    **Calculate $IR_{av}$ (Total Population)** — Eq. 4.4.7:

    $$IR_{av} = \frac{\sum(IR_{xy} \times P_{xy})}{P_T}$$
  </Step>
  <Step>
    **Classify the result** against tolerance criteria (Acceptable / ALARP / Intolerable)
  </Step>
</Steps>

---

## 4. Accident Scenarios

Each scenario represents a specific accident that could occur at an industrial source. The following data is required:

| Parameter | Description | Example |
|-----------|-------------|---------|
| Source coordinates | Geographic location (latitude, longitude) | 19.4326 N, -99.1332 W |
| Frequency ($f_i$) | How often this accident is expected to occur | $1.5 \times 10^{-4}$ events/yr |
| Model type | Type of consequence model | Pool fire, jet fire, VCE, flash fire, fireball |
| Fatality profile | Distance vs. fatality probability | See Section 4.1 |

### 4.1 Fatality Profile

For **thermal models** (fireball, pool fire, jet fire) and **explosions** (VCE), the fatality profile is a table of radial distance vs. fatality probability:

| Distance (m) | Fatality (%) |
|:---:|:---:|
| 50 | 100 |
| 100 | 80 |
| 200 | 40 |
| 300 | 10 |
| 400 | 0 |

This profile is derived from probit equations applied to the thermal radiation or overpressure results for each scenario.

<Callout type="info" title="Flash Fire">
For flash fire, the hazard zone is a geographic polygon (the LEL cloud boundary). Anyone inside the cloud at the time of ignition is assumed to have 100% fatality probability. Wind direction determines the cloud orientation.
</Callout>

---

## 5. Individual Risk at Each Point: IR(x,y)

### 5.1 Formula

$$
IR(x,y) = \sum_{i=1}^{n} f_i \times P_{f,i}(x,y)
$$

Where:
- $n$ = number of accident scenarios
- $f_i$ = frequency of scenario $i$ ($\text{yr}^{-1}$)
- $P_{f,i}(x,y)$ = probability of fatality at $(x,y)$ for scenario $i$

This means: **sum the risk contributions from all scenarios** at each point.

### 5.2 Calculation Grid

The calculation is performed on a uniform rectangular grid:

| Parameter | Description | Typical value |
|-----------|-------------|---------------|
| Center | Centroid of all source locations | Automatic |
| Resolution | Distance between grid points | 25 meters |
| Extent | Half-width of the grid from center | 500 to 6,000 meters (automatic) |

**Grid size example:** Resolution = 25 m, extent = 2,500 m produces 201 $\times$ 201 = 40,401 calculation points.

### 5.3 Fatality Probability: Thermal and Explosion Models

For a grid point at distance $d$ from the source:

<Steps>
  <Step>
    **Calculate distance:** $d = \sqrt{(x - x_{\text{source}})^2 + (y - y_{\text{source}})^2}$
  </Step>
  <Step>
    **Interpolate the fatality profile:**

    - If $d \leq$ minimum profile distance: $P_f = $ first profile value / 100
    - If $d \geq$ maximum profile distance: $P_f = 0$
    - Otherwise: linear interpolation between the two nearest profile points
  </Step>
  <Step>
    **Contribution to IR:** $f_i \times P_f$
  </Step>
</Steps>

### 5.4 Fatality Probability: Flash Fire (Directional)

Flash fire is direction-dependent. The LEL cloud polygon is rotated to each possible wind direction:

$$
P_{f,\text{ff}}(x,y) = \sum_{\theta} P(\text{wind} = \theta) \times \mathbb{1}\{(x,y) \in \text{LEL}_{\theta}\}
$$

Where:
- $\theta$ = wind direction (16 directions from wind rose: N, NNE, NE, ..., NNW)
- $P(\text{wind} = \theta)$ = probability that wind blows FROM direction $\theta$
- $\mathbb{1}()$ = 1 if the point is inside the rotated LEL polygon, 0 otherwise

<Callout type="info" title="Angular interpolation">
The 16 wind rose directions are interpolated to 72 directions (every 5 degrees) using a circular Catmull-Rom spline. This produces smooth contours instead of discrete "petal" artifacts.
</Callout>

### 5.5 Combining All Scenarios

At each grid point, the IR contributions from ALL scenarios are summed:

$$
IR(x_i, y_j) = \sum_{k=1}^{n} f_k \times P_{f,k}(x_i, y_j)
$$

---

## 6. Contour Extraction

### 6.1 Contour Levels

| Level ($\text{yr}^{-1}$) | Meaning |
|--------------------------|---------|
| $10^{-2}$ | 1 in 100 per year |
| $10^{-3}$ | 1 in 1,000 per year |
| $10^{-4}$ | 1 in 10,000 per year |
| $10^{-5}$ | 1 in 100,000 per year |
| $10^{-6}$ | 1 in 1,000,000 per year |
| $10^{-7}$ | 1 in 10,000,000 per year |
| $10^{-8}$ | 1 in 100,000,000 per year |

### 6.2 Extraction Method

Contour polygons are extracted using the **marching squares** algorithm:

<Steps>
  <Step>
    For each contour level, classify every grid cell as above or below
  </Step>
  <Step>
    Interpolate exact crossing points on cell edges
  </Step>
  <Step>
    Connect all crossing points into closed polygons
  </Step>
  <Step>
    Convert to geographic coordinates
  </Step>
</Steps>

### 6.3 Area Calculation

The enclosed area of each contour is calculated using the **shoelace formula** applied to the polygon vertices. Results in $\text{m}^2$ and hectares.

---

## 7. Population Assignment

Population is assigned to each grid cell from three sources, in priority order:

<Tabs items={["Polygon Receivers", "Point Receivers", "Background Population"]}>
  <Tab value="Polygon Receivers">

**Polygon receivers** (e.g., residential zones, school campuses):

$$
P_{\text{cell}} = P_{\text{receiver}} \times \frac{A_{\text{cell}}}{A_{\text{receiver}}}
$$

The receiver's population is distributed uniformly across its geographic area.

  </Tab>
  <Tab value="Point Receivers">

**Point receivers** (e.g., a hospital, a specific building):

$$
P_{\text{cell}} = P_{\text{receiver}}
$$

The entire population is assigned to the nearest grid cell.

  </Tab>
  <Tab value="Background Population">

For all grid cells NOT assigned to any receiver, and where $IR > 0$:

$$
P_{\text{cell}} = \rho \times A_{\text{cell}}
$$

**Density conversion:**

| Input unit | Conversion to p/m² |
|------------|---------------------|
| p/km² | $\rho / 1{,}000{,}000$ |
| p/ha | $\rho / 10{,}000$ |
| p/m² | no conversion needed |

**Example:** density = 100 p/km², cell = 25 $\times$ 25 m = 625 m²

$$
P_{\text{cell}} = \frac{100}{1{,}000{,}000} \times 625 = 0.0625 \text{ persons per cell}
$$

  </Tab>
</Tabs>

---

## 8. IR_av: Exposed Population (Eq. 4.4.6)

### 8.1 Formula

$$
IR_{av}^{(\text{exp})} = \frac{\sum(IR_{xy} \times P_{xy})}{\sum(P_{xy})} \qquad \text{(CCPS Eq. 4.4.6)}
$$

| Variable | Description |
|----------|-------------|
| $IR_{xy}$ | Individual risk at location $(x,y)$ — the actual grid value ($\text{yr}^{-1}$) |
| $P_{xy}$ | Number of people at location $(x,y)$ |
| $\sum(P_{xy})$ | Total exposed population — only people within risk contours |

### 8.2 Meaning

This metric answers: **"What is the average annual fatality risk for a person in the exposed population?"**

The "exposed population" consists only of people who are within the risk contours — i.e., people who face some non-zero level of risk from the facility.

### 8.3 Calculation Procedure

```
totalWeightedRisk = 0     (numerator)
totalPopulation = 0       (denominator)

For each grid cell (i, j) where IR > 0:
  IR_cell = grid value at (i, j)

  Determine P_cell:
    - If cell is inside a polygon receiver: proportional population
    - Else if cell matches a point receiver: receiver population
    - Else if project density > 0: density × cell_area
    - Else: skip (no people at this location)

  If P_cell > 0:
    totalWeightedRisk += IR_cell × P_cell
    totalPopulation += P_cell

IR_av(exposed) = totalWeightedRisk / totalPopulation
```

If `totalPopulation = 0`, the result is null (no exposed population found).

### 8.4 Audit Breakdown

For traceability, each grid cell is classified into a contour band:

| Band | Risk Level |
|------|-----------|
| $\geq 10^{-2}$ | Innermost, highest risk |
| $10^{-3}$ to $10^{-2}$ | |
| $10^{-4}$ to $10^{-3}$ | |
| $10^{-5}$ to $10^{-4}$ | |
| $10^{-6}$ to $10^{-5}$ | |
| $10^{-7}$ to $10^{-6}$ | |
| $10^{-8}$ to $10^{-7}$ | Outermost, lowest risk |

For each band, the report shows:
- Number of grid cells
- Area ($\text{m}^2$)
- Population
- Representative IR (weighted average of grid values in that band)
- Weighted risk contribution ($IR \times P$)
- Percentage of total contribution

This breakdown is available in both the application interface and the PDF report.

---

## 9. IR_av: Total Population (Eq. 4.4.7)

### 9.1 Formula

$$
IR_{av}^{(\text{tot})} = \frac{\sum(IR_{xy} \times P_{xy})}{P_T} \qquad \text{(CCPS Eq. 4.4.7)}
$$

| Variable | Description |
|----------|-------------|
| $\sum(IR_{xy} \times P_{xy})$ | Same numerator as Eq. 4.4.6 — identical calculation |
| $P_T$ | Total predetermined population — entered by the user |

### 9.2 Meaning

This metric answers: **"What is the average annual fatality risk across the entire surrounding population, including those who face zero risk?"**

$P_T$ is the entire population of interest. For example:
- The population of the town surrounding the plant
- All workers inside an industrial complex
- The population within a defined radius from the facility

### 9.3 Key Difference from Eq. 4.4.6

| Aspect | Exposed Population (Eq. 4.4.6) | Total Population (Eq. 4.4.7) |
|--------|--------------------------------|-------------------------------|
| **Numerator** | $\sum(IR_{xy} \times P_{xy})$ | $\sum(IR_{xy} \times P_{xy})$ — **identical** |
| **Denominator** | $\sum(P_{xy})$ — exposed only | $P_T$ — all people, including unexposed |
| **What it includes** | Only people within risk contours | All people, even those with zero risk |
| **Typical result** | Higher value | Lower value |
| **When to use** | Default metric for risk assessment | When regulations require total population basis |

### 9.4 Calculation

Since the numerator is already computed in Step 5:

$$
IR_{av}^{(\text{tot})} = \frac{\text{totalWeightedRisk}}{P_T}
$$

Where $P_T$ is entered directly in the IR Average tab of the application.

### 9.5 CCPS Warning

<Callout type="warn" title="Use with caution">
*"This measure of individual risk must be used with caution. Average individual risk can be made to appear very low by including a large number of people incurring little or no risk in the predetermined population."*

— CCPS QRA 2nd Ed., Section 4.4, p. 418

A facility near a large city will show a very low $IR_{av}^{(\text{tot})}$ simply because the denominator is large. This does **not** mean the risk is low for people near the facility. Always interpret Eq. 4.4.7 together with Eq. 4.4.6.
</Callout>

---

## 10. Risk Level Classification

### 10.1 ALARP Framework

| Zone | Condition | Required Action |
|------|-----------|----------------|
| **Intolerable** | $IR_{av} \geq$ intolerable threshold | Risk is unacceptable. Reduction required regardless of cost. |
| **ALARP** | tolerable $\leq IR_{av} <$ intolerable | Risk should be reduced unless cost is grossly disproportionate to the benefit. |
| **Acceptable** | $IR_{av} <$ tolerable threshold | Risk is broadly acceptable. No additional measures required. |

### 10.2 Available Criteria

| Country / Standard | Target | Intolerable ($\text{yr}^{-1}$) | Tolerable ($\text{yr}^{-1}$) | Reference |
|-------------------|--------|-------------------------------|-----------------------------|-----------|
| UK HSE | Workers | $10^{-3}$ | $10^{-6}$ | R2P2 |
| UK HSE | Public | $10^{-4}$ | $10^{-6}$ | R2P2 |
| Mexico ASEA | Public | $10^{-3}$ | $10^{-6}$ | ASEA Guidelines |
| Netherlands RIVM | Public | $10^{-5}$ | $10^{-8}$ | Dutch Risk Criteria |
| Hong Kong | Public | $10^{-5}$ | $10^{-6}$ | HKSAR Guidelines |
| Australia (HIPAP) | Public | $10^{-5}$ | $10^{-6}$ | HIPAP No. 4 |
| USA EPA | Public | $10^{-4}$ | $10^{-6}$ | EPA Guidelines |
| Custom | — | User-defined | User-defined | — |

<Callout type="info" title="Independent classification">
**Both $IR_{av}$ metrics** (Exposed and Total Population) are independently classified against the same criteria. They may fall in different zones — this is expected.
</Callout>

---

## 11. Worked Numerical Example

### 11.1 Project Data

- Grid resolution: 25 m (cell area = 625 $\text{m}^2$)
- Population density: 100 p/km² = 0.0001 p/m²
- $P_T$ (total population of nearby town): 15,000 inhabitants
- Two accident scenarios:
  - Scenario A: Pool fire, $f = 5 \times 10^{-4}\ \text{yr}^{-1}$
  - Scenario B: VCE, $f = 2 \times 10^{-5}\ \text{yr}^{-1}$

### 11.2 IR at a Sample Point (200 m East of Scenario A)

$$
IR_A = f_A \times P_{f,A}(200\ \text{m}) = 5 \times 10^{-4} \times 0.40 = 2.00 \times 10^{-4}
$$

$$
IR_B = f_B \times P_{f,B}(200\ \text{m}) = 2 \times 10^{-5} \times 0.15 = 3.00 \times 10^{-6}
$$

$$
IR(200\ \text{m east}) = 2.00 \times 10^{-4} + 3.00 \times 10^{-6} = 2.03 \times 10^{-4}\ \text{yr}^{-1}
$$

### 11.3 Receiver: "North Colony" (Polygon)

- Population: 200 people, area: 30,000 $\text{m}^2$
- 48 grid cells inside (48 $\times$ 625 = 30,000 $\text{m}^2$)
- Population per cell: $200 \times (625 / 30{,}000) = 4.17$ persons

| Band | Cells | Avg IR | Pop. per cell | $IR \times P$ per band |
|------|-------|--------|---------------|----------------------|
| $10^{-5}$ to $10^{-4}$ | 3 | $4.2 \times 10^{-5}$ | 4.17 | $5.25 \times 10^{-4}$ |
| $10^{-6}$ to $10^{-5}$ | 12 | $5.1 \times 10^{-6}$ | 4.17 | $2.55 \times 10^{-4}$ |
| Below $10^{-6}$ | 33 | $< 10^{-6}$ | 4.17 | negligible |
| **Subtotal** | **48** | | **200** | **$\approx 7.80 \times 10^{-4}$** |

### 11.4 Receiver: "School" (Point)

- Population: 150 people
- IR at location: $8.5 \times 10^{-7}\ \text{yr}^{-1}$
- Contribution: $8.5 \times 10^{-7} \times 150 = 1.275 \times 10^{-4}$

### 11.5 Background Population

- 520 grid cells with $IR > 0$ not inside any receiver
- $P_{\text{cell}} = 0.0625$ per cell
- Background population: $520 \times 0.0625 = 32.5$ persons
- Background weighted risk: $6.12 \times 10^{-5}$

### 11.6 Results

$$
\text{Numerator:}\quad \sum(IR \times P) = 7.80 \times 10^{-4} + 1.275 \times 10^{-4} + 6.12 \times 10^{-5} = 9.69 \times 10^{-4}
$$

$$
\text{Denominator:}\quad \sum(P_{xy}) = 200 + 150 + 32.5 = 382.5
$$

$$
\text{Eq. 4.4.6:}\quad IR_{av}^{(\text{exp})} = \frac{9.69 \times 10^{-4}}{382.5} = 2.53 \times 10^{-6}\ \text{yr}^{-1}
$$

$$
\text{Eq. 4.4.7:}\quad IR_{av}^{(\text{tot})} = \frac{9.69 \times 10^{-4}}{15{,}000} = 6.46 \times 10^{-8}\ \text{yr}^{-1}
$$

### 11.7 Classification (UK HSE — Public)

| Metric | Value | vs. Intolerable ($10^{-4}$) | vs. Tolerable ($10^{-6}$) | Result |
|--------|-------|---------------------------|--------------------------|--------|
| $IR_{av}$ Exposed | $2.53 \times 10^{-6}$ | Below | Above | **ALARP** |
| $IR_{av}$ Total | $6.46 \times 10^{-8}$ | Below | Below | **Acceptable** |

<Callout type="info" title="Interpretation">
People in the exposed area face ALARP-level risk; risk reduction measures should be evaluated. The average across the entire town is acceptable. Both perspectives are complementary and should be reported together.
</Callout>

---

## 12. Interpretation Guidelines for Regulators

### 12.1 Which Metric to Use

- **Eq. 4.4.6 (Exposed Population)** is the **primary metric** for most frameworks. It directly answers: "how much risk do exposed people face?"
- **Eq. 4.4.7 (Total Population)** is a **supplementary metric**. Use when regulations specifically require it, or to provide context about risk dilution.

### 12.2 Verification Checklist

| # | Check | What to look for |
|---|-------|-----------------|
| 1 | Scenario completeness | Are all relevant accident scenarios included? |
| 2 | Frequencies | Consistent with historical data, fault trees, or event trees? |
| 3 | Fatality profiles | Reasonable distances for the substances and conditions? |
| 4 | Grid resolution | Fine enough to capture risk gradients? (Recommended: $\leq$ 25 m) |
| 5 | Population data | Receivers correctly placed? Background density matches census? |
| 6 | Contour areas | Physically reasonable given the scenario types? |
| 7 | $P_T$ value | Represents the actual population in the defined influence area? |
| 8 | Tolerance criteria | Correct country-specific criteria applied? |

### 12.3 Common Pitfalls

| Issue | Impact | How to detect |
|-------|--------|---------------|
| Missing scenarios | Underestimates risk | Compare scenario list against HAZOP/PHA |
| Coarse grid (>50 m) | Smooths out peak risk | Check resolution in report |
| No receivers defined | Only background density used | Check receiver count in breakdown |
| $P_T$ too large | $IR_{av}^{(\text{tot})}$ artificially low | Compare $P_T$ against census data |
| Wrong density units | Over/underestimated population | Verify p/km² matches actual area |

---

## 13. References

<Accordions type="single">
  <Accordion title="View complete reference list">

| # | Reference |
|---|-----------|
| 1 | **CCPS** (2000). *"Guidelines for Chemical Process Quantitative Risk Analysis"*, 2nd Ed., AIChE. |
| 2 | **UK HSE** (2001). *"Reducing Risks, Protecting People (R2P2)"*. Health and Safety Executive. |
| 3 | **ASEA Mexico**. *"Lineamientos para el Análisis de Riesgo Industrial"*. |
| 4 | **RIVM Netherlands**. *"Dutch Risk Criteria for External Safety"*. |
| 5 | **HIPAP No. 4**. *"Risk Criteria for Land Use Safety Planning"*, NSW Australia. |
| 6 | **EPA**. *"Risk Management Program Guidance"*. |

  </Accordion>
</Accordions>
