--- id: candidate-analysis name: Candidate Analysis description: Analyse the applicant pool's quality, and how much of it has actually been screened. category: hiring pages: - candidates - candidates-analysis status: active version: 1 triggers: - candidate quality - quality of candidates - score band - score bands - screening coverage - how strong*candidates - how good*candidates owliver: enabled: true suggestions: - label: How strong is the candidate pool? capability: summary - label: Show candidates by score capability: table - label: Score bands capability: progress capabilities: - summary - stats - table - list - progress - insight responses: summary: title: Candidate quality source: candidates.quality stats: title: Candidate quality source: candidates.quality table: title: Candidates by score source: candidates.quality limit: 10 list: title: Strongest candidates source: candidates.quality limit: 5 progress: title: Candidate quality source: candidates.quality insight: title: Candidate quality source: candidates.quality --- # Candidate Analysis ## Purpose - Report how strong the applicant pool is. - Report how much of it anyone has actually looked at, beside the quality figure. - Rank candidates by score so a shortlist has a starting point. ## Capabilities - Summarize pool size, screening coverage, average score and interview count. - List or tabulate candidates by score. - Break the scored pool into quality bands. ## Data Reads `candidates.quality`, which counts `JobApplication` records and their `ai_score`, joined to `AIInterview` records for interview coverage. ## Analysis Coverage is reported next to quality, always. An average score computed from a fifth of the pool is not the pool's average, and reporting the first without the second is how a hiring dashboard talks itself into confidence. Scored candidates are grouped into four bands — 80 and above, 70 to 79, 50 to 69, and below 50 — because a mean hides whether a pool is uniformly mediocre or split between strong and weak. ## Output Pool size, share screened, average score across scored candidates only, and interview count. Then candidates ranked by score with their role and stage. ## Limitations - Unscored candidates are excluded from the average rather than counted as zero. They are reported separately as the unscreened share. - A score is an AI screening score, not an interview outcome or a hiring decision. - Filtering by period counts applications by when they were received, not by when they were screened.