User Story
As a manager
I want to view metrics about interview performance and costs
So that I can optimize future discovery initiatives
Acceptance Criteria
Interview-Level Metrics
For each interview:
Project-Level Metrics
Aggregated across all interviews:
Cost Breakdown
Performance Analytics
Comparison Metrics
Visualizations
Export Analytics
Technical Notes
class InterviewMetrics(BaseModel):
interview_id: str
duration_seconds: int
turn_count: int
topic_coverage_pct: float
entity_count: int
avg_confidence: float
input_tokens: int
output_tokens: int
cost_usd: Decimal
model: str
class ProjectMetrics(BaseModel):
project_id: str
total_interviews: int
completion_rate: float
avg_duration_seconds: int
total_cost_usd: Decimal
cost_per_interview_usd: Decimal
entity_extraction_rate: float
coverage_achievement_pct: float
Store metrics in PostgreSQL with time-series queries. Use Logfire for real-time cost tracking.
Definition of Done
Requirement ID
RS-08
🤖 Generated with Claude Code
User Story
As a manager
I want to view metrics about interview performance and costs
So that I can optimize future discovery initiatives
Acceptance Criteria
Interview-Level Metrics
For each interview:
Project-Level Metrics
Aggregated across all interviews:
Cost Breakdown
Performance Analytics
Comparison Metrics
Visualizations
Export Analytics
Technical Notes
Store metrics in PostgreSQL with time-series queries. Use Logfire for real-time cost tracking.
Definition of Done
Requirement ID
RS-08
🤖 Generated with Claude Code