Perma-Pipe International Holdings, Inc. (PPIH)

Every figure below is the company's own, as filed. Nothing is estimated and nothing is smoothed — a period the filing does not support is left blank rather than drawn. Quarters are the company's own, counted from its financial year ending 01-31. Amounts in USD.

Revenue Annual

0 80M 160M 240M FY17: 98.8M FY18: 105.2M FY19: 129M FY20: 127.7M FY21: 84.7M FY22: 138.6M FY23: 142.6M FY24: 150.7M FY25: 158.4M FY26: 210.9M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Gross Profit Annual

0 25M 50M 75M FY17: 11.7M FY18: 11.7M FY19: 23.3M FY20: 29M FY21: 11.2M FY22: 32.5M FY23: 38.3M FY24: 41.5M FY25: 53.2M FY26: 69.5M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Operating Income Annual

-15M 0 15M 30M 45M FY17: -11.6M FY18: -9.5M FY19: 2.7M FY20: 4.9M FY21: -11.4M FY22: 8.1M FY23: 11.1M FY24: 13.4M FY25: 20.3M FY26: 29.4M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Net Income Annual

-18M -12M -6M 0 6M 12M 18M FY17: -12.5M FY18: -10M FY19: -550K FY20: 3.6M FY21: -7.6M FY22: 6.1M FY23: 5.9M FY24: 10.5M FY25: 9M FY26: 17M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Cost of Revenue Annual

0 50M 100M 150M FY18: 93.5M FY19: 105.6M FY20: 98.6M FY21: 73.5M FY22: 106M FY23: 104.3M FY24: 109.2M FY25: 105.1M FY26: 141.4M FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Operating Cash Flow Annual

-6M 0 6M 12M 18M FY17: -5.5M FY18: -1.8M FY19: 5M FY20: 4.1M FY21: 165K FY22: -2.6M FY23: -1.2M FY24: 14.7M FY25: 13.9M FY26: 9.2M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Free Cash Flow Annual

-12M -8M -4M 0 4M 8M 12M FY17: -7.7M FY18: -4.4M FY19: 3.6M FY20: 2.2M FY21: -1.8M FY22: -4.8M FY23: -8.2M FY24: 3.6M FY25: 11.1M FY26: -1.3M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Operating cash flow minus capital expenditure.

Shares Outstanding Annual

0 3M 6M 9M FY17: 7.5M FY18: 7.7M FY19: 7.8M FY20: 8.4M FY21: 8.1M FY22: 8.4M FY23: 8.1M FY24: 8.1M FY25: 8M FY26: 8.1M FY17 FY18 FY19 FY20 FY21 FY22 FY23 FY24 FY25 FY26

Weighted average diluted, as the filer reports it for each period. An average cannot be added across periods, so this one is always shown per period the filer tagged rather than as a trailing year.

EPS TTM

-2.40 -1.60 -0.80 0.00 0.80 1.60 2.40 Q2 '17: -0.49 Q3 '17: -1.82 Q4 '17: -1.65 Q1 '18: -1.25 Q2 '18: -1.48 Q3 '18: -1.41 Q4 '18: -1.30 Q1 '19: -0.98 Q2 '19: -0.80 Q3 '19: -0.39 Q4 '19: -0.07 Q1 '20: -0.12 Q2 '20: 0.37 Q3 '20: 0.37 Q4 '20: 0.41 Q1 '21: 0.29 Q2 '21: -0.13 Q3 '21: -0.46 Q4 '21: -0.94 Q1 '22: -0.73 Q2 '22: -0.35 Q3 '22: 0.06 Q4 '22: 0.73 Q1 '23: 0.72 Q2 '23: 0.54 Q3 '23: 0.69 Q4 '23: 0.73 Q1 '24: 0.70 Q2 '24: 0.60 Q3 '24: 0.63 Q4 '24: 1.30 Q1 '25: 1.62 Q2 '25: 1.89 Q3 '25: 1.96 Q4 '25: 1.11 Q1 '26: 1.54 Q2 '26: 1.24 Q3 '26: 1.70 Q4 '26: 2.08 Q1 '27: 1.69 Q2 '18 Q3 '19 Q4 '20 Q1 '22 Q2 '23 Q3 '24 Q4 '25 Q1 '27

The filer's own published earnings a share for each quarter, four quarters added up. The company page divides trailing net income by the share count instead, which lands within about 1% of this and is not the same sum, so the two are named differently rather than presented as one figure.