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 Quarterly
0
15M
30M
45M
Q4 '17: 25.7M
Q1 '18: 24.5M
Q2 '18: 27.5M
Q3 '18: 28.8M
Q3 '18: 28.8M
Q4 '18: 32.7M
Q1 '19: 31.5M
Q2 '19: 33.8M
Q3 '19: 34.2M
Q4 '19: 37.2M
Q2 '20: 36.2M
Q3 '20: 33.5M
Q4 '20: 33.3M
Q4 '20: 30.5M
Q2 '21: 30.9M
Q3 '21: 27.7M
Q3 '21: 28M
Q4 '21: 29.4M
Q2 '22: 29.1M
Q2 '22: 29.8M
Q3 '22: 28.9M
Q4 '22: 29.7M
Q1 '23: 31M
Q2 '23: 32.3M
Q3 '23: 39.4M
Q3 '23: 39.4M
Q4 '23: 39.9M
Q1 '24: 35.4M
Q2 '24: 35.5M
Q3 '24: 37.5M
Q4 '24: 39.6M
Q1 '25: 33M
Q3 '25: 40.5M
Q4 '25: 40.4M
Q4 '25: 37.4M
Q1 '26: 37.7M
Q2 '26: 36.1M
Q3 '26: 39.2M
Q4 '26: 37.5M
Q1 '27: 39.4M
Q3 '18
Q4 '19
Q2 '21
Q2 '22
Q3 '23
Q3 '24
Q4 '25
Q1 '27
Gross Profit Quarterly
0
6M
12M
18M
Q4 '17: 10.1M
Q1 '18: 9.3M
Q2 '18: 10.3M
Q3 '18: 11.8M
Q3 '18: 11.8M
Q4 '18: 12.6M
Q1 '19: 12.1M
Q2 '19: 13.4M
Q3 '19: 13.9M
Q4 '19: 14.6M
Q2 '20: 14.2M
Q3 '20: 12M
Q4 '20: 12.3M
Q4 '20: 10.2M
Q2 '21: 10.9M
Q3 '21: 9.8M
Q3 '21: 9.7M
Q4 '21: 11M
Q2 '22: 10.9M
Q2 '22: 12.7M
Q3 '22: 10.4M
Q4 '22: 9.8M
Q1 '23: 10.7M
Q2 '23: 11.4M
Q3 '23: 12.5M
Q3 '23: 12.5M
Q4 '23: 13.6M
Q1 '24: 12.4M
Q2 '24: 9.7M
Q3 '24: 14.8M
Q4 '24: 12.6M
Q1 '25: 12M
Q3 '25: 14.3M
Q4 '25: 13.7M
Q4 '25: 10.6M
Q1 '26: 12M
Q2 '26: 11.6M
Q3 '26: 14.2M
Q4 '26: 9.2M
Q1 '27: 14.4M
Q3 '18
Q4 '19
Q2 '21
Q2 '22
Q3 '23
Q3 '24
Q4 '25
Q1 '27
Operating Income Quarterly
-15M
-10M
-5M
0
5M
10M
15M
Q3 '17: 1.8M
Q3 '17: 1.8M
Q4 '17: 1.2M
Q1 '18: 707K
Q2 '18: 942K
Q3 '18: 1.6M
Q3 '18: 1.6M
Q4 '18: 2.1M
Q1 '19: 1.3M
Q2 '19: 2.2M
Q3 '19: 2.4M
Q4 '19: 2.9M
Q2 '20: 2.5M
Q3 '20: 1.2M
Q4 '20: 447K
Q2 '21: 663K
Q3 '21: 204K
Q3 '21: 417K
Q4 '21: 1.1M
Q2 '22: 735K
Q2 '22: 3.5M
Q3 '22: 296K
Q1 '23: 764K
Q2 '23: 1.2M
Q3 '23: 1.3M
Q3 '23: 1.3M
Q4 '23: 2.1M
Q1 '24: 1.5M
Q2 '24: -1.2M
Q3 '24: 4.6M
Q4 '24: 3.9M
Q1 '25: 1.3M
Q3 '25: 1.1M
Q4 '25: 1.3M
Q4 '25: -12.3M
Q1 '26: 571K
Q2 '26: -708K
Q3 '26: 1.3M
Q4 '26: 54K
Q1 '27: 1.6M
Q2 '18
Q2 '19
Q4 '20
Q2 '22
Q3 '23
Q3 '24
Q4 '25
Q1 '27
Net Income Quarterly
-18M
-12M
-6M
0
6M
12M
18M
Q1 '18: 512K
Q2 '18: 727K
Q3 '18: 1.4M
Q3 '18: 1.4M
Q4 '18: 629K
Q1 '19: 814K
Q1 '19: 814K
Q2 '19: 1.2M
Q3 '19: 1.4M
Q4 '19: 2.3M
Q2 '20: 1.7M
Q2 '20: 1.7M
Q3 '20: 951K
Q4 '20: 456K
Q2 '21: 432K
Q3 '21: 3K
Q3 '21: 12K
Q4 '21: 837K
Q2 '22: 593K
Q2 '22: 7M
Q3 '22: -425K
Q4 '22: -758K
Q1 '23: 425K
Q2 '23: 584K
Q3 '23: 289K
Q3 '23: 289K
Q4 '23: 1.4M
Q1 '24: 848K
Q2 '24: -1.6M
Q3 '24: 2.8M
Q4 '24: 2.7M
Q1 '25: 1.2M
Q3 '25: -311K
Q4 '25: 240K
Q4 '25: -15.6M
Q1 '26: -376K
Q2 '26: -1.2M
Q3 '26: 378K
Q4 '26: -1.1M
Q1 '27: 653K
Q4 '18
Q4 '19
Q2 '21
Q2 '22
Q3 '23
Q3 '24
Q4 '25
Q1 '27
Cost of Revenue Quarterly
0
10M
20M
30M
Q4 '17: 15.6M
Q1 '18: 15.2M
Q2 '18: 17.2M
Q3 '18: 17M
Q3 '18: 17M
Q4 '18: 20.1M
Q1 '19: 19.4M
Q2 '19: 20.4M
Q3 '19: 20.3M
Q4 '19: 22.6M
Q2 '20: 21.9M
Q3 '20: 21.5M
Q4 '20: 21M
Q4 '20: 20.2M
Q2 '21: 20.1M
Q3 '21: 17.9M
Q3 '21: 18.3M
Q4 '21: 18.5M
Q2 '22: 18.2M
Q2 '22: 17.1M
Q3 '22: 18.5M
Q4 '22: 19.9M
Q1 '23: 20.3M
Q2 '23: 20.9M
Q3 '23: 26.9M
Q3 '23: 26.9M
Q4 '23: 26.3M
Q1 '24: 23M
Q2 '24: 25.8M
Q3 '24: 22.8M
Q4 '24: 27M
Q1 '25: 21M
Q3 '25: 26.2M
Q4 '25: 26.7M
Q4 '25: 26.7M
Q1 '26: 25.8M
Q2 '26: 24.5M
Q3 '26: 25M
Q4 '26: 28.4M
Q1 '27: 24.9M
Q3 '18
Q4 '19
Q2 '21
Q2 '22
Q3 '23
Q3 '24
Q4 '25
Q1 '27
Operating Cash Flow Quarterly
-5M
-2.5M
0
2.5M
5M
7.5M
Q3 '16: 1.2M
Q3 '16: 4.1M
Q1 '17: 2.9M
Q2 '17: 1.5M
Q3 '17: 3M
Q1 '18: -771K
Q2 '18: 2.5M
Q3 '18: 298K
Q4 '18: 1.7M
Q1 '19: -1.6M
Q2 '19: -137K
Q2 '20: 987K
Q3 '20: 25K
Q4 '20: -24K
Q4 '20: 2.2M
Q2 '21: 3.4M
Q3 '21: 5.7M
Q3 '21: 2.5M
Q4 '21: 3.9M
Q2 '22: 3.9M
Q2 '22: 1.6M
Q3 '22: -1.6M
Q4 '22: -2.5M
Q1 '23: -1.6M
Q2 '23: -2.2M
Q3 '23: -3.6M
Q4 '23: 4.5M
Q1 '24: 2.6M
Q2 '24: 2.1M
Q3 '24: 1.2M
Q4 '24: 6.5M
Q1 '25: 6.9M
Q3 '25: 162K
Q4 '25: -4.7M
Q4 '25: 2.5M
Q1 '26: 4.4M
Q2 '26: 249K
Q3 '26: 3.4M
Q4 '26: 3.7M
Q1 '27: 3M
Q3 '17
Q1 '19
Q4 '20
Q2 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Free Cash Flow Quarterly
-5M
-2.5M
0
2.5M
5M
7.5M
Q2 '16: 2.3M
Q3 '16: 550K
Q3 '16: 3.2M
Q1 '17: 2.7M
Q2 '17: 1.3M
Q3 '17: 2.4M
Q1 '18: -1.1M
Q2 '18: 1.8M
Q3 '18: -438K
Q4 '18: 1.3M
Q1 '19: -2.2M
Q2 '19: -444K
Q2 '20: 401K
Q3 '20: -927K
Q4 '20: -908K
Q4 '20: 1.8M
Q2 '21: 2.8M
Q3 '21: 5.2M
Q3 '21: 1.6M
Q4 '21: 3.4M
Q2 '22: 3.4M
Q2 '22: 966K
Q3 '22: -2M
Q4 '22: -2.7M
Q1 '23: -1.7M
Q2 '23: -2.3M
Q3 '23: -3.7M
Q4 '23: 4.5M
Q1 '24: 2.6M
Q2 '24: 1.6M
Q3 '24: 399K
Q1 '25: 6.4M
Q3 '25: -176K
Q4 '25: -5M
Q4 '25: 2.4M
Q1 '26: 4.3M
Q2 '26: 202K
Q3 '26: 3.3M
Q4 '26: 3.5M
Q1 '27: 3M
Q2 '17
Q4 '18
Q4 '20
Q4 '21
Q1 '23
Q2 '24
Q4 '25
Q1 '27
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
3M
6M
9M
Q2 '15: 7.8M
Q3 '15: 7.9M
Q4 '15: 7.9M
Q2 '16: 7.5M
Q3 '16: 7.5M
Q3 '16: 7.5M
Q1 '17: 7.5M
Q2 '17: 7.6M
Q3 '17: 7.6M
Q3 '17: 7.6M
Q1 '18: 7.6M
Q2 '18: 6.8M
Q3 '18: 6.8M
Q3 '18: 6.8M
Q1 '19: 6.9M
Q2 '19: 7.1M
Q3 '19: 7.2M
Q2 '20: 7.2M
Q3 '20: 7.4M
Q4 '20: 7.2M
Q2 '21: 7.1M
Q3 '21: 7.1M
Q3 '21: 7.2M
Q2 '22: 7.3M
Q2 '22: 7.3M
Q3 '22: 7.2M
Q1 '23: 7.4M
Q2 '23: 7.3M
Q3 '23: 7.4M
Q3 '23: 7.4M
Q1 '24: 7.5M
Q2 '24: 7.4M
Q3 '24: 7.5M
Q1 '25: 7.6M
Q3 '25: 7.5M
Q4 '25: 7.6M
Q1 '26: 7.6M
Q2 '26: 7.6M
Q3 '26: 7.7M
Q1 '27: 7.8M
Q3 '16
Q3 '17
Q1 '19
Q4 '20
Q2 '22
Q3 '23
Q3 '25
Q1 '27
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
Q3 '14: 1.23
Q4 '14: 1.19
Q4 '14: 0.41
Q2 '15: 0.61
Q4 '15: 0.60
Q2 '16: 0.62
Q3 '16: 0.60
Q3 '16: 0.58
Q4 '16: 0.61
Q1 '17: 0.59
Q2 '17: 0.60
Q3 '17: 0.57
Q2 '18: 0.43
Q3 '18: 0.49
Q2 '19: 0.59
Q3 '19: 0.58
Q4 '19: 0.81
Q2 '20: 0.92
Q3 '20: 0.88
Q4 '20: 0.74
Q4 '21: 0.18
Q2 '22: 0.20
Q2 '22: 1.16
Q3 '22: 1.10
Q4 '22: 0.88
Q1 '23: 0.86
Q2 '23: -0.02
Q3 '23: 0.08
Q2 '24: 0.11
Q3 '24: 0.44
Q4 '24: 0.62
Q1 '25: 0.66
Q3 '25: 0.84
Q4 '25: 0.50
Q4 '25: -1.94
Q1 '26: -2.14
Q2 '26: -2.26
Q3 '26: -2.24
Q4 '26: -0.31
Q1 '27: -0.18
Q4 '15
Q1 '17
Q2 '19
Q4 '20
Q4 '22
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.