Piotroski F-score
Failed
3 checks could not be answered: a figure either filed year needs is missing, not evidence either way.
ESOA reported revenue of $411M in FY2025.
| Fiscal year | Revenue | Net income |
|---|---|---|
| 2025 | $411M | - |
| 2024 | $351.88M | - |
| 2023 | $304.1M | - |
13 more years are on Measure
Free, no card, and it does not expire. See what the paid plans add
Also filed under Engineering & Construction, ranked by how closely they sit beside ESOA.
The assistant answers from what ESOA has actually filed: 16 annual reports filed with the SEC, 16 Form 4 filings from the last year and 2 funds that hold it. Every figure in a reply links to the filing it came from, so an answer can be checked rather than believed.
Press one and the answer appears right here on the page, from ESOA's filings and figures. One a day without an account; a free account has its own, and no card.
Cash flow breakdown
What the business generated, and where it went
Operating cash flow
$4.14M 2025
Cash generated by the business itself
Free cash flow
−$2.22M 2025
Operating cash flow minus capital expenditure
Capital expenditure
$6.35M 2025
Spending on property, plant and equipment
ESOA generated $4.14M of operating cash flow. Each figure below is what it did with that, as reported on the same statement.
Reinvested in the business
Spent on its own shares
Paid to shareholders
As reported in the company's own annual filings.
| Fiscal year | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | $4.14M | $18.68M | $21.07M | $8.28M | $798.94K | $14.99M | $4.33M | $9.06M | $1.18M | $6.78M | $5.96K | $2.83M | $6.05M | $1.63M | - | - |
| Capital expenditure |
Financial statements
Every figure below is this company’s, as filed. Measure draws them: 16 years and 64 quarters plotted to scale, on the income statement, balance sheet and cash flow, plus the ratio and estimate sections this page does not carry.
Free, no card, and it does not expire. See what the paid plans add
Gross profit
Plotted to scale onMeasure
Revenue
Plotted to scale onMeasure
As reported in the company's own annual filings.
| Fiscal year | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $411M | $351.88M | $304.1M | $197.59M | $122.47M | $119.19M | $174.54M | $135.48M | $140.5M | $155.48M | $116.8M | $93.27M | $108.82M | $109.02M | $143.43M | $218.29M |
| Cost of revenue |
Total assets
Plotted to scale onMeasure
Total liabilities
Plotted to scale onMeasure
Shareholder equity
Plotted to scale onMeasure
Cash
Plotted to scale onMeasure
Current assets
Plotted to scale onMeasure
Current liabilities
Plotted to scale onMeasure
Total debt
Plotted to scale onMeasure
As reported in the company's own annual filings.
| Fiscal year | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $215.21M | $158.25M | $142.51M | $112.63M | $70.17M | $58.16M | $55.93M | $54.68M | $57.3M | $56.4M | $46.8M | $42.29M | $50.7M | $59.76M | $111.03M | $128.98M |
| Current assets |
Market cap
Plotted to scale onMeasure
Enterprise value
Plotted to scale onMeasure
Computed against the closing price on each fiscal year end, not reported by the company.
| Fiscal year | 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 | 2011 | 2010 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Market cap | $172.26M | $157.42M | $67.42M | $46.69M | $22.61M | $11.32M | $9.91M | $15.32M | $14.09M | $18.2M | $15.1M | $15.77M | $14.05M | $14.04M | $21.94M | $37.61M |
| Enterprise value |
Derived from SEC XBRL filings. Not investment advice.
See every filed year for ESOA, quarter by quarter.
Ten seconds. No card. Nothing to cancel.
Be told the next time ESOA files
Watch ESOA and every quarterly and annual report, material 8-K, open-market Form 4 worth a row and tracked manager's change lands in the bell and a daily email. Free.
See all 16 filed years plotted, not just read
Every annual statement ESOA has filed is on this page as figures. Drawn to scale, a trend over the whole record is something you can see rather than something you have to add up.
The charts, to scaleMeasure
Catch a turn before the year confirms it
Revenue, margins and cash flow quarter by quarter, where a change in direction shows up first.
Quarterly statementsMeasure
Ask why a number moved, get the filing back
Why a margin moved, where the cash went: answered from ESOA's own statements, not a guess.
Free, no card, and it does not expire.
| $6.35M |
| $8.76M |
| $10.82M |
| $5.31M |
| $6.05M |
| $3.53M |
| $3.36M |
| $1.88M |
| $2.79M |
| $3.41M |
| $2.44M |
| $1.57M |
| $902.17K |
| $1.34M |
| $1.13M |
| $2.15M |
| Free cash flow | −$2.22M | $9.92M | $10.25M | $2.98M | −$5.25M | $11.45M | $961.89K | $7.18M | −$1.61M | $3.38M | −$2.43M | $1.27M | $5.15M | $292.28K | - | - |
|---|
| Stock-based compensation | - | - | - | - | - | - | $0 | $0 | $0 | $0 | $0 | $0 | $31.65K | $47.83K | $71.74K | $11.96K |
|---|
| Buybacks | $844.23K | $41.38K | $219.62K | $0 | $0 | $268.23K | $300.6K | $49.8K | - | - | - | $30 | $30 | - | - | - |
|---|
| Dividends paid | $1.5M | $994.03K | $833.36K | $0 | $0 | $696.12K | - | - | $696.12K | - | - | - | - | - | - | - |
|---|
| $372.23M |
| $301.92M |
| $267.29M |
| $175.22M |
| $109.54M |
| $105.69M |
| $161.86M |
| $123.83M |
| $132.71M |
| $141.28M |
| $105.94M |
| $84.76M |
| $98.8M |
| $104.38M |
| $136.58M |
| $193.92M |
| Gross profit | $38.78M | $49.95M | $36.81M | $22.37M | $12.92M | $13.5M | $12.68M | $11.65M | $7.78M | $14.2M | $10.86M | $8.51M | $10.02M | $4.64M | $6.84M | $24.37M |
|---|
| Selling, general and administrative | $34.56M | $30.12M | $23.78M | $15.88M | $14.04M | $9.83M | $8.86M | $7.73M | $7.4M | $7.29M | $6.58M | $6.36M | $8.05M | $9.86M | $13.27M | $12.73M |
|---|
| Operating income | $4.22M | $19.84M | $13.04M | $6.49M | −$1.12M | $3.67M | $3.82M | $3.92M | $382.15K | $6.9M | $4.28M | $2.16M | $1.97M | −$37.95M | −$6.43M | $11.64M |
|---|
| Net income | - | - | - | - | - | - | - | $2.51M | −$387.76K | $3.24M | $2.11M | $3.7M | $2.07M | −$48.52M | −$5.28M | $5.77M |
|---|
| Diluted EPS | $0.02 | $1.51 | $0.44 | $0.23 | -$0.07 | $0.12 | $0.10 | $0.13 | -$0.05 | $0.17 | $0.10 | $0.18 | $0.24 | -$3.36 | -$0.44 | $0.48 |
|---|
| Diluted shares | 16.69M | 16.61M | 16.67M | 16.32M | 16.99M | 17.24M | 17.5M | 17.67M | 14.24M | 17.67M | 17.67M | 17.8M | 14.92M | 14.45M | 12.11M | 12.1M |
|---|
| Dividend per share | - | - | $0.05 | - | - | - | - | - | $0.05 | - | - | - | - | - | - | - |
|---|
| Gross margin | 9.43% | 14.20% | 12.11% | 11.32% | 10.55% | 11.33% | 7.26% | 8.60% | 5.54% | 9.13% | 9.30% | 9.13% | 9.20% | 4.26% | 4.77% | 11.16% |
|---|
| Operating margin | 1.03% | 5.64% | 4.29% | 3.29% | −0.92% | 3.08% | 2.19% | 2.89% | 0.27% | 4.44% | 3.66% | 2.31% | 1.81% | −34.81% | −4.48% | 5.33% |
|---|
| Net margin | - | - | - | - | - | - | - | 1.85% | −0.28% | 2.08% | 1.81% | 3.97% | 1.90% | −44.51% | −3.68% | 2.64% |
|---|
| $144.92M |
| $110.43M |
| $95.18M |
| $70.39M |
| $42.98M |
| $41.77M |
| $39.11M |
| $37.87M |
| $37.97M |
| $42.11M |
| $38.25M |
| $34.38M |
| $40.94M |
| $40.7M |
| $50.36M |
| $65M |
| Cash | $12.24M | $12.93M | $16.43M | $7.43M | $8.23M | $11.22M | $4.58M | $1.07M | $1.66M | $3.82M | $1.49M | $2.65M | $6.15M | $1.4M | $2.97M | $2.58M |
|---|
| Total liabilities | $155.97M | $99.55M | $107.92M | $84.39M | $45.52M | $32.34M | $31.26M | $31.4M | $36.17M | $33.87M | $26.52M | $23.83M | $35.75M | $53.31M | $56.11M | $68.86M |
|---|
| Current liabilities | $97.98M | $74.25M | $79.9M | $65.42M | $34.46M | $18.85M | $18.31M | $23.6M | $26.02M | $24.56M | $17.81M | $13.4M | $30.66M | $43.44M | $35.43M | $49.53M |
|---|
| Total debt | $50.26M | $17.19M | $18.87M | $13.49M | $9.02M | $11.23M | $11.02M | $6.47M | $9.7M | $7.39M | $6.8M | $7.94M | $1.06M | $1.62M | $11.22M | $7.47M |
|---|
| Shareholder equity | $59.24M | $58.69M | $34.59M | $28.24M | $24.65M | $25.82M | $24.66M | $23.28M | $21.13M | $22.52M | $20.29M | $18.46M | $14.94M | $6.44M | $54.92M | $60.12M |
|---|
| $210.27M |
| $161.68M |
| $69.86M |
| $52.75M |
| $23.41M |
| $11.34M |
| $16.36M |
| $20.72M |
| $22.13M |
| $21.77M |
| $20.41M |
| $21.05M |
| $8.96M |
| $14.27M |
| $30.19M |
| $42.5M |
| Price at year end | $10.35 | $9.50 | $4.05 | $2.86 | $1.66 | $0.82 | $0.70 | $1.08 | $0.99 | $1.28 | $1.06 | $1.10 | $0.97 | $0.97 | $1.81 | $3.11 |
|---|
| P/E ratio | 517.5 | 6.29 | 9.2 | 12.43 | - | 6.67 | 7.34 | 8.61 | - | 7.7 | 10.19 | 5.99 | 4.07 | - | - | 6.48 |
|---|
| Price to free cash flow | - | 15.87 | 6.58 | 15.68 | - | 0.99 | 10.31 | 2.13 | - | 5.39 | - | 12.45 | 2.73 | 48.04 | - | - |
|---|