5.4 Pseudocode for UX Score
5.4 Pseudocode for UX Score Calculation
// def calculate_ux_score(site: SiteProfile) -> float:
"""Calculates the Pillar III (User Experience) score out of 10."""
raw_score = 0
max_score = 25
# Design & Navigation (Max 10)
# Assessed via a heuristic evaluation model (e.g., Nielsen's heuristics)
raw_score += site.get_design_clarity_score() # 0-5
raw_score += site.get_navigation_logic_score() # 0-5
# Mobile Performance (Max 10)
cwv_results = site.get_core_web_vitals()
if cwv_results.passes_lcp and cwv_results.passes_inp and cwv_results.passes_cls:
raw_score += 10
elif cwv_results.passes_lcp: # Partial credit
raw_score += 5
# Search & Filtering (Max 5)
if site.has_advanced_filtering():
raw_score += 5
# Normalize score
normalized_score = (raw_score / max_score) * 10
return round(normalized_score, 2)Last updated