Skip to content

Scoring System

FAT Agent uses a weighted scoring system where each core module contributes to the overall site score, and conditional modules report supplementary scores.


Overall Score Calculation

The overall score is a weighted average of the four core module scores:

Category Weight Max Score
SEO 30% 100
Security 25% 100
Accessibility 30% 100
Performance 15% 100
overall = (seo * 0.30) + (security * 0.25) + (accessibility * 0.30) + (performance * 0.15)

Grade Thresholds

Grade Score Range Meaning
A 90 -- 100 Excellent. Minor improvements only.
B 80 -- 89 Good. A few areas to address.
C 70 -- 79 Average. Several issues to fix.
D 60 -- 69 Below average. Significant issues.
F 0 -- 59 Failing. Critical issues present.

Per-Module Scoring

Each module starts at 100 and deducts points for issues found. Deductions are defined per module and are documented on each module's page.

Deduction rules

  • Each check has a fixed deduction amount
  • Most deductions have caps to prevent a single category of issues from zeroing the score
  • The minimum score is 0 (scores cannot go negative)
  • Deductions do not stack multiplicatively -- they are summed

Example

SEO Module Score Calculation:
  Starting score:        100
  Missing meta desc:      -10
  Multiple H1s:            -5
  Missing OG tags:         -5
  2 images no alt:         -4
  --------------------------
  Final SEO score:         76

Supplementary Scores

Conditional modules (Local SEO, E-commerce, Email, etc.) produce supplementary scores that are reported separately. They do not affect the overall weighted score.

This design means:

  • A site's overall grade is always comparable regardless of which modules ran
  • Supplementary scores provide additional context for specific site types
  • Enabling more modules never penalises the overall score

Priority Levels

Findings are categorised by severity:

Priority Label Meaning
P0 Critical Fix immediately. Broken functionality, security vulnerability, or compliance violation.
P1 High Fix before next release. Significant impact on users, search rankings, or security.
P2 Medium Fix soon. Moderate impact. Often quick wins with good ROI.
P3 Low Fix when convenient. Minor improvements, best practices, polish.

Priority and score impact

Higher-priority findings generally carry larger point deductions, but the relationship is not strictly linear. Some P2 findings may have the same deduction as a P1 if they affect a lower-weighted criterion.


Effort Estimates

Each finding includes an effort estimate:

Effort Meaning Typical Time
low Simple config change or one-line fix Under 30 minutes
medium Requires some research or multi-file changes 30 minutes to 2 hours
high Significant refactoring or new feature work Half a day or more

CI Gate Thresholds

The CI gate uses scores and priorities for pass/fail decisions:

# Fail if overall score < 70 or any P0 findings exist
python scripts/ci_gate.py --scores scores.json --threshold 70 --fail-on P0
Exit Code Meaning
0 Pass
1 Score below threshold
2 Findings at or above fail-on priority