"This company's ROE is 5 points higher" — is that a meaningful comparison? Only if both use the same convention. Fundamental derivation conventions are deeper than they look, and unifying them is the data layer's job.
| Metric | Derivation |
|---|---|
| EPS | Net income ÷ total shares (single-quarter / TTM / annual) |
| BVPS | Attributable equity ÷ total shares (period-end) |
| ROE | Net income ÷ avg attributable equity (TTM) |
| ROA | Net income ÷ avg total assets |
| Revenue growth | Current revenue / YoY revenue - 1 |
| Dividend yield | TTM cash dividend / current market cap |
"ROE 12%" — is it trailing 12-months (TTM), last full fiscal year, or single-quarter annualized? TTM is best for time-series comparison, but many APIs default to single-quarter annualized, which overstates vs TTM.
Adjusted vs reported? Attributable to parent vs total? Most cases use net income attributable to parent, excluding non-recurring items (more stable, more reflective of core operations). Some APIs return total reported instead.
ROE denominator: "average" ((begin + end) / 2) vs "period-end". Academic standard is average; simplified version uses period-end. Difference is material when equity changes rapidly.
Same company, same point in time — ROE in EastMoney vs THS vs Tushare vs Wind can differ. Reason: each picks different conventions above. Within a single platform, conventions must be internally consistent, otherwise factor ranking gets distorted.
ReachRich fixes conventions at the F10 derivation layer (TTM + net-income-attributable-to-parent-excluding-non-recurring + average equity), and normalizes before returning from any upstream API.