JE Cleantech Holdings Ltd
JCSEdata completeness 88%5 fiscal years on fileData notes: no data for concept 'totalDebt'; no data for concept 'interestExpense'
JE Cleantech Holdings Ltd earns about 10% on invested capital, barely covering its ~9% cost of capital, and has bought back 100% of its shares over 5 years. The estimate methods put fair value between $0.77 and $3.84 a share.Whether it’s worth owning at today’s price is the last question — and yours to answer, below.
| Figure | FY 2021 | FY 2022 | FY 2023 | FY 2024 | FY 2025 |
|---|---|---|---|---|---|
| Revenue | $10.9M1 | $13.9M2 | $13.7M3 | $14.1M4 | $15.8M5 |
| Net income | $1,0006 | $889,0007 | $393,0008 | $25,0009 | $2.52M10 |
| Operating cash flow | $2.49M11 | −$3.91M12 | $1.04M13 | $1.5M14 | $2.09M15 |
| Capital expenditure | $583,00016 | $610,00017 | $160,00018 | $917,00019 | $645,00020 |
| Free cash flow (derived) | $1.91M11 | −$4.52M12 | $884,00013 | $586,00014 | $1.45M15 |
| Total debt | — | — | — | — | — |
| Cash & equivalents | $820,00021 | $4.9M22 | $3.86M23 | $4.2M24 | $7.72M25 |
| Diluted shares | 4.00B | 4.7M | 5.0M | 5.3M | 5.3M |
Superscripts are receipts. Each links to the SEC filing the number came from (full list at the bottom).
10 shares is a claim on $28.97 of net worth that earned you $4.74 and generated $2.72 of cash last year.
It earned about 10% on invested capital against a ~9% cost of capital — roughly what it costs to fund the business, so the numbers show no clear edge.
seeing a moat in the numbers →Share count is down 100% over 5 years — management has been buying back stock, quietly handing owners a bigger slice.
reading capital allocation →Signals, not verdicts — read from the filings above. Numbers don’t prove a moat; they show its footprint. You decide.
The 3 estimate methods that apply put fair value between $0.77 and $3.84 a share. They rest on different assumptions, so where they diverge is the story; the Graham Number is a stricter floor, not a target.
assumptions (10)
- riskFreeRate4.7%
- equityRiskPremium5.0%
- beta100.0%
- equityWeight85.0%
- costOfDebtSpread1.5%
- taxRate21.0%
- terminalGrowth2.5%
- projectionYears10
- fcfGrowth0.0%
- fcfBase$884,000
assumptions (10)
- riskFreeRate4.7%
- equityRiskPremium5.0%
- beta100.0%
- equityWeight85.0%
- costOfDebtSpread1.5%
- taxRate21.0%
- terminalGrowth2.5%
- projectionYears5
- fcfGrowth0.0%
- fcfBase$884,000
assumptions (8)
- riskFreeRate4.7%
- equityRiskPremium5.0%
- beta100.0%
- equityWeight85.0%
- costOfDebtSpread1.5%
- taxRate21.0%
- normalizedEarnings$393,000
- growthAssumed0.0%
assumptions (1)
- grahamMultiplier2250.0%
Different models answer different questions — which to trust when →
| Bear | 0.0% | $3.84 |
| Base | 0.0% | $3.84 |
| Bull | 5.0% | $4.41 |
Bear/base/bull growth = 0% / filed history / history + 5pp. Type a price to see the return each case implies.
Default growth 0.0%= this company’s own filed history (median-to-median FCF CAGR, clamped 0–20%). Your adjustments are recorded anonymously. They become the “what do owners actually believe” dataset.
- 20-F · period ending 2021-12-31 · accession 0001493152-22-011786 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 20-F · period ending 2022-12-31 · accession 0001493152-23-014717 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 20-F · period ending 2023-12-31 · accession 0001493152-24-017293 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 20-F · period ending 2024-12-31 · accession 0001641172-25-010622 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 20-F · period ending 2025-12-31 · accession 0001493152-26-021923 (RevenueFromContractWithCustomerExcludingAssessedTax)
- 20-F · period ending 2021-12-31 · accession 0001493152-22-011786 (NetIncomeLoss)
- 20-F · period ending 2022-12-31 · accession 0001493152-23-014717 (NetIncomeLoss)
- 20-F · period ending 2023-12-31 · accession 0001493152-24-017293 (NetIncomeLoss)
- 20-F · period ending 2024-12-31 · accession 0001641172-25-010622 (NetIncomeLoss)
- 20-F · period ending 2025-12-31 · accession 0001493152-26-021923 (NetIncomeLoss)
- 20-F · period ending 2021-12-31 · accession 0001493152-22-011786 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2022-12-31 · accession 0001493152-23-014717 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2023-12-31 · accession 0001493152-24-017293 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2024-12-31 · accession 0001641172-25-010622 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2025-12-31 · accession 0001493152-26-021923 (NetCashProvidedByUsedInOperatingActivities)
- 20-F · period ending 2021-12-31 · accession 0001493152-22-011786 (PaymentsToAcquirePropertyPlantAndEquipment)
- 20-F · period ending 2022-12-31 · accession 0001493152-23-014717 (PaymentsToAcquirePropertyPlantAndEquipment)
- 20-F · period ending 2023-12-31 · accession 0001493152-24-017293 (PaymentsToAcquirePropertyPlantAndEquipment)
- 20-F · period ending 2024-12-31 · accession 0001641172-25-010622 (PaymentsToAcquirePropertyPlantAndEquipment)
- 20-F · period ending 2025-12-31 · accession 0001493152-26-021923 (PaymentsToAcquirePropertyPlantAndEquipment)
- 20-F · period ending 2021-12-31 · accession 0001493152-22-011786 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2022-12-31 · accession 0001493152-23-014717 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2023-12-31 · accession 0001493152-24-017293 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2024-12-31 · accession 0001641172-25-010622 (CashAndCashEquivalentsAtCarryingValue)
- 20-F · period ending 2025-12-31 · accession 0001493152-26-021923 (CashAndCashEquivalentsAtCarryingValue)