| Line item | Y0 (latest) | Y-1 | Y-2 |
|---|---|---|---|
| Income statement | |||
| Revenue | |||
| EBITDA | |||
| EBIT (operating profit) | |||
| Interest expense | |||
| Tax expense | |||
| Net income | |||
| Share of associate / JV profit (holdco) | |||
| Balance sheet | |||
| Total assets | |||
| Current assets | |||
| Cash & equivalents | |||
| Inventory | |||
| Current liabilities | |||
| Short-term debt | |||
| Long-term debt | |||
| Total equity | |||
| Retained earnings | |||
| Market capitalisation (listed only) | |||
| Cash flow statement | |||
| Cash flow from operations (CFO) | |||
| Capital expenditure (CapEx) | |||
| Dividends paid | |||
| Date | Company | Segment | S&P-eq. | Moody’s-eq. | Ind. PD | Score |
|---|
The model is a transparent scorecard, not a black-box machine learning predictor. That’s deliberate. Banks like MCB, SBM and Absa Mauritius operate under Basel III; their Internal Ratings-Based (IRB) models must be defensible to the Bank of Mauritius (BoM). Every notch must trace back to an input. ML adds value once you have hundreds of labelled defaults to train on — until then it’s theatre.
| Component | Large Corporate | SME |
|---|---|---|
| Financial Risk Profile | 60% | 45% |
| Business Risk Profile | 40% | 55% |
SMEs get a lower financial weight because their reported numbers are noisier (smaller audit footprint, owner-manager overlap, tax-driven accounting) — so judgement on management, customer concentration and banking history carries more weight.
| Ratio | What it measures | Investment-grade threshold |
|---|---|---|
| FFO / Debt | Cash flow leverage | > 30% |
| Debt / EBITDA | Leverage multiple | < 3.0× |
| FFO / Interest | Cash interest coverage | > 6× |
| EBITDA / Interest | Earnings coverage | > 4× |
| FCF / Debt | Free cash leverage | > 15% |
| Debt / Capital | Capital structure | < 45% |
| EBITDA margin | Operating efficiency | > 18% |
| Return on capital | Capital productivity | > 10% |
| Current ratio | Short-term liquidity | > 1.5× |
| Quick ratio | Acid-test liquidity | > 1.0× |
| Cash / Short-term debt | Refinancing cushion | > 0.5× |
FFO = Funds From Operations = CFO before working capital changes. We approximate it as
CFO + interest expense × (1 − tax rate) when the user supplies CFO; otherwise as
EBITDA − interest − taxes. The score for each ratio is interpolated linearly between
published S&P thresholds, then weighted.
Each qualitative factor is mapped to a 0–100 score on a five-point scale:
Excellent=95, Strong=80, Satisfactory=60, Weak=35, Vulnerable=15.
For risk factors (industry, country) the scale is inverted: Low=95 … Very High=15.
We use the emerging-market variant of Altman’s Z-score (Altman, Hartzell, Peck 1995), which removes the sales/assets term and the equity market value:
Z″ = 3.25 + 6.56 · (WC/TA) + 3.26 · (RE/TA) + 6.72 · (EBIT/TA) + 1.05 · (Equity/Total Liab)
Zones: Safe Z > 2.6 · Grey 1.1 ≤ Z ≤ 2.6 · Distress Z < 1.1. If the scorecard rating disagrees with Altman by more than two letter notches we surface the disagreement in the notching log so the analyst can investigate.
Mauritius’s sovereign rating is Baa3 / BBB− (Moody’s, stable, 2025). S&P does not rate Mauritius. By default, foreign-currency obligations of a Mauritian corporate cannot be rated above Baa3. Local-currency obligations may be rated one notch above, capped at Baa2. This is a soft cap — the platform applies it automatically and logs it.
| Composite score | S&P | Moody’s | 1-yr PD (historical avg) |
|---|---|---|---|
| 95 – 100 | AAA | Aaa | 0.01% |
| 90 – 94 | AA+ | Aa1 | 0.02% |
| 87 – 89 | AA | Aa2 | 0.03% |
| 84 – 86 | AA− | Aa3 | 0.04% |
| 80 – 83 | A+ | A1 | 0.06% |
| 77 – 79 | A | A2 | 0.08% |
| 73 – 76 | A− | A3 | 0.10% |
| 69 – 72 | BBB+ | Baa1 | 0.16% |
| 65 – 68 | BBB | Baa2 | 0.20% |
| 60 – 64 | BBB− | Baa3 | 0.30% |
| 55 – 59 | BB+ | Ba1 | 0.55% |
| 50 – 54 | BB | Ba2 | 0.85% |
| 45 – 49 | BB− | Ba3 | 1.50% |
| 40 – 44 | B+ | B1 | 3.00% |
| 35 – 39 | B | B2 | 5.00% |
| 30 – 34 | B− | B3 | 8.00% |
| 25 – 29 | CCC+ | Caa1 | 15.00% |
| 20 – 24 | CCC | Caa2 | 25.00% |
| 15 – 19 | CCC− | Caa3 | 35.00% |
| 10 – 14 | CC | Ca | 45.00% |
| 5 – 9 | C | C | 55.00% |
| 0 – 4 | D | D | 100.00% |
The generic scorecard can be overridden by a sector template that re-weights the ratios and adds
sector-specific factors. Hospitality & Tourism is the first: it drops the quick ratio (hotels
hold little inventory), lifts the weight on leverage and fixed-charge coverage (high operating leverage),
and adds six factors — occupancy, RevPAR trend, seasonality,
source-market concentration, asset quality / refurbishment and
brand / management contract. The financial/business split still follows the segment
(Large 60/40, SME 45/55). More sectors (sugar/agro, property) can be added the same way.
The companion backtest.html runs this engine against Mauritian firms that carry a
real public rating from CARE Ratings Africa (CRAF) or GCR. Crucial caveat: those agencies issue
national-scale ratings (e.g. CARE MAU AA-, AAA(MU)) which are
relative within Mauritius and sit several notches above their global-scale equivalent.
GCR’s own published example proves it: Forty Two Point Two is AAA(MU) but
only BBB- on the global scale. This engine targets the global scale (sovereign-capped
at Baa3), so the backtest compares rank-ordering, not absolute notches.
V1 captures every assessment to Supabase. Once ~50–100 labelled outcomes
exist (default within 12m / no default), a logistic regression on the financial ratios will
re-fit the weights. After ~300 observations, an XGBoost model can run alongside
the scorecard as a disagreement detector. Until then the scorecard is authoritative.