**Pedalgo Score Calculation – Public Explanation**

A Pedalgo-style score is a **risk signal only**. It reorders a human review queue so trained reviewers see higher-priority items first. The score never decides guilt, never triggers automated enforcement, and never leads to public naming or vigilante action.

**Governance firewall (repeated in every section):**  
A score only changes review order. Humans decide everything. No automated action.

### 1. DAC Formula (Digital Activity Context)
The DAC component analyses a single post, comment or message for patterns that may indicate risk. It produces a value between 0 and 1.

**English (simple):**  
DAC looks at the content itself. It checks for combinations of language, timing and context that trained reviewers have previously flagged as worth closer human attention.

**Svenska (enkel):**  
DAC tittar på själva innehållet. Det söker efter kombinationer av språk, tidpunkt och sammanhang som utbildade granskare tidigare bedömt som värda närmare mänsklig granskning.

**Pseudocode (DAC)**
```
function calculate_DAC(post):
    features = extract_features(post)          # text, timing, metadata
    raw_score = weighted_sum(features)         # illustrative weights only
    dac = clamp(raw_score, 0, 1)
    return dac
```
**Governance firewall:** A score only changes review order. Humans decide everything. No automated action.

### 2. Social Formula
The Social component examines interaction patterns around an account (not the individual content).

**English (simple):**  
Social looks at how an account interacts with others over time. It measures signals such as sudden contact patterns or repeated approaches to new accounts.

**Svenska (enkel):**  
Social tittar på hur ett konto interagerar med andra över tid. Det mäter mönster som plötsliga kontaktförsök eller upprepade närmanden till nya konton.

**Pseudocode (Social)**
```
function calculate_Social(account_history):
    graph_features = build_interaction_graph(account_history)
    social_score = normalize(graph_features)
    return clamp(social_score, 0, 1)
```
**Governance firewall:** A score only changes review order. Humans decide everything. No automated action.

### 3. Fusion
DAC and Social are combined into a single preliminary score.

**English:**  
Fusion merges the two scores using a weighted average that can be adjusted during calibration. The result remains a number between 0 and 1.

**Svenska:**  
Fusion slår ihop de två värdena med en viktad medelvärdesberäkning som kan justeras vid kalibrering. Resultatet är fortfarande ett tal mellan 0 och 1.

**Pseudocode (Fusion)**
```
function fuse(dac, social, w_dac=0.6, w_social=0.4):
    preliminary = w_dac * dac + w_social * social
    return clamp(preliminary, 0, 1)
```
**Governance firewall:** A score only changes review order. Humans decide everything. No automated action.

### 4. Calibration & Uncertainty Band
The preliminary score is mapped to an operational band and given an uncertainty range.

**English:**  
Calibration converts the raw number into one of several review-priority bands. An uncertainty band shows how much the score could reasonably vary.

**Svenska:**  
Kalibrering omvandlar det preliminära värdet till ett av flera granskningsprioritetsband. Ett osäkerhetsintervall visar hur mycket poängen rimligen kan variera.

**Pseudocode (Calibration + Uncertainty)**
```
function calibrate_and_band(score):
    band = map_to_band(score)                  # e.g. Low / Medium / High
    uncertainty = calculate_confidence_interval(score, model_variance)
    return band, uncertainty
```
**Governance firewall:** A score only changes review order. Humans decide everything. No automated action.

### Summary Table (for website use)

| Component       | What it measures          | Output range | Used for          |
|-----------------|---------------------------|--------------|-------------------|
| DAC             | Single post/message       | 0–1          | Content risk      |
| Social          | Account interaction       | 0–1          | Behavioural risk  |
| Fusion          | Combined score            | 0–1          | Preliminary rank  |
| Calibrated band | Review priority           | Low/Med/High | Queue position    |
| Uncertainty     | Confidence of the score   | Interval     | Human context     |

All numbers and examples remain **illustrative** until real platform data with reviewer-confirmed labels exist. The universal base rate is used; no group weighting is applied. Lawful escalation occurs only through official channels (NCMEC, Swedish authorities, IWF, DSA trusted flaggers).

**Final reminder on every page:**  
A score only changes review order. Humans decide everything. No automated action.
