| Market Cap | — | |
| Enterprise Value | — | |
| Revenue | ZAR 112.29B | −2.2% |
| Gross Profit | ZAR 7.08B | −53.0% |
| EBITDA | ZAR 9.17B | — |
| Net Income | -ZAR 7.30B | — |
| Diluted EPS | -ZAR 2.58 | — |
| Free Cash Flow | -ZAR 11.46B | — |
Bars are the value as filed for every stored fiscal year (oldest → newest, the latest bar solid); a year the store has no value for is left EMPTY, never drawn as a zero. Free cash flow is operating cash flow less capital expenditures for the same year — the only figure here computed from two lines, and a year missing either one is a gap. The 3y/5y/10y CAGRs are the analytics core’s own (positive-base only); no rate is recomputed on this strip, and no rate is shown for a series the core doesn’t publish one for. Diluted EPS is drawn on ONE share basis: as-filed per-share figures from before a split are stated on the old basis, so where the implied share count breaks (net income ÷ EPS, ±1.45× band — the same acceptance band the API’s own classifier uses) the earlier bars are left undrawn and any CAGR horizon reaching past the break is suppressed rather than shown as a rate across two different bases.
Every bar is a figure as filed. The blue bars are the reported subtotals (Revenue → Pretax income → Net income), drawn from zero at exactly the number in the filing — never a sum computed here. The coloured steps between them are the filed component lines, applied as decreases (the taxonomy stores expenses as positive magnitudes) or, for “Other non-operating”, exactly as signed in the filing.
Residuals. Whatever part of a reported subtotal-to-subtotal gap the served lines do not name is drawn as its own hatched step and labelled a residual. Stretching a neighbouring step to make the arithmetic close — what a conventional waterfall does — would put a number on screen that nobody filed.
Skipped rungs. This filer does not tag gross profit, operating income for this period (banks, insurers and REITs routinely skip gross profit and operating income), so the bridge jumps straight between the subtotals that exist and the unnamed part of that jump is the residual above.
The ghost. Each dashed outline is the same step in the prior period (2023), anchored at this period’s running level so the reader sees whether the step grew or shrank. It contributes nothing to this period’s arithmetic.
Reconciliation.
| Step | Applied | Running level | % of revenue | 2023 |
|---|---|---|---|---|
| Revenue · reported | ZAR 112.29B | ZAR 112.29B | 100.0% | ZAR 114.85B |
| Cost of revenue | -ZAR 105.21B | ZAR 7.08B | −93.7% | ZAR 99.77B |
| Interest expense | -ZAR 4.57B | ZAR 2.51B | −4.1% | ZAR 3.30B |
| Other (residual) · residual | -ZAR 6.73B | -ZAR 4.21B | −6.0% | — |
| Pretax income · reported | -ZAR 4.21B | -ZAR 4.21B | −3.8% | -ZAR 39.85B |
| Income tax | -ZAR 1.50B | -ZAR 5.71B | −1.3% | ZAR 2.42B |
| Minority interest | -ZAR 1.59B | -ZAR 7.30B | −1.4% | ZAR 342.0M |
| Net income · reported | -ZAR 7.30B | -ZAR 7.30B | −6.5% | -ZAR 37.77B |
Every figure is a filed cash-flow line, summed over the fiscal years listed below. The taxonomy stores payments as positive magnitudes, so each use is applied here as a decrease. Nothing is annualised, inflation-adjusted or imputed.
The window. Operating cash flow is the anchor, so the bridge covers exactly the 8 fiscal years that serve it (2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024). A year the store has no operating cash flow for is outside the window entirely — its capex and buybacks are not summed either.
Partial legs. Acquisitions (7/8 years), Buybacks (5/8 years), Stock issued (1/8 years) — the filer did not tag those lines in every window year, so the bar sums only the years that did and UNDERSTATES the full window. The unfiled years are absent, never estimated.
Debt is netted. Long-term debt issued less repaid is shown as one net step, because a refinancing that issues and repays the same amount is not two events of capital allocation. Short-term / commercial-paper movement is a different tag and is not included — it lands in the remainder.
The remainder is not free cash flow. It is what the named lines do not account for: net purchases and sales of investment securities (the largest piece for a cash-rich filer), short-term-debt movement, other financing and investing items, FX, and the change in the cash balance itself. Calling it “cash retained” would assert a reconciliation this bridge has not done.
The hatch inside operating cash flow. ZAR 2.37B of the pool is the stock-based-compensation add-back (2% of it, filed in 8 of 8 years) — a real cost of employing people, settled in shares rather than cash, which is why it sits inside operating cash flow. The dilution it causes shows up in the share count, not here.
| Fiscal year | Operating Cash Flow | Capex | Acquisitions | Dividends | Buybacks | Debt issued | Debt repaid |
|---|---|---|---|---|---|---|---|
| 2017 | ZAR 2.74B | ZAR 6.10B | ZAR 27.39B | ZAR 560.4M | — | ZAR 69.59B | ZAR 55.72B |
| 2018 | ZAR 12.20B | ZAR 7.08B | — | ZAR 600,000 | — | ZAR 17.13B | ZAR 21.23B |
| 2019 | ZAR 9.46B | ZAR 7.71B | ZAR 129.0M | ZAR 85.0M | ZAR 0 | ZAR 18.98B | ZAR 22.01B |
| 2020 | ZAR 27.15B | ZAR 9.62B | ZAR 0 | ZAR 1.70B | ZAR 84.0M | ZAR 16.29B | ZAR 18.34B |
| 2021 | ZAR 32.26B | ZAR 12.74B | ZAR 0 | ZAR 18.18B | ZAR 8.50B | ZAR 20.65B | ZAR 20.25B |
| 2022 | ZAR 15.54B | ZAR 15.90B | ZAR 1.13B | ZAR 9.45B | ZAR 0 | ZAR 8.00B | ZAR 8.00B |
| 2023 | ZAR 7.09B | ZAR 22.41B | -ZAR 471.0M | ZAR 5.32B | ZAR 0 | ZAR 14.43B | ZAR 1.32B |
| 2024 | ZAR 10.11B | ZAR 21.57B | ZAR 2.69B | ZAR 173.0M | — | ZAR 8.28B | ZAR 3.33B |
A blank cell means the filer did not tag that line for that year — never a zero.
| DPS (FY2024) | ZAR 0.06derived |
| Trailing yield | — |
| Payout ratio | — |
| Growth streak | 0 yrs |
| 5y DPS growth | 13.1% |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20242024-12-31 | ZAR 0.06 | — | derived (paid ÷ diluted shares) |
| FY20232023-12-31 | ZAR 0.53 | −79.6% | reported |
| FY20222022-12-31 | ZAR 2.60 | −45.7% |
None of the three composites is computable for this filer — each needs two consecutive fiscal years of specific lines (COGS, PP&E, receivables), which many financials and asset-light names legitimately never tag. The trend below is what the store does serve.
| Quality trend | 2024 | Δ vs 2019 | Trend · 9y | vs own | vs sector |
|---|---|---|---|---|---|
| Gross Margin | 6.3% | −6.9pp | p19 | p6 | |
| Net Margin | −6.5% | −6.6pp | p31 | p21 | |
| Return on Invested Capital | 0.4% | −2.9pp | p21 | p31 | |
| Return on Equity | −15.7% | −16.0pp | p31 | p21 |
No composite. The three scores are not averaged into one “quality” number. They point in different directions (F is a 0–9 count, higher-better; Z is a distress distance, higher-safer; M is a manipulation screen, lower-cleaner) and were fitted on different samples for different questions — a blended figure would be ours, not theirs, and would hide exactly the disagreement that is worth reading.
Sector context. The percentile columns on the trend rows are the ones this payload serves: “vs own” ranks the latest value inside this company’s own served history, “vs sector” inside its sector pool. A blank sector cell means the pool was too thin to rank honestly (or the metric is a currency level, where a cross-currency rank would be meaningless) — never a filled-in guess. The three SCORES carry no sector percentile: the payload’s percentile block covers the served ratios only, so “is this Z good for Mining?” is a question we cannot answer from what is served, and we don’t pretend to.
No score history. A 12-year F-Score / Z-Score strip is not drawn. The point-in-time factor store carries valuation, returns, margin, momentum and growth factors — not these composites — and recomputing them here from the annual columns would produce a series that disagrees with the headline above (different vintage of facts, different restatement handling). A score that disagrees with itself is a wrong number, so the history is omitted rather than approximated.
The nine named F-Score checks, the Merton distance-to-default / default probability, ROIIC and the growth-durability CAGRs live on FS · Financial Strength; the full ratio grid — every served ratio, with its own trend and both percentiles — is the Ratios section below.
| Line | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ |
|---|---|---|---|---|---|---|---|---|
| Revenue | ZAR 45.91B | ZAR 50.66B | ZAR 72.92B | ZAR 127.39B | ZAR 172.31B | ZAR 138.29B | ZAR 114.85B | ZAR 112.29B |
| YoY % | +10.3% | +44.0% | +74.7% | +35.3% | -19.7% | -16.9% | -2.2% | |
| Cost of Revenue | ZAR 42.18B | ZAR 48.13B | ZAR 63.31B | ZAR 83.37B | ZAR 109.31B | ZAR 101.62B | ZAR 99.77B | ZAR 105.21B |
| YoY % | +14.1% | +31.6% | +31.7% | +31.1% | -7.0% | -1.8% | +5.5% | |
| Interest Expense | ZAR 2.97B | ZAR 3.13B | ZAR 3.30B | ZAR 3.15B | ZAR 2.50B | ZAR 2.84B | ZAR 3.30B | ZAR 4.57B |
| YoY % | +5.5% | +5.4% | -4.6% | -20.8% | +13.8% | +16.2% | +38.6% | |
| Interest & Investment Income | ZAR 415.5M | ZAR 482.1M | ZAR 560.0M | ZAR 1.06B | ZAR 1.20B | ZAR 1.20B | ZAR 1.37B | ZAR 1.34B |
| YoY % | +16.0% | +16.2% | +90.2% | +12.9% | +0.1% | +13.8% | -2.3% | |
| Equity Method Income | ZAR 291.6M | ZAR 344.2M | ZAR 721.0M | ZAR 1.70B | ZAR 1.99B | ZAR 1.29B | -ZAR 1.17B | ZAR 212.0M |
| YoY % | +18.0% | +109.5% | +135.8% | +17.0% | -35.3% | |||
| Pretax Income | -ZAR 7.38B | -ZAR 1.44B | -ZAR 1.30B | ZAR 35.48B | ZAR 47.56B | ZAR 27.90B | -ZAR 39.85B | -ZAR 4.21B |
| YoY % | +34.0% | -41.3% | ||||||
| Income Tax | -ZAR 2.95B | ZAR 1.08B | -ZAR 1.73B | ZAR 4.86B | ZAR 13.76B | ZAR 8.92B | -ZAR 2.42B | ZAR 1.50B |
| YoY % | +183.3% | -35.2% | ||||||
| Net Income (incl. NCI) | -ZAR 4.43B | -ZAR 2.52B | ZAR 433.0M | ZAR 30.62B | ZAR 33.80B | ZAR 18.98B | -ZAR 37.43B | -ZAR 5.71B |
| YoY % | +6972.1% | +10.4% | -43.8% | |||||
| Minority Interest (P&L) | ZAR 4.3M | -ZAR 21.1M | ZAR 371.0M | ZAR 1.31B | ZAR 742.0M | ZAR 584.0M | ZAR 342.0M | ZAR 1.59B |
| YoY % | +253.1% | -43.4% | -21.3% | -41.4% | +364.0% | |||
| Net Income | -ZAR 4.44B | -ZAR 2.50B | ZAR 62.0M | ZAR 29.31B | ZAR 33.05B | ZAR 18.40B | -ZAR 37.77B | -ZAR 7.30B |
| YoY % | +47177.4% | +12.8% | -44.3% | |||||
| Net Income to Common | -ZAR 4.44B | -ZAR 2.50B | ZAR 62.0M | ZAR 29.31B | ZAR 33.05B | ZAR 18.40B | -ZAR 37.77B | -ZAR 7.30B |
| YoY % | +47177.4% | +12.8% | -44.3% | |||||
| EPS (Basic) | -ZAR 2.29 | -ZAR 1.10 | ZAR 0.02 | ZAR 10.74 | ZAR 11.40 | ZAR 6.51 | -ZAR 13.34 | -ZAR 2.58 |
| YoY % | +53600.0% | +6.1% | -42.9% | |||||
| EPS (Diluted) | -ZAR 2.29 | -ZAR 1.10 | ZAR 0.02 | ZAR 10.55 | ZAR 11.29 | ZAR 6.50 | -ZAR 13.34 | -ZAR 2.58 |
| YoY % | +52650.0% | +7.0% | -42.4% | |||||
| Weighted Avg Shares (Basic) | 1.93B | 2.26B | 2.51B | 2.73B | 2.90B | 2.83B | 2.83B | 2.83B |
| YoY % | +17.1% | +10.8% | +8.8% | +6.2% | -2.5% | +0.2% | +0.0% | |
| Weighted Avg Shares (Diluted) | 1.93B | 2.26B | 2.58B | 2.78B | 2.93B | 2.83B | 2.83B | 2.83B |
| YoY % | +17.1% | +13.9% | +7.7% | +5.4% | -3.3% | -0.0% | 0.0% | |
| Dividends Declared per Share | ZAR 1 | — | — | ZAR 371 | ZAR 5 | ZAR 3 | ZAR 1 | — |
| YoY % | -98.7% | -45.7% | -79.6% |
The sector classification is SIC-derived, not official GICS. Statement lines are XBRL facts as filed with the company's home regulator (SEC EDGAR for US filers; ESEF/EDINET and other national regulators for foreign filers); ratios and other derived figures are computed from them. A blank cell means the tag was absent — never imputed.
| reported |
| FY20212021-12-31 | ZAR 4.79 | −98.7% | reported |
| FY20202020-12-31 | ZAR 371.00 | — | reported |
| FY20192019-12-31 | ZAR 0.03 | +12335.8% | derived (paid ÷ diluted shares) |
| FY20182018-12-31 | ZAR 0.00 | — | derived (paid ÷ diluted shares) |
| FY20172017-12-31 | ZAR 0.60 | — | reported |