Skip to content

Achievements Analyzer

AchievementsAnalyzer

AchievementsAnalyzer(semantic_matcher=None)

Analyzer for evaluating achievements in work experience.

Evaluates achievements using two factors: 1. Metrics presence: Checks for quantified achievements (numbers, percentages) 2. Semantic relevance: How relevant achievements are to the job description

Attributes:

Name Type Description
semantic_matcher

Optional semantic matcher for relevance scoring.

Example
analyzer = AchievementsAnalyzer(semantic_matcher=matcher)
score = analyzer.analyze(achievements, job_description_text)

Initialize the achievements analyzer.

Parameters:

Name Type Description Default
semantic_matcher SemanticMatcher | None

Optional semantic matcher for relevance scoring.

None
Source code in at_scorer/analyzers/achievements.py
def __init__(self, semantic_matcher: SemanticMatcher | None = None):
    """Initialize the achievements analyzer.

    Args:
        semantic_matcher: Optional semantic matcher for relevance scoring.
    """
    self.semantic_matcher = semantic_matcher

Functions

analyze
analyze(achievements, job_description)

Analyze achievements against job description.

Combines metrics detection (60% weight) and semantic relevance (40% weight).

Parameters:

Name Type Description Default
achievements Iterable[str]

List of achievement strings from work experience.

required
job_description str | None

Full job description text for relevance matching.

required

Returns:

Type Description
float

Score between 0.0 and 1.0 combining: - Metrics score: Ratio of achievements with quantified metrics - Semantic score: Relevance of top achievements to job description

Source code in at_scorer/analyzers/achievements.py
def analyze(self, achievements: Iterable[str], job_description: str | None) -> float:
    """Analyze achievements against job description.

    Combines metrics detection (60% weight) and semantic relevance (40% weight).

    Args:
        achievements: List of achievement strings from work experience.
        job_description: Full job description text for relevance matching.

    Returns:
        Score between 0.0 and 1.0 combining:
            - Metrics score: Ratio of achievements with quantified metrics
            - Semantic score: Relevance of top achievements to job description
    """
    achievements_list = [a for a in achievements if a]
    if not achievements_list:
        return 0.0
    metrics = sum(self._has_metric(a) for a in achievements_list)
    metric_score = metrics / len(achievements_list)
    semantic_score = 0.0
    if self.semantic_matcher and job_description:
        matches = [
            score
            for _, score in self.semantic_matcher.top_matches(
                job_description, achievements_list, top_k=3
            )
        ]
        semantic_score = max(matches) if matches else 0.0
    return 0.6 * metric_score + 0.4 * semantic_score