Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/home.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ This documentation site attempts to explain various aspects of the WeatherXM pro
<br></br>
<Link to="/rewards/reward-mechanism/">&#8226; Reward Mechanism</Link>
<br></br>
<Link to="/rewards/quality-of-data/">&#8226; Quality of Data (QoD)</Link>
<Link to="/rewards/data-quality/">&#8226; Data Quality</Link>
<br></br>
<Link to="/rewards/proof-of-location/">&#8226; Proof of Location (PoL)</Link>
<br></br><br></br>
Expand Down
8 changes: 4 additions & 4 deletions docs/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,11 @@ The Merkle Tree structure facilitates a verifiable and transparent mechanism for
These improvements aim to refine the Reward Mechanism, making it more inclusive, nuanced, and transparent to build trust among weather station owners participating in the network.
More on [Reward Mechanism](/rewards/reward-mechanism).

### Quality of Data (QoD)
[Quality of Data (QoD)](/rewards/quality-of-data) is an algorithm that assesses the quality of weather data provided by a weather station. The score it generates shows how confident we can be in the quality of the data received. Our goal is to make sure that the data we receive is meaningful and usable, and the QoD score helps us measure this metric. Ultimately, we want to encourage weather station owners to follow our guidelines so that they can consistently achieve the best possible QoD score.
### Data Quality
[Data Quality](/rewards/data-quality) is an algorithm that assesses the quality of weather data provided by a weather station. The score it generates shows how confident we can be in the quality of the data received. Our goal is to make sure that the data we receive is meaningful and usable, and the Data Quality score helps us measure this metric. Ultimately, we want to encourage weather station owners to follow our guidelines so that they can consistently achieve the best possible Data Quality score.

To achieve this, QoD relies on a range of techniques and processes designed to help us differentiate between expected and unexpected data behaviors.
More on [Quality of Data](/rewards/quality-of-data).
To achieve this, Data Quality Algorithm relies on a range of techniques and processes designed to help us differentiate between expected and unexpected data behaviors.
More on [Data Quality](/rewards/data-quality).

### WeatherXM Devices
Currently we use 4 main types of devices:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
---
title: Quality of Data (QoD)
sidebar_label: Quality of Data (QoD)
title: Data Quality
sidebar_label: Data Quality
---

import useBaseUrl from "@docusaurus/useBaseUrl";

:::info
QoD is currently on version 1.0. This page serves as both an informational resource about its current status and a glimpse into its future.
Data Quality algorithm is currently on version 1.0. This page serves as both an informational resource about its current status and a glimpse into its future.
:::

**QoD** is an algorithm that evaluates the quality of weather data provided by a weather station.
**Data Quality** is an algorithm that evaluates the quality of weather data provided by a weather station.
The calculated score indicates the confidence level in the quality of the weather data received from a station.
We need meaningful and usable data and the QoD score is an attempt to quantify this metric.
We need meaningful and usable data and the Data Quality score is an attempt to quantify this metric.
The end goal is to encourage weather station owners to do their best to comply with the Network's guidelines in order to consistently
achieve the best QoD score possible.
achieve the best Data Quality score possible.

><img src={useBaseUrl("/img/rewards/qod-v1.png")} alt="QoD current state" />
><img src={useBaseUrl("/img/rewards/data-quality-v1.png")} alt="QoD current state" />

It’s the method we use to assess the quality of each data point we receive from WeatherXM stations.
QoD involves a series of techniques and processes designed to help us distinguish between expected and unexpected data behaviors.
Data Quality algorithm involves a series of techniques and processes designed to help us distinguish between expected and unexpected data behaviors.

This mechanism includes the following 3 control points and their respective checks:
1. Self Check
* Out-of-Bounds Check (OBC) (QoD v1.0)
* Self Quality Check (SQC) (QoD v1.0)
* Out-of-Bounds Check (OBC) (Data Quality v1.0)
* Self Quality Check (SQC) (Data Quality v1.0)
2. Reference Check
* Comparative Quality Control (CQC) (QoD v1.3)
* Comparative Quality Control (CQC) (Data Quality v1.3)
3. Deployment status
* Indoor Station Detector (ISD) (Qod v1.1)
* Solar Obstacle Detector (SOD) (QoD v1.2)
* Indoor Station Detector (ISD) (Data Quality v1.1)
* Solar Obstacle Detector (SOD) (Data Quality v1.2)
* Wind Obstacle Detector (WOD) (TBD)

The QoD mechanism is designed to be a daily process, with the exception of the Deployment Status.
The Data Quality algorithm is designed to be a daily process, with the exception of the Deployment Status.

<img src={useBaseUrl("/img/rewards/qod-components-categories.png")}/>
<img src={useBaseUrl("/img/rewards/data-quality-components-categories.png")}/>

## 1. Self Check
Self-check is the basic component of the QoD mechanism, designed to identify common faults within datasets using only the data from the weather station being investigated. Self-check should run once per day. The following steps are included:
Self-check is the basic component of the Data Quality algorithm, designed to identify common faults within datasets using only the data from the weather station being investigated. Self-check should run once per day. The following steps are included:

### a. Out-of-Bounds Check (OBC)
OBC is a simple process that involves identifying values that fall outside the specifications set by the manufacturer for each sensor.
Expand All @@ -62,7 +62,7 @@ The following processes take place (excluding OBC):
The final result is text/numerical annotations and percentage of valid data over each time-slot in raw/minute/hourly level. Validity for meteorological purposes may differ compared to validity for reward purposes. Thus, there is a final annotation of each hour slot for meteorological and reward purposes.

## 2. Reference Check
This part of QoD focuses on comparing the data of a weather station with:
This part of Data Quality algorithm focuses on comparing the data of a weather station with:

a. Another neighbouring reliable weather station of the WXM network<br></br>
b. Another neighbouring reliable 3rd party weather station<br></br>
Expand All @@ -86,7 +86,7 @@ b. Solar Obstacle Detector (SOD)<br></br>
c. Wind Obstacle Detector (WOD)

Both processes require a long timeseries typically of a few weeks to a few months, thus they should run once per a few months or a year.
This means that the Deployment Status part of QoD can only be used to characterise the deployment of a weather station.
This means that the Deployment Status part of Data Quality algorithm can only be used to characterise the deployment of a weather station.

### a. Indoors Station Detector (ISD)
The purpose of this mechanism is to identify all the stations located in a house or a box.
Expand All @@ -113,18 +113,18 @@ The basic idea is that we collect measurements of significant wind (e.g., >5m/s)

This mechanism can be used to characterise the general deployment of a weather station, but can also identify the directions that wind measurements may not be reliable.

## QoD Threshold
QoD_Threshold is a rational number in the range [0,1].
This number indicates the minimum QoD score a station must have on a given day in order to be eligible for rewards.
## Data Quality Threshold
Data_Quality_Threshold is a rational number in the range [0,1].
This number indicates the minimum Data Quality score a station must have on a given day in order to be eligible for rewards.

## QoD Components Outcome
><img src={useBaseUrl("/img/rewards/qod-components-data-annotations.png")} alt="The QoD Components" />
## Data Quality Components Outcome
><img src={useBaseUrl("/img/rewards/data-quality-components-data-annotations.png")} alt="The Data Quality Components" />

:::note
QoD score is a rational number in the range [0,1]
Data Quality score is a rational number in the range [0,1]
:::

## References
- [WeatherXM Network](https://weatherxm.network/)
- [QoD Simplified - Medium article](https://medium.com/weatherxm/weatherxm-qod-quality-of-data-simplified-b5a42aee7367)
- [Technical description of the process for QoD v1.0](https://docs.google.com/document/d/e/2PACX-1vRAkDVFpRxqZyP0CAAEtqxtE61VTpAnP02k25BB25F9HUcvIILwBX4-gKt6YP4f1L3mSN2SLNK5aKzJ/pub)
- [Data Quality Simplified - Medium article](https://medium.com/weatherxm/weatherxm-qod-quality-of-data-simplified-b5a42aee7367)
- [Technical description of the process for Data Quality v1.0](https://docs.google.com/document/d/e/2PACX-1vR5UTaVXtmoXnbnpukE5ocFOcYjZAiuFH4mZU6Wgkj0OP7sAVYh5ep3PgMxyJe61uqaq9TAdHPbi-TU/pub)
2 changes: 1 addition & 1 deletion docs/rewards/reward-boosts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Cell Boost is a mechanism that can be used to incentivise weather stations deplo

## Examples of reward programs that may be implemented using **Rewards Boost**, in the near future are:

- Backfill of rewards that were not allocated to certain devices due to malfunctions in the [Quality of Data (QoD) mechanism](/rewards/quality-of-data) or [Proof of Location (PoL) mechanism](/rewards/proof-of-location).
- Backfill of rewards that were not allocated to certain devices due to malfunctions in the [Data Quality algorithm](/rewards/data-quality) or [Proof of Location (PoL) mechanism](/rewards/proof-of-location).
- Public Goods Funding, for devices that are deployed and contribute to the network in a humanitarian way, such as providing data in an underserved area or during a specific time.
- Devices that contribute to the network during a specific event, such as a natural disaster, may receive a boost in rewards.

Expand Down
24 changes: 12 additions & 12 deletions docs/rewards/reward-mechanism.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The Reward Mechanism is currently at **version 2.0**. This page serves as both a
The Reward Mechanism has undergone a progressive evolution across its versions, each iteration introducing refinements to bolster fairness and transparency in the rewarding process for weather station owners contributing data to the network.

- In its inaugural version (v1.0), the mechanism primarily gauged a station's eligibility based on its connection status to the network and the requirement for active wallet ownership, resulting in a somewhat simplistic reward calculation. In this version, the users received in a daily basis the WXM testnet rewards at their wallets.
- The subsequent release, v1.5, marked a significant advancement by expanding the criteria for reward eligibility. This version incorporated additional factors such as the Quality-of-Data (QoD), Proof-of-Location (PoL), Hardware-Classes (HC) and the Cell-Capacity (CP).
- The subsequent release, v1.5, marked a significant advancement by expanding the criteria for reward eligibility. This version incorporated additional factors such as the Data Quality, Proof-of-Location (PoL), Hardware-Classes (HC) and the Cell-Capacity (CP).
These additions contributed to a more sophisticated and equitable system, ensuring that rewards were allocated based on data quality, accurate location proof, and user engagement.
- The third iteration, v2.0, will introduce substantial enhancements, including the incorporation of Business Boost rewards and the implementation of a Merkle Tree structure for transparent reward distribution. The utilization of Merkle Tree will lead users in withdrawing, whenever they choose to do, their rewards from the smart contract.
Business Boost rewards added an additional layer of fairness by incorporating predefined criteria, while the Merkle Tree structure facilitated a verifiable and transparent mechanism for users to validate the distribution of their rewards.
Expand Down Expand Up @@ -90,17 +90,17 @@ for cell in cells:
device.reward_reason = 'NO_WALLET'
device.base_reward = 0
continue
if qod_score < qod_threshold:
if data_quality_score < data_quality_threshold:
device.reward_score = 0
device.reward_reason = 'QOD_THRESHOLD'
device.reward_reason = 'DATA_QUALITY_THRESHOLD'
device.base_reward = 0
continue
if pol_score < pol_threshold:
device.reward_score = 0
device.reward_reason = 'POL_THRESHOLD'
device.base_reward = 0
continue
device.reward_score = reward_algorithm(device.pol_score, device.qod_score)
device.reward_score = reward_algorithm(device.pol_score, device.data_quality_score)
cell_devices.push(device)
rewardable[device.hardware_class].count += 1
rewardable[device.hardware_class].push(device)
Expand Down Expand Up @@ -183,7 +183,7 @@ This section describes the updated **Reward Mechanism** that will be used to all
:::note Important Notes
* Connecting a wallet is mandatory to receive rewards. If a user has not connected a wallet, the rewards will be lost.
* Criteria that should be met for a weather station to be rewardable:
* QoD over qod_threshold
* Data quality over data_quality_threshold
* PoL over pol_threshold
* weather station’s owner should have an active wallet

Expand All @@ -201,9 +201,9 @@ This is a short summary of the criteria used:
It generates a score that denotes confidence about the weather station's location. WeatherXM places great importance on station continuity, necessitating that a station remains stationed at a single location.
When a weather station undergoes relocation, its PoL score reduces to 0 and its seniority in the Cell is reset, aiming to discourage frequent movements and sustain a stable Network. Read more about the [Proof of Location (PoL) mechanism](/rewards/proof-of-location).

* **Quality-of-Data (QoD)**: An algorithm that evaluates the quality of weather data provided by a weather station. It generates a score that denotes the confidence about the quality of the weather data for each weather station.
WeatherXM values weather stations that produce meaningful and usable data and the QoD score is an attempt to quantify this metric. The end goal is to encourage weather station owners to do their best to comply with WeatherXM's
guidelines in order to consistently achieve the best QoD score possible. Read more about the [Quality of Data (QoD) mechanism](/rewards/quality-of-data).
* **Data Quality**: An algorithm that evaluates the quality of weather data provided by a weather station. It generates a score that denotes the confidence about the quality of the weather data for each weather station.
WeatherXM values weather stations that produce meaningful and usable data and the Data Quality score is an attempt to quantify this metric. The end goal is to encourage weather station owners to do their best to comply with WeatherXM's
guidelines in order to consistently achieve the best Data Quality score possible. Read more about the [Data Quality algorithm](/rewards/data-quality).

* **Hardware-Class (HC)**: Each type of approved hardware (weather station) belongs to a specific Hardware Class. Hardware Classes are used to award more tokens to weather stations that have special capabilities,
increased sensor accuracy or range, new sensor types, or other capabilities that make them more valuable to the network. For the time being all Hardware Classes are considered equal. Read more about the [Hardware class](/rewards/hardware-class).
Expand All @@ -218,13 +218,13 @@ a. The following variables have known values at the start of each day:
* `daily_emission`: the amount of tokens that are available for allocation on the given day
* `weight_per_hardware_class`: the number denoting how important an HC is compared to all the other HC
* `pol_threshold`: the number denoting the cut-off threshold for PoL: weather stations with `pol_score`` < pol_threshold` are **excluded** from rewarding
* `qod_threshold`: the number denoting the cut-off threshold for QoD: weather stations with `qod_score < qod_threshold` are **excluded** from rewarding
* `data_quality_threshold`: the number denoting the cut-off threshold for Data Quality: weather stations with `data_quality_score < data_quality_threshold` are **excluded** from rewarding
* `capacity` per cell: the maximum number of weather stations that will be rewarded in a cell - the rest are **excluded** from rewarding

b. To calculate the rewardable count of devices per **HC**:

* we exclude weather stations that are owned by users with no wallet address specified
* we count the weather stations with **qod_score** and **pol_score** over the respected specified thresholds, `qod_threshold`, `pol_threshold` The number of stations that pass this evaluation are eligible for rewards.
* we count the weather stations with **data_quality_score** and **pol_score** over the respected specified thresholds, `data_quality_threshold`, `pol_threshold` The number of stations that pass this evaluation are eligible for rewards.

c. To calculate the **max_reward_per_hardware_class (MRPHC)**:

Expand All @@ -243,7 +243,7 @@ max_reward_per_hardware_class = tokens_per_hardware_class / rewardable_count_per
d. To calculate the **reward_score** and **actual_reward**:

```
reward_score = pol_score * qod_score
reward_score = pol_score * data_quality_score

actual_reward = reward_score * max_reward_per_hardware_class
```
Expand Down Expand Up @@ -296,7 +296,7 @@ Due to blockchain limitations on the number of atomic transfer transactions that

## Links
- [WeatherXM Network](https://weatherxm.network/)
- [Quality of Data (QoD) mechanism](/rewards/quality-of-data)
- [Data Quality algorithm](/rewards/data-quality)
- [Proof of Location (PoL) mechanism](/rewards/proof-of-location)
- [Cell Capacity (CC)](/rewards/cell-capacity)
- [Hardware class](/rewards/hardware-class)
4 changes: 2 additions & 2 deletions docs/rewards/rewards-troubleshooting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ If the battery is low, the connection between your station and the WG1000 gatewa
## Sensor Problems

If you got this error, it means our data evaluation services detected that the received weather packets, did not meet our quality standards.
To ensure the accuracy of the information sent by our weather stations, we evaluate all data packets using our [Quality of Data (QoD) algorithm](/rewards/quality-of-data). For more information about this algorithm, please refer to this [here](/rewards/quality-of-data).
To ensure the accuracy of the information sent by our weather stations, we evaluate all data packets using our [Data Quality algorithm](/rewards/data-quality). For more information about this algorithm, please refer to this [here](/rewards/data-quality).

Below are some of the possible errors and the appropriate actions you can take to resolve the issues:

Expand Down Expand Up @@ -168,7 +168,7 @@ If the battery is low, the connection between your station and the WG1000 gatewa

## Bad Station Deployment

It appears that your weather station could benefit from some improvements in terms of its deployment. The [Quality of Data (QoD) algorithm](/rewards/quality-of-data) evaluates all data packet received by a weather station every day, so a proper installation becomes mandatory to receive the maximum amount of rewards.
It appears that your weather station could benefit from some improvements in terms of its deployment. The [Data Quality algorithm](/rewards/data-quality) evaluates all data packet received by a weather station every day, so a proper installation becomes mandatory to receive the maximum amount of rewards.
We recommend that you take a look at our [Deployment Examples](/wxm-devices/deployment-examples) and [Best Practices](/wxm-devices/m5/install-weather-station#best-practices-for-proper-station-installation) for inspiration on how and where to install your station.

<hr/>
Expand Down
6 changes: 5 additions & 1 deletion redirects.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,13 @@ module.exports = [
from: "/project/proof-of-location"
},
{
to: "/rewards/quality-of-data",
to: "/rewards/data-quality",
from: "/project/quality-of-data"
},
Comment thread
ipanagiv marked this conversation as resolved.
{
to: "/rewards/data-quality",
from: "/rewards/quality-of-data"
},
{
to: "/rewards/reward-boosts",
from: "/project/reward-boosts"
Expand Down
Loading