Three circles say it all.
General Principles
Both scores are sector-adjusted, meaning companies are always compared within their respective industries to eliminate structural differences (e.g., between Tech and Utilities).
All final scores are scaled to a 0–100 range and updated regularly.
Together, the Financial Score and Valuation Score provide a balanced view of a company’s fundamental health and market attractiveness.
Valuation Score
Quick Summary
The Valuation Score measures how attractively a company is priced compared to its sector peers.
It reflects whether a stock appears undervalued or overvalued based on fundamental valuation ratios such as P/E, P/B, EV/EBITDA, or Price-to-Sales.
Technical Description
The Valuation Score is derived from all KPIs classified under the valuation category.
Each KPI is normalized against the company’s sector distribution using a function:
This function assigns each KPI a normalized score (typically between 0 and 10) depending on how the company’s value places in the sector percentile-wise.
The final score is computed as the mean of all KPI scores, weighted by a certainty factor that reflects data coverage:
Valuation Score=(∑KPI Scores / n)×(n / N)
Where:
n = number of available KPIs
N = total expected KPIs for that category
This ensures that incomplete datasets still produce comparable but appropriately weighted results.
The final score is stored as valuation_score, and the individual KPI contributions are serialized in JSON (valScoresDict) for visualization or later analysis.
A higher Valuation Score generally indicates a cheaper valuation relative to peers, while a lower score indicates a more expensive valuation.
Financial Score
Quick Summary
The Financial Score evaluates the financial strength and stability of a company.
It summarizes how efficiently a company manages its assets, liabilities, and profitability compared to others in the same industry.
Technical Description
The Financial Score aggregates all KPIs under the ratios category — typically including metrics such as Return on Equity (ROE), Debt-to-Equity, Current Ratio, EBIT Margin, or Gross Margin.
Each KPI is evaluated relative to the company’s sector through:
Each resulting KPI score is normalized between 0 and 10, allowing direct comparability across industries.
The final Financial Score is the weighted average of all available ratio scores:
Financial Score=(∑KPI Scores / n)×(n / N)
Where:
n = number of available KPIs
N = total expected KPIs for that category
Here, the weighting term (n / N) reflects data completeness — higher values indicate greater confidence in the result.
The output includes both the aggregate value (financial_score) and a detailed JSON record of individual KPI scores (finScoresDict).
Risk Score
Quick Summary
The Risk Score measures a company’s overall exposure to financial and structural risks.
It combines quantitative risk factors such as market capitalization, liquidity, balance sheet stability, and country-specific risk indices into one unified score.
The result expresses how resilient or vulnerable a company is under adverse market conditions — the lower the score, the safer the profile; the higher the score, the riskier the investment.
Technical Description
The Risk Score aggregates multiple predefined risk categories, each defined in the internal RISK_KPIS configuration.
Each category maps one or more KPIs to a corresponding risk dictionary, which links specific values or thresholds to discrete risk levels (1–5).
These dictionaries are stored in the database table risk_factors and include for example:
Risk Factor
Example Dictionary
Description
Market Cap
{500 M: 1, 250 M: 2, 100 M: 3, 50 M: 4, 20 M: 5}
Smaller market caps imply higher risk
Daily Volume
{1 M: 1, 0.75 M: 2, 0.5 M: 3, 0.25 M: 4, 0.1 M: 5}
Lower daily trading volume = higher liquidity risk
Country (AML-index)
{"Vietnam": 2, "Myanmar": 4, "China": 3, "India": 1}
AML (anti-money-laundering) country exposure
Step 1 – Retrieve KPI and Reference Mapping
For each risk_type, the system:
Retrieves all corresponding KPIs from
RISK_KPIS[risk_type].Loads the associated
risk_dictand scoring logic (scoring= 1 means higher is better, otherwise lower is better).Fetches the current KPI value for the company
Step 2 – Determine Individual Risk Levels
For each risk factor:
The KPI value is compared against the keys in the corresponding
risk_dict.Depending on the
scoringrule:If higher is better: the first threshold equal or below the value defines the risk category.
If lower is better: the first threshold equal or above the value defines it.
If the value is categorical (e.g., a country string), it is matched directly to the dictionary’s key.
Step 3 – Calculate Final Score
Once all applicable risk factors are scored, the overall risk_score is computed as:
Risk Score= 2 × (mean(risk levels)+max(risk level)) / 2
This combines both the average and the worst-case exposure, ensuring that a single severe risk (e.g. operating in a high-risk country) is appropriately weighted.
Multiplying by 2 scales the final output to a 0–10 range for consistency with other scores
Interpretation
0–2 = Low risk → financially stable, large-cap, high liquidity, low-risk region
3–5 = Moderate risk → typical for diversified mid-caps or emerging markets
6–10 = High risk → small or illiquid companies, poor balance sheets, or exposure to fragile jurisdictions
The Risk Score complements the Financial and Valuation scores by quantifying potential downside exposure — allowing a more balanced assessment of a company’s risk–return profile.