# Normalizing ratings

As platforms and organisations use a wide variation of rating systems we need to normalize ratings to get consistent rating values over all sources.

To get this done we have a very simple rating schema. This means indexed content needs to be translated into the following schema:

| **value** | **label**                                                                                                                  | **description / example**                                                       |
| --------- | -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| **3**     | <p><strong>No issues: Content is rated as not problematic.</strong><br><strong>Credibility high or very high.</strong></p> | **The reviewed item is rated as mostly true or true.**                          |
| **2**     | <p><strong>Neutral: Whether positive nor negative rating.</strong><br><strong>Neutral credibility.</strong></p>            | **The reviewed item is not rated as true, mostly true, mostly false or false.** |
| **1**     | **Questionable: Content is rated as questionable (at least for some aspects).Credibility low or very low.**                | **The reviewed item is rated as mostly false or false.**                        |
| **n/a**   | **No rating**                                                                                                              | **There is no rating.**                                                         |

## **Mapping example for climatefeedback**

| **reviewRating.alternateName climatefeedback** | **Hoaxly normalized rating** |
| ---------------------------------------------- | ---------------------------- |
| **> 0.5**                                      | **3**                        |
| **-0.5 - 0.5**                                 | **2**                        |
| **< - 0.5**                                    | **1**                        |
| **n/a**                                        | **n/a**                      |

So if an article on climatefeedback is rated with 0.5 we want to have it saved in hoax.ly index with an normalized rating of 2 (neutral).

## Rating json schema

See the following schema for an description how ratings should be presented in the hoax.ly index:

```
"ReviewRating": {
          "type": "object",
          "properties": {
            // THE ORIGINAL RATING
            "originalRatingValue": {
              "type": "integer"
            },
            // THE ORIGINAL ALTERNATE NAME
            "originalAlternateName": {
              "type": "string"
            },
            // THE LABEL FOR THE NORMALIZED RATING (Questionable, Neutral, No Issues)
            "alternateName": {
              "type": "integer"
            },
            // THE BEST RATING VALUE (IN OUR CASE ALWAYS 3)
            "bestRating": {
              "type": "integer"
            },
            // THE WORST RATING VALUE (IN OUR CASE ALWAYS 1)
            "worstRating": {
              "type": "integer"
            },
            // THE NORMALIZED RATING VALUE
            "ratingValue": {
              "type": "integer"
            }
          }
        },
```
