# Postcode Unit Area

The Postcode Unit Area Feature Type is an area representation of the notional extents of areas containing addresses which share a common postcode unit. Notional extents are designed to enable users to display and analyse any data collected at the postcode unit level. These have been refined to avoid property extents and to follow the path of linear features such as roads, rivers and railways where possible. Polygons within this feature type are derived from georeferenced Royal Mail Postal Address File (PAF) delivery addresses.

<figure><img src="https://170091638-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F0pZjHxkAvY7Mn6TqFBMD%2Fuploads%2FTDNwtXOxbVkw0mKwCQ6q%2FPostcode_Area_FT.png?alt=media&#x26;token=0eb91d9d-a160-4f5b-8799-5ae7d563856a" alt="Example image showing Postcode Unit Area features over part of Exeter. A background map is included for context."><figcaption><p>Example image showing Postcode Unit Area features over part of Exeter. A background map is included for context.</p></figcaption></figure>

## Temporal filtering

The earliest date on which you can request a one-off snapshot of a date in the past for data in this feature type is 20 February 2026; any data temporally filtered earlier than the specified earliest date noted for the data schema version may contain data inconsistencies.

{% hint style="info" %}

## What is temporal filtering?

Temporal filtering allows you to order a one-off snapshot of data from the OS NGD from a current or past date. It is an optional step when you create a new data package in OS Select+Build (the OS NGD download service). More information about temporal filtering on OS NGD feature types is available from the [Getting started with temporal filtering guide](https://docs.os.uk/osngd/getting-started/downloading-with-os-select+build/getting-started-with-data-packages/getting-started-with-temporal-filtering).
{% endhint %}

{% hint style="info" %}

### Collection update date and temporal filtering

Please note, postcodes data is updated on the seventeenth or next working day of each month. If you have a daily recipe, then you'll receive blank files for all other days. If you have monthly recipe, then this will be delivered to you on the first of the following month.
{% endhint %}

## Feature type attributes

The following sub-sections provide details about the attributes included with this feature type, their data types in the different output formats, and other important metadata about them.

{% hint style="info" %}

## Loading OS NGD CSV files into databases

Comma-separated values (CSV) file format is universally supported for easy ingestion into all major database products. Before loading OS NGD data contained in CSV files into a database, it is necessary to create relevant tables. Data definition language (DDL) statements for PostgreSQL, SQL Server and Oracle can be accessed in our [OS NGD Resources GitHub repository](https://github.com/OrdnanceSurvey/osngd-resources/tree/main/database-resources).

For instructions on loading CSV files, see the [Getting Started with CSV](https://docs.os.uk/osngd/accessing-os-ngd/downloading-with-os-select+build/getting-started-with-csv/loading-csv-files) guide.
{% endhint %}

### postcode

This is the identifier assigned by Royal Mail for the purposes of mail delivery. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code, which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code, which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. For more information about the postcode, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 8
* **OS NGD API – Features Filterable:** Yes
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### featureid

A non-persistent identifier for uniquely identifying each part of a postcode geometry. The notional extents of Postcode Unit Area features are regenerated monthly, at which point they will get a new Feature ID.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 36
* **OS NGD API – Features Filterable:** Yes
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### versiondate

Date when the version was last updated.

* **Data Types:** String (GeoJSON), Date (GPKG), Date (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### versionavailablefromdate

The date this version of the feature became the latest version.

* **Data Types:** String (GeoJSON), DateTime (GPKG), DateTime (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

* **Data Types:** String (GeoJSON), DateTime (GPKG), DateTime (CSV)
* **Nullable:** true
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### changetype

The type of change that generated a new version of the feature.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Code List Name:** [changetypevalue](https://docs.os.uk/osngd/code-lists/code-lists-overview/changetypevalue)
* **Max Length:** 50
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### geometry

Geometry for the feature.

* **Data Types:** Geometry (GeoJSON), Geometry (GPKG), WKT (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0
* **Geometry Type:** Polygon

### geometryid

A non-persistent identifier for identifying where postcode part geometries are coincidental.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 36
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### theme

The OS NGD theme to which the feature belongs.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Code List Name:** [themevalue](https://docs.os.uk/osngd/code-lists/code-lists-overview/themevalue)
* **Max Length:** 40
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### description

A single descriptive value intended for a quick understanding of what the feature represents.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Code List Name:** [postcodeunitareadescriptionvalue](https://docs.os.uk/osngd/code-lists/code-lists-overview/postcodeunitareadescriptionvalue)
* **Max Length:** 50
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodenospace

Full postcode with the whitespace removed between the postcode district and postcode sector.

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 7
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodearea

The postcode area is identified by one or two alpha characters at the start of the postcode, the letters being derived from a town, city or district falling within the postcode area. There are, at present, 124 postcode areas in Great&#x20;Britain, for example, FK for Falkirk, CF for Cardiff and SO for Southampton. For more information about the postcode area, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 2
* **OS NGD API – Features Filterable:** Yes
* **OS Select+Build Filterable:** Yes
* **Data Schema Version:** 1.0

### postcodedistrict

The postcode district is identified by one or two alphanumeric characters following the postcode area, for example, FK1 for Falkirk, CF10 for Cardiff and SO16 for Southampton. For more information about the postcode district, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).

{% hint style="info" %}

### Note

There are certain non-geographic districts. In these instances, a district code is allocated to cover all large users in the postcode area. For more information about the postcode, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).
{% endhint %}

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 4
* **OS NGD API – Features Filterable:** Yes
* **OS Select+Build Filterable:** Yes
* **Data Schema Version:** 1.0

### postcodesector

The postcode sector is a sub-area of a postcode district. It's identified by one numeric character following the postcode district (with a space included), for example, FK1 1 for Falkirk, CF10 1 for Cardiff and SO16 1 for Southampton. For more information about the postcode sector, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Max Length:** 6
* **OS NGD API – Features Filterable:** Yes
* **OS Select+Build Filterable:** Yes
* **Data Schema Version:** 1.0

### postcodetype

Describes the postcode as a small or large user as defined by Royal Mail. For more information about the postcode type, please consult chapter one 'Structure of a PAF address' of the [Royal Mail Programmer's Guide](https://www.poweredbypaf.com/resources/).

* **Data Types:** String (GeoJSON), String (GPKG), String (CSV)
* **Nullable:** false
* **Code List Name:** [postcodetypevalue](https://docs.os.uk/osngd/code-lists/code-lists-overview/postcodetypevalue)
* **Max Length:** 10
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodepartcount\_total

Count of postcode unit area parts that share the same postcode.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodepartcount\_coincidentalgeometry

Count of postcode unit area parts which are geometrically coincidental.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodepartdeliverypointcount\_total

Count of Royal Mail Postcode Address File (PAF) delivery points within each postcode unit area part.&#x20;

These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodepartdeliverypointcount\_residential

Count of Royal Mail Postcode Address File (PAF) delivery points within the postcode unit part which do not have an Organisation Name populated.

These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodepartdeliverypointcount\_commercial

Count of Royal Mail Postcode Address File (PAF) delivery points within the postcode unit part which have an Organisation Name populated.

These counts do not include PO boxes, British Forces PO boxes, addresses which are not matched to a local authority address or addresses which are matched to a street.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodedeliverypointcount\_total

Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodedeliverypointcount\_matched

Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode and are matched to local authority addresses.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0

### postcodedeliverypointcount\_unmatched

Count of Royal Mail Postcode Address File (PAF) delivery points which are allocated to the postcode and are not matched to local authority addresses.

* **Data Types:** Integer (GeoJSON), Integer (GPKG), Integer (CSV)
* **Nullable:** false
* **OS NGD API – Features Filterable:** No
* **OS Select+Build Filterable:** No
* **Data Schema Version:** 1.0


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.os.uk/osngd/data-structure/administrative-and-statistical-units/gb-postcodes/postcode-unit-area.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
