JSE: IOC · iOCO Limited (formerly EOH Holdings) · Financials FY2021–FY2026 (years to 31 July) · Market data to 30 Oct 2026
Profit rose much faster than revenue in FY26. Operating cash flow covered less than half of operating profit.
iOCO is a South African ICT services group, called EOH Holdings until it was renamed in 2024. It sold a number of businesses between FY21 and FY24 to reduce debt, so the earlier years are shown on a continuing-operations basis. This report walks through six financial years to 31 July 2026, using the audited annual financial statements (audit report dated 12 October 2026), and the share price since August 2021.
FY26 revenue
R5.73bn
+2.7% on FY25
FY26 operating margin
8.4%
0.9% in FY21
FY26 headline EPS
57.0c
+42.5% on FY25
Share price, 30 Oct 2026
R4.38
P/E on FY26 HEPS: —
The short version
Three questions, answered as directions of travel: is the business getting more profitable, is it turning that profit into cash, and is the balance sheet holding up? These are descriptions of what happened, not ratings or recommendations.
Operations
▲ Margin much higher- Operating margin rose from 0.9% (FY21) to 7.5% (FY25) and 8.4% in FY26.
- FY26 operating profit grew 14.8% on revenue growth of 2.7%: gross profit slipped 0.8% but operating costs fell 6.4%.
- Net profit from continuing operations was R357m, after losses in FY21 to FY24. Revenue is 11% lower than in FY21.
Liquidity
▼ Cash conversion down- Net cash from operating activities was 49% of operating profit in FY26, against 101% in FY25. It was negative in FY23 and FY24.
- Cash generated by operations fell 35% to R368m. Payables fell R168m and net working capital rose to R352m.
- Cash was R417m, up R18m, after R69m of buybacks and R28m of lease payments.
Solvency
▲ Debt much lower- Total debt (bank borrowings plus leases) fell from R2.73bn in FY21 to R698m. Net of cash, debt is R281m.
- Net debt is 0.58× operating profit (FY25: 0.74×; FY21: 34.5×). Interest cover is 7.1× (FY25: 4.4×).
- Total equity rose to R1,034m from R753m; accumulated losses are still R3.70bn against share capital of R4.73bn.
Bottom line
Over six years iOCO has gone from losses and heavy debt to profit and a much lighter balance sheet. Operating margin rose from 0.9% to 8.4% and net profit from continuing operations from −R307m to R357m, but revenue fell from R6.47bn to R5.73bn, so the improvement came from lower costs, not growth. Headline earnings per share rose from a loss of 98c in FY21 to 57c in FY26.
Cash is the counterpoint. Net cash from operating activities was R239m in FY26, 49% of operating profit, after 101% in FY25, and the free cash flow left after capital spending and lease payments was R129m. iOCO paid no dividends in any of the six years. It began buying back shares in FY26 (R69m, about 2.6% of shares in issue), which was 53% of that free cash flow.
In the market, the shares closed at R4.38 on 30 October 2026, 8.0% above their 50-day average and 5.2% above their 200-day average. The P/E on FY26 earnings is 7.7× on that close (6.8× at 31 July); earlier years had losses, so no P/E can be calculated for FY21 to FY24. Whether any of this suits a particular portfolio depends on your own goals and risk appetite, which this report does not address.
The six-year picture
Revenue is down 11% since FY21, yet operating profit has gone from R55m to R483m. That gap is the margin story: how much of each rand of sales is left after the costs of delivering and running the business.
Revenue and operating profit
R'm, years ended 31 July
Margins
% of revenue (net margin is continuing operations)
Key figures
R'm unless stated. FY21 to FY23 are continuing operations as reported by iOCO
| FY21 | FY22 | FY23 | FY24 | FY25 | FY26 | |
|---|---|---|---|---|---|---|
| Revenue | 6,472 | 6,031 | 6,229 | 6,035 | 5,583 | 5,733 |
| growth % | – | −6.8 | +3.3 | −3.1 | −7.5 | +2.7 |
| Gross profit | 1,681 | 1,690 | 1,746 | 1,650 | 1,600 | 1,587 |
| gross margin % | 26.0 | 28.0 | 28.0 | 27.3 | 28.7 | 27.7 |
| Operating costs (incl. impairment of financial assets) | −1,626 | −1,590 | −1,612 | −1,537 | −1,179 | −1,104 |
| % of revenue | 25.1 | 26.4 | 25.9 | 25.5 | 21.1 | 19.3 |
| Operating profit | 55 | 100 | 135 | 112 | 421 | 483 |
| operating margin % | 0.9 | 1.7 | 2.2 | 1.9 | 7.5 | 8.4 |
| Finance costs | −277 | −216 | −174 | −132 | −96 | −68 |
| Investment income | 9 | 26 | 11 | 15 | 7 | 7 |
| Profit before tax | −210 | −90 | −29 | −6 | 332 | 423 |
| Net profit, continuing operations | −307 | −160 | −81 | −54 | 258 | 357 |
| net margin % | −4.7 | −2.7 | −1.3 | −0.9 | 4.6 | 6.2 |
| Profit from discontinued operations | 27 | 142 | 29 | 0 | 0 | 0 |
| Net profit, total | −280 | −18 | −52 | −54 | 258 | 357 |
| Headline earnings | −165 | −122 | −82 | −1 | 253 | 353 |
| Headline EPS (cents) | −98.0 | −45.0 | −19.0 | −0.2 | 40.0 | 57.0 |
What moved
- Profit up on lower costs in FY26. Operating profit rose 14.8% to R483m and headline EPS 42.5% to 57.0c, but revenue grew only 2.7% and gross profit fell 0.8% (gross margin 28.7% to 27.7%). Operating costs fell 6.4% to R1,104m, from 21.1% to 19.3% of revenue.
- The step change was FY25. Revenue fell 7.5% to R5,583m, yet operating costs fell 23.3% (down R358m) and operating margin jumped from 1.9% to 7.5%. Employee costs, taken from the notes to the statements, fell from R3.06bn in FY24 to R2.52bn and R2.24bn in FY26 (39% of revenue, 51% in FY24); part of this cost sits in cost of sales rather than operating costs.
- Revenue has shrunk. It was R6,472m in FY21 and R5,733m in FY26 (−2.4% a year), with a rise in FY23 (+3.3%) and FY26 (+2.7%). This report does not assign a cause to the movements.
- Finance costs have fallen with the debt: from R277m in FY21 (4.3% of revenue) to R68m in FY26 (1.2%). After investment income of R7m, the company reports net finance costs of R61m (FY25: R89m).
- Four loss-making years, then profit. Net profit from continuing operations was negative from FY21 to FY24 and turned to R258m in FY25 and R357m in FY26. In FY22 the group's total net loss (−R18m) was smaller than the continuing loss (−R160m) only because of R142m of profit from businesses sold.
- HEPS grew faster than headline earnings (42.5% against 39.8%) because the weighted average share count fell from 630m to 621m after the FY26 buyback.
Where the revenue comes from
iOCO reports three operating segments from FY26: IT Services, Operational Technology and International. Before that it reported more segments (seven in FY25) and the structure changed in FY23, FY24, FY25 and FY26, so each year below is on the structure iOCO used when it reported that year, except FY25 which is shown restated to the three segments.
Segment revenue, FY25 and FY26
R'm, three-segment structure (FY25 restated)
Largest segment as a share of revenue
% of the segment total, on each year's own structure
FY26 segments
Adjusted EBITDA is iOCO's own measure and excludes corporate overheads
| R'm | FY26 revenue | FY25 (restated) | Growth % | Share of FY26 | FY26 adj. EBITDA | Adj. EBITDA margin % |
|---|---|---|---|---|---|---|
| IT Services | 4,332 | 4,141 | +4.6 | 75.6 | 711 | 16.4 |
| Operational Technology | 833 | 865 | −3.6 | 14.5 | 143 | 17.1 |
| International | 567 | 577 | −1.8 | 9.9 | 57 | 10.0 |
| Total | 5,733 | 5,583 | +2.7 | 100.0 | 910 | 15.9 |
The largest segment over six years
*FY25 on the restated three-segment structure. FY21 and FY22 are the three segments reported then (iOCO, NEXTEC, IP) and include businesses later sold
| FY21 | FY22 | FY23 | FY24 | FY25 | FY26 | |
|---|---|---|---|---|---|---|
| Largest segment, as reported that year | iOCO | iOCO | IT Infrastructure Services | iOCO SA - Digital | IT Services* | IT Services |
| Its external revenue, R'm | 4,921 | 4,668 | 2,137 | 1,652 | 4,141 | 4,332 |
| Segment total in the note, R'm | 7,882 | 6,931 | 6,258 | 6,035 | 5,583 | 5,733 |
| Largest segment share of segment total % | 62.4 | 67.3 | 34.1 | 27.4 | 74.2 | 75.6 |
| Group revenue (continuing), R'm | 6,472 | 6,031 | 6,229 | 6,035 | 5,583 | 5,733 |
What moved
- IT Services is about three quarters of revenue: R4,332m, +4.6% on the restated FY25 figure. Operational Technology (R833m) changed by −3.6% and International (R567m) by −1.8%.
- Segment margins: adjusted EBITDA margins were 16.4% for IT Services, 17.1% for Operational Technology and 10.0% for International. The three segments together show R910m of adjusted EBITDA; the group figure of R624m is lower because corporate overheads are not allocated to segments.
- Group measures, per the company: adjusted EBITDA rose 21% to R624m and the margin improved from 9% to 11%. Management also reports a larger share of recurring revenue and guides to more than 60% in FY27.
- The share of the largest segment depends on how it is defined. On the original seven-segment FY25 structure the largest segment, Intelligent Technology Solutions, was R1,727m or 30.9% of revenue; on the restated three-segment structure IT Services is 74.2% of FY25 revenue. The Qualitative score uses the restated structure.
Costs, finance costs and profit
Gross margin has barely moved. What changed is what is spent to run the business (operating costs, much of it people) and what is paid to lenders (finance costs). Both are shown as a share of revenue, because revenue itself fell.
Operating and employee costs
% of revenue
Operating profit and finance costs
R'm
From gross profit to net profit
R'm. Operating costs include depreciation, amortisation and the net impairment of financial assets
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Gross profit | 1,681 | 1,690 | 1,746 | 1,650 | 1,600 | 1,587 |
| Operating costs | −1,626 | −1,590 | −1,612 | −1,537 | −1,179 | −1,104 |
| of which depreciation and amortisation | 244 | 196 | 128 | 106 | 92 | 108 |
| Employee costs (memo, from the notes) | 3,697 | 3,122 | 3,163 | 3,061 | 2,524 | 2,237 |
| Operating profit | 55 | 100 | 135 | 112 | 421 | 483 |
| Investment income | 9 | 26 | 11 | 15 | 7 | 7 |
| Finance costs | −277 | −216 | −174 | −132 | −96 | −68 |
| Profit before tax | −210 | −90 | −29 | −6 | 332 | 423 |
| Tax | −97 | −70 | −52 | −49 | −74 | −65 |
| Net profit, continuing operations | −307 | −160 | −81 | −54 | 258 | 357 |
| Profit from discontinued operations | 27 | 142 | 29 | 0 | 0 | 0 |
| Net profit, total | −280 | −18 | −52 | −54 | 258 | 357 |
Margins and cover
| % of revenue | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Gross margin | 26.0 | 28.0 | 28.0 | 27.3 | 28.7 | 27.7 |
| Operating costs | 25.1 | 26.4 | 25.9 | 25.5 | 21.1 | 19.3 |
| Employee costs (memo) | 57.1 | 51.8 | 50.8 | 50.7 | 45.2 | 39.0 |
| Operating margin | 0.9 | 1.7 | 2.2 | 1.9 | 7.5 | 8.4 |
| Finance costs | 4.3 | 3.6 | 2.8 | 2.2 | 1.7 | 1.2 |
| Net margin (continuing) | −4.7 | −2.7 | −1.3 | −0.9 | 4.6 | 6.2 |
| Interest cover (operating profit ÷ finance costs, ×) | 0.2 | 0.5 | 0.8 | 0.8 | 4.4 | 7.1 |
What moved
- Operating costs fell from 26.4% of revenue in FY22 to 19.3% in FY26, while gross margin stayed between 26.0% and 28.7%. Depreciation and amortisation fell from R244m in FY21 to R108m in FY26.
- Interest cover (operating profit divided by finance costs) rose from 0.2× in FY21 to 4.4× in FY25 and 7.1× in FY26. Finance costs are interest on bank loans and leases, before investment income; they fell 30% in FY26.
- Tax was charged in every year, including the loss-making years (R97m in FY21, R49m in FY24), so net losses were larger than pre-tax losses. FY26 tax was R65m on pre-tax profit of R423m.
- Employee costs (R2,237m) are larger than operating costs (R1,104m) because part of the cost of people sits in cost of sales. FY21 to FY23 employee costs may include businesses later classed as discontinued.
Balance sheet: what changed and why
Three questions: how much is held in long-term assets, how much debt carries the business, and how much cash is tied up in day-to-day working capital. Where iOCO has explained a movement the explanation is attributed; otherwise the numbers are shown without a guessed cause.
Long-term assets
R'm
Debt and cash
R'm
Receivable, payable and inventory days
Days
Long-term assets, R'm
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Property, plant and equipment (incl. right-of-use assets) | 341 | 185 | 145 | 154 | 115 | 146 |
| Intangible assets and goodwill | 810 | 758 | 762 | 649 | 648 | 703 |
| Investments, other long-term assets and deferred tax | 133 | 135 | 129 | 124 | 143 | 154 |
| Total long-term assets | 1,285 | 1,077 | 1,037 | 926 | 907 | 1,003 |
| Total assets | 5,420 | 3,752 | 3,428 | 3,086 | 2,798 | 2,894 |
| Assets held for sale (included in total assets) | 1,119 | 226 | 0 | 0 | 0 | 0 |
Debt, cash and equity, R'm
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Short-term debt (bank loans due within a year, overdrafts) | 2,568 | 938 | 836 | 373 | 177 | 171 |
| Long-term debt | 0 | 496 | 2 | 587 | 482 | 449 |
| Lease liabilities | 163 | 107 | 67 | 81 | 52 | 79 |
| Total debt | 2,731 | 1,541 | 906 | 1,041 | 711 | 698 |
| Cash and cash equivalents | 825 | 411 | 236 | 347 | 399 | 417 |
| Net debt | 1,906 | 1,130 | 670 | 694 | 312 | 281 |
| Net debt ÷ operating profit (×) | 34.52 | 11.34 | 4.96 | 6.19 | 0.74 | 0.58 |
| Total equity | 178 | 60 | 588 | 499 | 753 | 1,034 |
Working capital, R'm
Inventory is small: iOCO sells services, not stock
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Inventory | 113 | 90 | 74 | 71 | 69 | 42 |
| Trade and other receivables | 1,929 | 1,829 | 1,959 | 1,672 | 1,390 | 1,414 |
| Trade and other payables | −1,796 | −1,701 | −1,699 | −1,480 | −1,272 | −1,104 |
| Net working capital | 245 | 218 | 334 | 263 | 187 | 352 |
| % of revenue | 3.8 | 3.6 | 5.4 | 4.4 | 3.4 | 6.1 |
| Inventory days | 9 | 8 | 6 | 6 | 6 | 4 |
| Receivable days | 109 | 111 | 115 | 101 | 91 | 90 |
| Payable days | 137 | 143 | 138 | 123 | 117 | 97 |
Cash flow: where the cash came from and went
Operating cash flow is what the business generates after interest and tax; investing is mostly capital spending and, in earlier years, the proceeds of businesses sold; financing is mainly debt repayment, lease payments and share buybacks. Under IFRS the principal on leases is reported as financing, so this section shows free cash flow both before and after lease payments.
Cash flow by type
R'm
Free cash flow after lease principal and buybacks
R'm. Free cash flow = operating cash flow − capex − lease principal. No dividends were paid
Cash flow movement, R'm
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Cash generated by operations | 405 | 403 | 108 | 171 | 567 | 368 |
| change | – | −2 | −294 | +62 | +396 | −199 |
| Interest paid | −229 | −214 | −138 | −131 | −96 | −67 |
| Tax paid | −110 | −79 | −71 | −65 | −52 | −66 |
| Net cash from operating activities | 80 | 120 | −90 | −14 | 423 | 239 |
| Net cash from investing activities | 215 | 650 | 15 | 45 | −49 | −72 |
| Net cash used in financing activities | −613 | −837 | −167 | −79 | −129 | −157 |
| Net movement in cash | −319 | −67 | −242 | −48 | 245 | 10 |
Cash conversion
Net cash from operating activities as % of operating profit
Reading the cash flow
- FY26 conversion was 49% (101% in FY25, 145% in FY21 and 120% in FY22). Operating cash flow was negative in FY23 (−R90m) and FY24 (−R14m), when interest paid was R138m and R131m.
- Cash generated by operations fell 35% to R368m in FY26, from R567m; interest paid (R67m) and tax paid (R66m) took R129m of it. The working-capital movement behind the fall is on the balance sheet section.
- Investing flows were positive in FY21 to FY24 (R215m, R650m, R15m, R45m) because businesses were being sold; they turned to outflows in FY25 and FY26 (−R49m, −R72m).
- Capital spending is light: R82m in FY26, 1.4% of revenue.
Free cash flow and shareholder returns, R'm
| R'm | FY21 | FY22 | FY23 | FY24 | FY25 | FY26 |
|---|---|---|---|---|---|---|
| Net cash from operating activities | 80 | 120 | −90 | −14 | 423 | 239 |
| Capital expenditure | −130 | −95 | −92 | −73 | −54 | −82 |
| Free cash flow | −50 | 25 | −182 | −87 | 369 | 157 |
| Lease principal repaid | −137 | −92 | −60 | −38 | −26 | −28 |
| Free cash flow after lease principal | −187 | −67 | −243 | −125 | 342 | 129 |
| Dividends paid | 0 | 0 | 0 | 0 | 0 | 0 |
| Share buybacks | 0 | 0 | 0 | 0 | 0 | 69 |
| Buybacks as % of free cash flow after leases | n/m | n/m | n/m | n/m | 0% | 53% |
Cash conversion, R'm
| FY21 | FY22 | FY23 | FY24 | FY25 | FY26 | |
|---|---|---|---|---|---|---|
| Operating profit | 55 | 100 | 135 | 112 | 421 | 483 |
| Net cash from operating activities | 80 | 120 | −90 | −14 | 423 | 239 |
| Cash conversion (operating cash flow ÷ operating profit) | 145% | 120% | −67% | −12% | 101% | 49% |
| Cash generated by operations (before interest and tax) | 405 | 403 | 108 | 171 | 567 | 368 |
The share price
Daily closing prices from 2 August 2021 to 30 October 2026, with the 50-day and 200-day moving averages. Markers show when results were announced, not when the financial year ended, because that is when the market receives new information. Full-year announcements are labelled; interim (half-year) announcements are the small open circles, and you can hover or tap any marker for the date and the share price move that day.
Prices in rand. The chart plots roughly one point a week for readability; the workbook holds every trading day.
How to read the averages
- A moving average is the average closing price over the last 50 or 200 trading days. It smooths daily noise.
- On 30 October 2026 the close (R4.38) was 8.0% above the 50-day average (R4.06) and 5.2% above the 200-day average (R4.16); the 50-day average was below the 200-day.
- The closing price was R4.19 on 31 July 2025 and R3.85 on 31 July 2026 (−8.1%). The highest close in the period was R5.00 on 26 October 2021 and the lowest was R1.05 on 13 February 2024.
- These describe past price behaviour. They are not forecasts or signals.
The price on results day
Close on announcement day vs the previous close.
Small sample (11 announcements); 4 closed lower. A one-day move captures only the first reaction: after the FY26 results the shares closed on 30 October 13.8% above the close on results day. Average absolute move on results day: 3.1% (full-year 3.9%, interim 2.2%).
Headline earnings per share
Cents, years ended 31 July. FY21 is not adjusted for the 2023 rights offer
Price-to-earnings ratio
Closing price at 31 July ÷ that year's HEPS. Not shown where HEPS was a loss. The last point uses the 30 Oct 2026 close and FY26 HEPS.
Market metrics
HEPS = headline earnings per share, continuing operations. P/E is not meaningful (n/m) where HEPS is zero or negative.
| FY21 | FY22 | FY23 | FY24 | FY25 | FY26 | |
|---|---|---|---|---|---|---|
| Headline EPS (cents) | −98.0 | −45.0 | −19.0 | −0.2 | 40.0 | 57.0 |
| growth % | – | n/m | n/m | n/m | n/m | +42.5 |
| Closing price at 31 July (cents) | 401 | 307 | 152 | 153 | 419 | 385 |
| P/E (×) | n/m | n/m | n/m | n/m | 10.5 | 6.8 |
| Ordinary dividend per share (cents) | 0 | 0 | 0 | 0 | 0 | 0 |
Data notes and gaps
Every gap is shown rather than hidden. The rule applied: a line missing for one year is kept and flagged; a line missing for two or more years is left out of the standard comparison.
| Item | Status | Treatment |
|---|---|---|
| FY26 figures | Audited | From the audited annual financial statements for the year to 31 July 2026 (unqualified opinion, report dated 12 October 2026). The results announcement was released on 13 October 2026. |
| FY22–FY25 figures | Audited | From each year's audited annual financial statements. Where a later report restated a prior-year figure, the restated figure is used. |
| FY21 figures | Comparative, restated | FY21 is the comparative in the FY22 statements, restated to continuing operations. The original FY21 (EOH) statements were not used. FY21 per-share figures are not adjusted for the February 2023 rights offer. |
| Discontinued operations and held-for-sale | FY21 to FY23 | Businesses sold in the deleveraging programme are shown as discontinued, so continuing revenue and profit are lower than the group totals. FY21 and FY22 balance sheets include assets and liabilities held for sale, excluded from working-capital and liquidity measures. Employee costs and segment totals for FY21 to FY23 may include these businesses. |
| Segment structure | Changed four times | Seven segments to three in FY26; shares of the largest segment are not comparable year to year. FY25 is shown on the restated three-segment structure. Segment profit is available only for FY26. |
| Operating profit | As reported | iOCO does not report capital items separately. Operating costs include the net impairment of financial assets, which iOCO shows on its own line above operating expenses. |
| Finance costs | Gross | Interest on bank loans and leases, before investment income. The company's “net finance costs” (R61m in FY26, R89m in FY25) are after investment income. |
| FY23 debt classification | Reclassified after year-end | R836m of bank loans was shown as current at 31 July 2023 because of an interest-cover covenant test, and reclassified as non-current on 6 October 2023 after the covenant was amended. Net debt is not affected. |
| Dividends | None paid | iOCO declared no ordinary dividends in any of the six years, so no dividend per share is shown and dividend-based tests score zero. |
| Company-defined measures | Not IFRS | EBITDA (R610m), adjusted EBITDA (R624m) and segment adjusted EBITDA are iOCO's own measures and exclude items the company chooses. Guidance for FY27 is management's statement. |
| Restatements | Presentation only | The restatements found are presentational (segments, deferred tax and lease disclosures) and the FY22 per-share restatement for the rights offer bonus element. No restatement of reported profit or total equity was found in the primary statements. |
| Share prices | GOOGLEFINANCE | Daily closes for JSE:IOC from 2 August 2021 to 30 October 2026. The first close in the series is 2 August 2021, so the FY21 year-end price is that close. A day with no close in the source is skipped. |
| Results announcement dates | From SENS and press | Dates are from JSE SENS announcements and company releases; where press reports differ by a day or two, the SENS date is used. The date of any announcement should be checked against SENS before it is quoted. |
| Audit key audit matters | FY26 | Goodwill impairment (R608m of R2.89bn total assets) and, in the separate company statements, expected credit losses on group loans. |
Sources. iOCO Limited audited annual financial statements for FY2022 to FY2026 (years ended 31 July) and results announcements on JSE SENS, including the announcement of 13 October 2026; closing prices from the Clearview Financial workbook (Google Finance).
This report is a descriptive summary of published information. It is not financial, investment or tax advice, a recommendation to buy, hold or sell any security, or a valuation or price target. Clearview Financial (Pty) Ltd is not a licensed financial services provider. Moving averages and P/E ratios describe past data and do not predict future performance. Some figures are derived where iOCO did not disclose a breakdown; these are flagged above.
Holdings. The author holds shares in iOCO Limited in his personal portfolio.
CLEARVIEW FINANCIAL