> For the complete documentation index, see [llms.txt](https://docs.net2grid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.net2grid.com/net2grid-energy-ai-cloud-interface-specifications/daily-consumer-intelligence/input/profiles.md).

# Installation Profiles

## Installation Profiles

This document describes the Installation Profile specifications required for the Daily Consumer Intelligence tier.

Installation Profiles provide additional information regarding:

* the installation characteristics
* household demographics
* appliance ownership
* appliance-specific metadata

***

### Profile Usage

Installation Profiles are used by NET2GRID EnergyAI® to improve:

* disaggregation accuracy
* appliance detection
* peer comparison quality
* insights relevance
* recommendation quality

Providing more complete and accurate profile information generally improves the quality of downstream analytics.

***

### Default Profile Behavior

In many cases, the customer may not have complete information regarding a user installation.

To accommodate this, NET2GRID EnergyAI® supports an optional Default Profile mechanism.

#### Default Profile Rules

* If no installation-specific profile exists, the default profile is used entirely.
* If the installation profile is partial, missing values may be inherited from the default profile.
* If the installation profile is complete, only the installation profile is used.

This inheritance mechanism ensures that NET2GRID EnergyAI® always has a coherent profile structure available for analytics processing.

> The default profile functionality is optional (by default enabled) and it should be provided per label partner.

***

### Missing vs Explicit Values

NET2GRID EnergyAI® distinguishes between:

| State                         | Meaning                                                           |
| ----------------------------- | ----------------------------------------------------------------- |
| Missing attribute             | The value is unknown                                              |
| Explicit value (`0`, `false`) | The appliance or attribute is explicitly declared as non-existing |

Example:

```json
{
  "electricVehicle": 0
}
```

means:

> the installation explicitly declares that no electric vehicle exists.

While:

```json
{
}
```

means:

> the electric vehicle information is unknown.

This distinction is important for:

* suggested profile correction reports
* disaggregation optimization
* downstream analytics

***

### Appliance Count Semantics

Values under the `appliances` object represent the number of appliances present in the installation.

| Value             | Meaning                             |
| ----------------- | ----------------------------------- |
| `0`               | Appliance explicitly does not exist |
| `1+`              | Number of appliances present        |
| Missing attribute | Unknown appliance status            |

***

### Multiple-Value Attributes

Some profile attributes support multiple values.

These values must be provided as comma-separated strings.

Example:

```json
{
  "spaceHeatingType": "gas,electric-heaters"
}
```

Supported multi-value attributes include:

* `spaceHeatingType`
* `spaceCoolingType`
* `waterHeatingType`

***

### Profile Update Behavior

Profiles may be updated by uploading a new profile file for the same installation.

The latest uploaded profile replaces the previously stored profile for the installation.

Partial profile updates are not supported. All the profile attributes should be provided in the new profile.

***

### Profile Validation

Uploaded profile files are validated before being accepted.

Validation may include checks such as:

* valid JSON structure
* supported attribute names
* supported attribute values
* valid country codes
* valid timezone values
* valid appliance counts

Invalid attributes may be ignored or rejected depending on the validation severity.

***

### Recommended Minimum Profile Attributes

Although all profile attributes are optional, the following attributes are strongly recommended because they significantly improve analytics quality:

| Attribute    | Purpose                                |
| ------------ | -------------------------------------- |
| `country`    | Regional analytics calibration         |
| `timezone`   | Correct local-day interpretation       |
| `postalCode` | Peer comparison and climate estimation |

***

## Profile File Structure

Each installation profile is provided as a single JSON file.

The profile contains three main sections:

| Section             | Description                         |
| ------------------- | ----------------------------------- |
| `home`              | Household and installation metadata |
| `appliances`        | Appliance ownership and quantities  |
| `applianceMetadata` | Appliance-specific metadata         |

***

### Filename Format

```
{external-installation-id}_profile.json
```

Example:

```
123456789_profile.json
```

***

### Upload Location

Profile files are uploaded through AWS S3 using the agreed bucket structure.

#### Path Format

```
s3://{bucket_name}/{labelpartner}/profiles/
```

***

### JSON Structure

#### home

Contains household and installation metadata.

Example:

```json
{
  "home": {
    "postalCode": "12345",
    "country": "UK"
  }
}
```

***

#### appliances

Contains appliance ownership information.

Example:

```json
{
  "appliances": {
    "electricVehicle": 1,
    "airCondition": 2
  }
}
```

***

#### applianceMetadata

Contains metadata for specific appliance instances.

Example:

```json
{
  "applianceMetadata": {
    "tumbleDryer": {
      "id1": {
        "fuelType": "gas"
      }
    }
  }
}
```

***

## Installation Profile Attributes

### Home Attributes

| Attribute                   | Description                                                                                    | Acceptable Values                                                                                                                                                                              |
| --------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `postalCode`                | The postal code of the premises.                                                               | Any valid postal code                                                                                                                                                                          |
| `timezone`                  | The timezone of the premises.                                                                  | Any valid timezone                                                                                                                                                                             |
| `country`                   | The country in which the premises are located.                                                 | ISO 3166 alpha-2 country code                                                                                                                                                                  |
| `propertyType`              | Describes the layout of the premises.                                                          | `detached`, `semi-detached`, `bungalow`, `terraced`, `end-terrace`, `flat`                                                                                                                     |
| `numBedrooms`               | The number of bedrooms on the premises.                                                        | `1`, `2`, `3`, `4`                                                                                                                                                                             |
| `numOccupants`              | Indicates the number of people living on the premises.                                         | `1`, `2`, `3`, `4`, `5`                                                                                                                                                                        |
| `propertyAge`               | Represents the period during which the premises were built.                                    | `pre-1919`, `1920-1975`, `1976-1999`, `post-2000`                                                                                                                                              |
| `ownership`                 | Defines whether the installation is owned or rented.                                           | `own`, `rent`                                                                                                                                                                                  |
| `occupantType`              | The type of people living on the premises.                                                     | `students`, `working-adults`, `home-adults`, `young-family`, `older-family`, `retirees`                                                                                                        |
| `spaceHeatingType`          | The type of space heating installed on the premises. Supports multiple comma-separated values. | `gas`, `gas-furnace`, `electric-furnace`, `electric-storage`, `electric-heaters`, `heat-pump`, `hybrid-heat-pump`, `air-condition`, `district-heating`, `wood-pellet`, `oil`, `solar`, `other` |
| `spaceCoolingType`          | The type of space cooling installed on the premises. Supports multiple comma-separated values. | `heat-pump`, `air-condition`, `ceiling-fan`, `other`                                                                                                                                           |
| `spaceHeatingExchangerType` | The type of space heating exchanger installed on the premises.                                 | `radiators`, `floor`                                                                                                                                                                           |
| `waterHeatingType`          | The type of water heating installed on the premises. Supports multiple comma-separated values. | `gas`, `electric`, `oil`, `solar`, `other`, `heat-pump`, `hybrid-heat-pump`                                                                                                                    |
| `stoveHeatingType`          | The type of stove appliances installed on the premises.                                        | `gas`, `electric`, `oil`, `other`                                                                                                                                                              |
| `grillHeatingType`          | The type of grill appliances installed on the premises.                                        | `gas`, `electric`, `oil`, `other`                                                                                                                                                              |
| `ovenHeatingType`           | The type of oven appliances installed on the premises.                                         | `gas`, `electric`, `oil`, `other`                                                                                                                                                              |
| `photovoltaic`              | Indicates whether photovoltaic panels are installed on the premises.                           | `true`, `false`                                                                                                                                                                                |

***

### Appliances Attributes

The `appliances` section contains the number of appliances available in the installation.

A value of:

* `0` means the appliance is explicitly declared as non-existing
* `1+` defines the number of appliances present
* missing attribute means the appliance status is unknown

| Attribute                    | Description                                                             |
| ---------------------------- | ----------------------------------------------------------------------- |
| `fridgeCombo`                | The number of fridge-freezer combo appliances on the premises.          |
| `refrigerator`               | The number of refrigerator appliances on the premises.                  |
| `freezer`                    | The number of freezer appliances on the premises.                       |
| `hob`                        | The number of hob appliances on the premises.                           |
| `oven`                       | The number of oven appliances on the premises.                          |
| `grill`                      | The number of grill appliances on the premises.                         |
| `microwave`                  | The number of microwave appliances on the premises.                     |
| `kettle`                     | The number of kettle appliances on the premises.                        |
| `toaster`                    | The number of toaster appliances on the premises.                       |
| `dishWasher`                 | The number of dishwasher appliances on the premises.                    |
| `washingMachine`             | The number of washing machine appliances on the premises.               |
| `tumbleDryer`                | The number of tumble dryer appliances on the premises.                  |
| `iron`                       | The number of iron appliances on the premises.                          |
| `TV`                         | The number of TV appliances on the premises.                            |
| `dvd`                        | The number of DVD appliances on the premises.                           |
| `cableBox`                   | The number of cable box appliances on the premises.                     |
| `gameConsole`                | The number of game console appliances on the premises.                  |
| `computer`                   | The number of computer appliances on the premises.                      |
| `tablet`                     | The number of tablet appliances on the premises.                        |
| `electricVehicle`            | The number of electric vehicle appliances on the premises.              |
| `electricShower`             | The number of electric shower appliances on the premises.               |
| `immersionHeater`            | The number of immersion heater appliances on the premises.              |
| `airCondition`               | The number of air conditioner appliances on the premises.               |
| `poolPump`                   | The number of pool pump appliances on the premises.                     |
| `sauna`                      | The number of sauna appliances on the premises.                         |
| `infraredPanels`             | The number of infrared panel appliances on the premises.                |
| `closeInBoiler`              | The number of close-in boiler appliances on the premises.               |
| `instantBoilingWaterTap`     | The number of instant boiling water tap appliances on the premises.     |
| `batteryEnergyStorageSystem` | The number of battery energy storage system appliances on the premises. |
| `heatPump`                   | The number of heat pump appliances on the premises.                     |
| `dehumidifier`               | The number of dehumidifier appliances on the premises.                  |
| `hotTub`                     | The number of hot tub appliances on the premises.                       |

***

### Appliance Metadata Attributes

| Attribute  | Applicable Appliances          | Description                                                  | Acceptable Values |
| ---------- | ------------------------------ | ------------------------------------------------------------ | ----------------- |
| `fuelType` | `tumbleDryer`, `hotTub`        | Defines the fuel type of the appliance.                      | `gas`, `electric` |
| `hotFill`  | `washingMachine`, `dishWasher` | Defines whether the appliance supports hot-fill water input. | `true`, `false`   |

***

#### Default Values

| Attribute  | Default Value |
| ---------- | ------------- |
| `fuelType` | `electric`    |
| `hotFill`  | `false`       |

***

## Installation Profile Example

```json
{
  "home": {
    "postalCode": "12345",
    "country": "UK",
    "propertyType": "bungalow",
    "numBedrooms": 4,
    "numOccupants": 2,
    "propertyAge": "1976-1999",
    "ownership": "own",
    "occupantType": "retirees",
    "spaceHeatingType": "gas,electric-heaters",
    "spaceCoolingType": "air-condition,ceiling-fan",
    "spaceHeatingExchangerType": "radiators",
    "waterHeatingType": "electric,other",
    "stoveHeatingType": "gas",
    "grillHeatingType": "gas",
    "ovenHeatingType": "gas",
    "photovoltaic": true
  },
  "appliances": {
    "electricVehicle": 1,
    "airCondition": 1,
    "dishWasher": 1,
    "washingMachine": 2,
    "poolPump": 1,
    "hotTub": 1,
    "toaster": 0,
    "refrigerator": 1
  },
  "applianceMetadata": {
    "tumbleDryer": {
      "id2": {
        "fuelType": "gas"
      }
    },
    "dishWasher": {
      "id4": {
        "hotFill": true
      }
    }
  }
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.net2grid.com/net2grid-energy-ai-cloud-interface-specifications/daily-consumer-intelligence/input/profiles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
