datasynth_core/models/industry_benchmark.rs
1//! Industry benchmark models for comparative financial analysis.
2//!
3//! These models represent synthetic industry-average metrics that auditors
4//! and analysts use to benchmark an entity's performance against peers.
5
6use rust_decimal::Decimal;
7use serde::{Deserialize, Serialize};
8
9/// An industry benchmark metric representing a synthetic peer-group average.
10///
11/// Auditors use industry benchmarks (ISA 520 analytical procedures) to compare
12/// an entity's financial ratios and KPIs against sector norms. These benchmarks
13/// are entirely synthetic and labeled as such.
14#[derive(Debug, Clone, Serialize, Deserialize)]
15pub struct IndustryBenchmark {
16 /// Industry this benchmark applies to (e.g., "retail", "manufacturing")
17 pub industry: String,
18 /// Metric name (e.g., "gross_margin_pct", "current_ratio")
19 pub metric: String,
20 /// The benchmark value
21 #[serde(with = "rust_decimal::serde::str")]
22 pub value: Decimal,
23 /// Source attribution — always synthetic
24 pub source: String,
25 /// Fiscal period label (e.g., "FY2025")
26 pub period: String,
27}