Skip to content

Jane511/financial-statement-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Financial-statement analysis — a credit assessment of CIMIC, benchmarked against ASX construction peers

In one line: A lender-style credit assessment of CIMIC Group (ASX construction & engineering) on real annual-report financials — spreading seven years of audited statements into leverage, coverage, working-capital and cash-quality analysis, testing for the classic construction red flag, and benchmarking it against Downer EDI, NRW Holdings and Monadelphous to reach a written credit verdict.

One borrower assessed in depth, read against its sector — the way real credit assessment works. Full written report: reports/CIMIC_credit_assessment.md (one-page version: reports/executive_summary.md).


For a non-technical reader: what is this, and why does it matter?

Before a bank lends to a company, it spreads the borrower's financial statements: it copies the income statement, balance sheet and cash-flow statement into a standard template and computes a handful of ratios that reveal whether the business can service and repay debt. Can profits cover the interest? How much debt sits against earnings? Is the company actually collecting cash, or just booking profits on paper? This repo does exactly that for CIMIC — a large Australian builder — using its real published annual reports from FY2019 to FY2025, and lines it up against three competitors so the numbers have context. The headline question for any contractor is simple: do reported profits turn into cash? For CIMIC the answer over this period is "not reliably" — which is the single most important thing a lender would want to know.


Results at a glance

CIMIC Group, latest year (FY2025) with the seven-year trend direction:

Metric FY2025 Trend since FY2019 What it means in plain English
Net debt / EBITDA 1.6× ▲ deteriorating Debt vs earnings — jumped to 2.1× in FY2024 to buy back Thiess, now easing
Gearing (debt / equity) 4.2× ▲ deteriorating The balance sheet carries a lot of debt for the equity behind it
Interest cover (EBIT / net interest) 2.7× ▼ thinning Earnings cover interest only ~2.7×, and the cushion is shrinking as debt grows
Current ratio 1.0× ▲ improving Current assets barely cover current liabilities — tight liquidity
EBITDA margin 12.0% ▲ improving Profitability has recovered from the FY2019–20 losses
Net margin 3.1% ▲ improving Still thin — normal for construction, leaves little room for error
Operating cash flow / net profit 1.9× mixed Strong in FY2025, but negative in FY2020 and FY2021 — the red flag

Indicative credit verdict — Cautious / watch. Earnings have recovered, but CIMIC has a multi-year record of profits not converting into cash, is part-funded by supplier finance, and took on materially more debt in FY2024. On a spread basis it is the weakest credit of the four companies — it ranks 3rd or 4th of 4 on almost every metric.


Key charts

All charts are regenerated from the committed input CSVs by python -m src.run_pipeline (module src/figures.py) — aggregated results only, never raw statement dumps.

1. Operating cash flow vs reported net profit — the cash-quality red flag

CIMIC operating cash flow versus net profit, FY2019-FY2025

What this shows: each year's reported net profit (navy) next to the cash operating activities actually generated (teal). Why it matters: in FY2020 and FY2021 CIMIC reported profits while operating activities consumed cash, and FY2023 cash was only ~28% of profit. For a contractor, profit that doesn't become cash is the classic warning sign — this is the centre of the credit case.

2. Leverage trend — net debt / EBITDA

CIMIC net debt to EBITDA trend

What this shows: debt net of cash relative to earnings (FY2019–20 omitted — EBITDA was negative, so the ratio is not meaningful). Why it matters: leverage roughly doubled to 2.1× in FY2024 on the debt-funded re-consolidation of Thiess, then eased to 1.6× — the direction and the step-change matter more than the absolute level.

3. Margin trend

CIMIC EBITDA, EBIT and net margin trend

What this shows: EBITDA, EBIT and net margins over the seven years. Why it matters: margins recovered from the FY2019–20 impairment losses to a ~12% EBITDA / ~3% net margin — profitable again, but on construction-thin net margins that leave little buffer.

4. Working capital — receivables, payables and intensity

CIMIC receivables versus payables with working-capital intensity

What this shows: trade & contract receivables vs payables (bars) and net working capital as a share of revenue (line). Why it matters: CIMIC's payables dwarf its receivables — the business is part-funded by its supply chain (supplier / reverse factoring). That flatters net debt but concentrates liquidity risk in payables.

5. Peer benchmark — CIMIC vs the sector

Heatmap benchmarking CIMIC against Downer, NRW and Monadelphous

What this shows: each headline credit metric averaged over the full common window — benchmarked over FY2019–FY2025, the years all four companies report; green = stronger credit, red = weaker. Why it matters: CIMIC is mostly amber/red — it sits at the weaker end on leverage, coverage, liquidity and cash conversion. Monadelphous (near net-cash) is the conservative benchmark at the other end. CIMIC is delisted but still files with ASIC, so it is current with the listed peers — no shortened window.


The credit story

CIMIC's seven years read as three chapters. FY2019–FY2020 were a wrenching restructuring: a A$2.7bn Middle East exit provision pushed FY2019 to a A$1.0bn loss, and the group sold down Thiess and other businesses — so revenue steps from A$14.7bn (statutory) to A$7.8bn (continuing) and EBITDA turns negative. FY2021–FY2023 are the rebuild: profitable again, leverage under ~1×, but operating cash flow turned negative in FY2020 and FY2021 and was weak in FY2023 — profits were not converting into cash. FY2024–FY2025 bring the re-acquisition of Thiess, which roughly doubled net debt (to ~A$4.2bn), lifted finance costs, and pushed gearing to ~4×; cash conversion improved, but interest cover thinned to ~2.7×. Underneath all three chapters, CIMIC's trade & contract payables far exceed its receivables — the supply chain finances a large slice of the business.

Indicative bias: Cautious / watch. The full walkthrough, the spread, every ratio, the peer benchmark and the credit conclusion are in reports/CIMIC_credit_assessment.md.


Data integrity & validation

These numbers are hand-spread from the audited statements, so the repo treats data quality as a first-class deliverable — the same model-risk discipline a credit function expects. python -m src.validate checks every company-year and writes only the flagged items to outputs/tables/validation_report.csv, so the whole set is QA'd by verifying a handful of rows rather than re-reading every number. The latest run: 0 hard errors, 41 review items, all explained.

  • Automated exception reporting — balance-sheet ties, subtotal-vs-total checks, P&L-chain checks, implied tax rates, plausibility/units checks; hard error flags must be zero, advisory review flags are surfaced with explanations.
  • Two-layer comparative cross-check — each fiscal year is compared against the next report's prior-year column: the 9 headline items for all four companies, and CIMIC's deeper working-capital / cash-flow lines (contract assets & liabilities, receivables, inventory, payables, D&A). Result: 0 unexplained mismatches — every mismatch falls on a documented restatement (held in an allowlist), and where no restatement exists the figures tie exactly.
  • Cash-flow footing — CIMIC's operating cash-flow section foots to the reported net operating cash flow to the cent in all seven years.
  • Cross-statement working-capital ties — balance-sheet movements vs the cash-flow "changes in working capital" line; the only material breaks are FY2020 (Thiess disposal) and FY2024 (Thiess acquisition), allowlisted as legitimate M&A, with FY2021/FY2022 payables divergences flagged for review (FX / contract-balance reclassification, not keying errors).

These checks are wired into the test suite (pytest), so a new, unexplained mismatch fails the build. Method and full results: docs/validation_framework.md; per-year audit: outputs/tables/cimic_wc_cashflow_audit.csv; source-page citations for spot-checking: docs/extraction_check.md.


Construction & engineering credit context

Construction & engineering is a high-credit-risk sector: margins are thin, contracts are often fixed-price, and there is a structural timing gap between work performed and cash collected — which is why the industry carries one of the highest business-insolvency rates. The classic warning sign is reported profit sitting alongside weak or negative operating cash flow, and this assessment tests for exactly that. Because contract assets/liabilities, advances, retentions and any receivables factoring distort ordinary working capital, they are treated explicitly here rather than as plain receivables and payables.


Data source & governance

Figures are sourced from each company's published annual reports and hand-transcribed from the audited consolidated statements; see the source_report / source_page columns in the input CSVs and docs/extraction_check.md. Financial figures are facts and are not copyrightable, so the structured input CSVs and all derived outputs are committed. The annual-report PDFs themselves are copyrighted and are gitignored under data/raw_pdfs/ — not redistributed.


Honest framing & limitations

  • Built on real published financials of four ASX construction & engineering companies, FY2019–FY2025.
  • CIMIC was delisted from the ASX in December 2022 (acquired by HOCHTIEF / ACS) but still lodges audited financial statements with ASIC, so its data is current through FY2025 and aligns with the listed peers over the full benchmark window — it is not treated as ending earlier. Figures are on an as-first-reported basis and are not restated for later discontinued-operations or acquisition changes (FY2019 is pre-divestment; FY2024–25 re-consolidate Thiess).
  • Year-ends differ — CIMIC reports to December, the peers to June, so periods are labelled by reporting year and are not perfectly contemporaneous; a comparability caveat across the whole window.
  • Contract balances are disclosed by CIMIC only as single totals (no current/non-current split), so the working-capital ratios use the reported current trade receivables/payables rather than an apportioned split.
  • These are listed companies, not the private SME borrowers a commercial credit team usually assesses — but the spreading and ratio workflow is the same.
  • A methodology demonstration, not a production spreading platform: figures are hand-spread and should be re-checked against source for any real use (the extraction check is built for exactly that); the credit verdict is an indicative analyst view, not a credit-committee decision.

Repo structure & how to run

pip install -r requirements.txt
python -m src.run_pipeline          # full build: every table + chart + validation, from the input CSVs
python -m src.validate              # QA only: data-quality validator -> outputs/tables/validation_report.csv
pytest -q                           # balance-sheet, ratio and validation tests
python -m src.make_extraction_check # regenerate the source-verification doc
  • src/all logic: spreading, ratios, trends, working capital, risk flags, benchmark, credit view, figures, validation and run_pipeline, plus the locate_statements / make_extraction_check utilities.
  • data/raw_pdfs/ — source annual-report PDFs (gitignored, not redistributed).
  • data/input/ — committed input CSVs (financials_cimic.csv, financials_peers.csv, financials_comparatives.csv, cimic_cashflow_recon.csv), hand-spread from the reports with source_report / source_page audit columns.
  • outputs/everything generated, in one place:
    • outputs/tables/ — machine-readable CSV results and the generated credit view.
    • outputs/figures/ — the charts embedded above.
    • outputs/reports/ — the written, human-readable analysis (CIMIC_credit_assessment.md, executive_summary.md).
  • notebooks/ — a thin walkthrough.
  • docs/ — methodology, assumptions, data dictionary, validation framework, and the extraction check.
  • tests/ — balance-sheet, ratio and validation checks.

About

Commercial borrower financial statement analysis repo for standardised financials, ratio diagnostics, and working-capital metrics used in both structured credit assessment and practical lending decisioning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors