Results and the survey grade
When you stop a survey with at least three points, ARRF opens the Results screen (also reopenable from any History row). It grades the walk, summarises it, and flags the weak spots.
What the Results screen shows
Section titled “What the Results screen shows”- Grade card — the big letter grade, an editable survey title, the connection-health score out of 100, a stat row (median dBm, coverage %, metres walked, roams), a grade breakdown, and a “How this was measured” scope note.
- Walk map — a top-down minimap you can shade by metric.
- Floor plan — the LiDAR reconstruction, if one was captured.
- Signal histogram, band shares, a roam card, an AP-share card, and a weakest-spots card.
What the grade measures
Section titled “What the grade measures”ARRF grades connection health, not area coverage. Every signal value is read from the serving AP over SSH — how the AP hears this phone (the uplink direction). iOS exposes no downlink RSSI and no passive multi-AP scan to third-party apps, so the grade is honest about scope: it scores one device’s connection health and roaming as you walked. Uplink is the conservative direction.
How the score is calculated
Section titled “How the score is calculated”Each sample is scored against a requirement you set (and that is captured into every export), with these defaults following common WLAN design convention:
| Target | Default | Meaning |
|---|---|---|
| Primary | −67 dBm | Full credit at or above this signal |
| Edge | −72 dBm | Zero credit at or below; credit fades linearly between edge and primary |
| Min SNR | 25 dB | Full credit at or above; credit fades linearly to zero 10 dB below it (so 15 dB scores zero at the default) |
The scoring is continuous — no hard band cliffs — and it deliberately can’t average away a dead spot:
- Each sample gets a 0–1 signal quality and a 0–1 SNR quality.
- Each sub-score blends the mean 50/50 with the worst-decile (10th-percentile) sample — a worst-decile gate, so weak spots pull the score down.
- The two sub-scores combine 60% signal + 40% SNR, minus 8 points per flagged roam, counting at most 3 — so the roam penalty is capped at 24 points and a survey cannot fail on roams alone.
- The result is clamped to 0–100.
Both sub-scores are shown on the Results screen next to the letter, along with the percentage of samples meeting each target and the flagged-roam count, so the grade is always decomposable.
The final 0–100 score maps to letters:
| Grade | Score |
|---|---|
| A | ≥ 90 |
| B | ≥ 75 |
| C | ≥ 55 |
| D | ≥ 35 |
| F | below 35 |
| N/A | a survey with no readings — not an F |
An empty survey is N/A, not F; F is reserved for a genuinely-scored floor.
Weak spots
Section titled “Weak spots”The worst-decile effective dBm is the weak-spot indicator, and the in-app weakest-spots card keeps the three weakest samples (weakest first). The PDF report keeps up to ten.
Flagged roams
Section titled “Flagged roams”ARRF flags two kinds of problem handoff, and one roam can carry both:
- Weaker signal — handed off to a weaker signal (SNR dropped 3 dB or more).
- Ping-pong — bounced straight back to the AP it just left within 30 seconds.
The flagged-roam count drives the roam penalty in the grade and appears in the breakdown and the reports.
Adjust the requirement
Section titled “Adjust the requirement”The primary/edge/SNR targets live in Settings → Grade requirement. Because they’re captured into each export, a report always states — and grades against — the requirement that was set when it was captured.
Changing the targets does not re-grade surveys you already saved: each one keeps the requirement it was captured with, which is why an old report and a new one can disagree about the same floor.