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 02-28.
Amounts in USD.
Revenue Quarterly
0
2M
4M
6M
Q1 '15: 2.3M
Q2 '15: 2.3M
Q3 '15: 2.4M
Q4 '15: 2.7M
Q1 '16: 2.4M
Q2 '16: 2.2M
Q3 '16: 1.9M
Q4 '16: 1.9M
Q1 '17: 1.8M
Q2 '17: 1.9M
Q3 '17: 2.1M
Q1 '20: 2.6M
Q2 '20: 2.4M
Q3 '20: 2.3M
Q4 '20: 2M
Q1 '21: 2.5M
Q2 '21: 3.1M
Q3 '21: 2.3M
Q4 '21: 2.6M
Q1 '22: 3.6M
Q2 '22: 4.2M
Q3 '22: 2.5M
Q4 '22: 2M
Q1 '23: 2.1M
Q2 '23: 2.2M
Q3 '23: 584K
Q4 '23: 1.5M
Q1 '24: 2M
Q2 '24: 2.6M
Q3 '24: 4.1M
Q4 '24: 4M
Q1 '25: 4M
Q2 '25: 3.6M
Q3 '25: 3.4M
Q4 '25: 3.1M
Q1 '26: 2.7M
Q2 '26: 4M
Q3 '26: 5M
Q4 '26: 5.3M
Q1 '27: 5.4M
Q1 '16
Q2 '17
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Gross Profit Quarterly
-900K
0
900K
1.8M
2.7M
Q1 '15: 491K
Q2 '15: 638K
Q3 '15: 607K
Q4 '15: 796K
Q1 '16: 503K
Q2 '16: 566K
Q3 '16: 370K
Q4 '16: 336K
Q1 '17: 359K
Q2 '17: 154K
Q3 '17: 474K
Q1 '20: 191K
Q2 '20: 462K
Q3 '20: 461K
Q4 '20: 361K
Q1 '21: 856K
Q2 '21: 1.1M
Q3 '21: 513K
Q4 '21: 783K
Q1 '22: 1.7M
Q2 '22: 2.2M
Q3 '22: 796K
Q4 '22: 119K
Q1 '23: 817K
Q2 '23: 701K
Q3 '23: -321K
Q4 '23: 204K
Q1 '24: 607K
Q2 '24: 897K
Q3 '24: 1.1M
Q4 '24: 1.2M
Q1 '25: 1.7M
Q2 '25: 738K
Q3 '25: 1M
Q4 '25: 578K
Q1 '26: 390K
Q2 '26: 835K
Q3 '26: 1.7M
Q4 '26: 2.2M
Q1 '27: 2.5M
Q1 '16
Q2 '17
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Operating Income Quarterly
-1.8M
-1.2M
-600K
0
600K
1.2M
1.8M
Q3 '14: 274K
Q4 '14: 111K
Q1 '15: 155K
Q2 '15: 252K
Q3 '15: 264K
Q4 '15: 251K
Q1 '16: 37K
Q2 '16: -189K
Q3 '16: 19K
Q4 '16: -60K
Q1 '17: -153K
Q2 '17: -1.5M
Q3 '17: 151K
Q1 '20: -253K
Q2 '20: -317K
Q3 '20: 39K
Q4 '20: -98K
Q1 '21: 370K
Q2 '21: 599K
Q3 '21: -62K
Q4 '21: 262K
Q1 '22: 950K
Q2 '22: 1.6M
Q3 '22: 299K
Q1 '23: 241K
Q2 '23: 202K
Q3 '23: -781K
Q4 '23: -313K
Q1 '24: 65K
Q2 '24: 283K
Q3 '24: 218K
Q4 '24: 368K
Q1 '25: 792K
Q2 '25: 50K
Q3 '25: 326K
Q1 '26: -378K
Q2 '26: -291K
Q3 '26: 929K
Q4 '26: 1.4M
Q1 '27: 1.5M
Q3 '15
Q4 '16
Q2 '20
Q3 '21
Q1 '23
Q2 '24
Q3 '25
Q1 '27
Net Income Quarterly
-2M
0
2M
4M
6M
Q3 '14: 360K
Q4 '14: 107K
Q1 '15: 163K
Q2 '15: 251K
Q3 '15: 258K
Q4 '15: 255K
Q1 '16: 35K
Q2 '16: -178K
Q3 '16: 20K
Q4 '16: -43K
Q1 '17: -143K
Q2 '17: -1.5M
Q3 '17: 163K
Q1 '20: -249K
Q2 '20: -320K
Q3 '20: 38K
Q4 '20: -75K
Q1 '21: 369K
Q2 '21: 635K
Q3 '21: -27K
Q4 '21: 404K
Q1 '22: 1M
Q2 '22: 2.5M
Q3 '22: 490K
Q1 '23: 771K
Q2 '23: 315K
Q3 '23: -492K
Q4 '23: 232K
Q1 '24: -171K
Q2 '24: 200K
Q3 '24: 86K
Q4 '24: 5.7M
Q1 '25: 589K
Q2 '25: 17K
Q3 '25: 266K
Q1 '26: -336K
Q2 '26: -234K
Q3 '26: 653K
Q4 '26: 724K
Q1 '27: 990K
Q3 '15
Q4 '16
Q2 '20
Q3 '21
Q1 '23
Q2 '24
Q3 '25
Q1 '27
Cost of Revenue Quarterly
0
1.5M
3M
4.5M
Q1 '15: 1.8M
Q2 '15: 1.7M
Q3 '15: 1.8M
Q4 '15: 1.9M
Q1 '16: 1.9M
Q2 '16: 1.6M
Q3 '16: 1.5M
Q4 '16: 1.5M
Q1 '17: 1.5M
Q2 '17: 1.7M
Q3 '17: 1.7M
Q1 '20: 2.4M
Q2 '20: 2M
Q3 '20: 1.8M
Q4 '20: 1.6M
Q1 '21: 1.6M
Q2 '21: 2M
Q3 '21: 1.8M
Q4 '21: 1.8M
Q1 '22: 1.9M
Q2 '22: 2M
Q3 '22: 1.7M
Q4 '22: 1.9M
Q1 '23: 1.3M
Q2 '23: 1.5M
Q3 '23: 905K
Q4 '23: 1.3M
Q1 '24: 1.4M
Q2 '24: 1.7M
Q3 '24: 3.1M
Q4 '24: 2.8M
Q1 '25: 2.3M
Q2 '25: 2.8M
Q3 '25: 2.4M
Q4 '25: 2.6M
Q1 '26: 2.3M
Q2 '26: 3.2M
Q3 '26: 3.3M
Q4 '26: 3.1M
Q1 '27: 3M
Q1 '16
Q2 '17
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Operating Cash Flow Quarterly
-1.6M
-800K
0
800K
1.6M
2.4M
Q1 '15: 325K
Q2 '15: 357K
Q3 '15: 84K
Q4 '15: 365K
Q1 '16: 431K
Q2 '16: -390K
Q3 '16: 441K
Q4 '16: 128K
Q1 '17: -296K
Q2 '17: -1.1M
Q3 '17: -465K
Q1 '20: 538K
Q2 '20: -64K
Q3 '20: 329K
Q4 '20: 315K
Q1 '21: 293K
Q2 '21: 433K
Q3 '21: 701K
Q4 '21: 247K
Q1 '22: 900K
Q2 '22: 1.7M
Q3 '22: 860K
Q4 '22: -116K
Q1 '23: 1.6M
Q2 '23: -434K
Q3 '23: 423K
Q4 '23: -649K
Q1 '24: -5K
Q2 '24: 975K
Q3 '24: 390K
Q4 '24: 557K
Q1 '25: 714K
Q2 '25: 835K
Q3 '25: 511K
Q4 '25: 338K
Q1 '26: 391K
Q2 '26: 386K
Q3 '26: -152K
Q4 '26: 725K
Q1 '27: 2.2M
Q1 '16
Q2 '17
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Free Cash Flow Quarterly
-4.5M
-3M
-1.5M
0
1.5M
3M
4.5M
Q1 '15: 306K
Q2 '15: 329K
Q3 '15: 41K
Q4 '15: 332K
Q1 '16: 348K
Q2 '16: -426K
Q3 '16: 410K
Q4 '16: 92K
Q1 '17: -376K
Q2 '17: -1.2M
Q3 '17: -505K
Q1 '20: 535K
Q2 '20: -129K
Q3 '20: 314K
Q4 '20: 290K
Q1 '21: 270K
Q2 '21: 416K
Q3 '21: 673K
Q4 '21: 240K
Q1 '22: -3.7M
Q2 '22: 1.5M
Q3 '22: 857K
Q4 '22: -257K
Q1 '23: 1.5M
Q2 '23: -434K
Q3 '23: 231K
Q4 '23: -2.5M
Q1 '24: -17K
Q2 '24: 885K
Q3 '24: 330K
Q4 '24: 364K
Q1 '25: -1M
Q2 '25: 823K
Q3 '25: 485K
Q4 '25: 288K
Q1 '26: 353K
Q2 '26: 346K
Q3 '26: -173K
Q4 '26: 497K
Q1 '27: 2.1M
Q1 '16
Q2 '17
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Q1 '27
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
900K
1.8M
2.7M
Q1 '11: 2.5M
Q2 '11: 2.5M
Q3 '11: 2.5M
Q1 '12: 2.5M
Q2 '12: 2.5M
Q3 '12: 2.5M
Q1 '13: 2.5M
Q2 '13: 2.5M
Q3 '13: 2.4M
Q1 '14: 2.4M
Q2 '14: 2.4M
Q3 '14: 2.4M
Q1 '15: 2.4M
Q2 '15: 2.4M
Q3 '15: 2.4M
Q1 '16: 2.4M
Q2 '16: 2.3M
Q3 '16: 2.5M
Q1 '17: 2.2M
Q2 '17: 2.1M
Q3 '17: 1.9M
Q3 '21: 2.1M
Q3 '22: 2.1M
Q3 '24: 2.1M
Q1 '25: 2.1M
Q2 '25: 2.1M
Q3 '25: 2.1M
Q1 '26: 2.1M
Q2 '26: 2.1M
Q3 '26: 2.1M
Q1 '27: 2.2M
Q3 '11
Q1 '13
Q2 '14
Q3 '15
Q1 '17
Q3 '22
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
-1.50
0.00
1.50
3.00
4.50
Q4 '11: 0.51
Q1 '12: 0.55
Q2 '12: 0.55
Q3 '12: 0.46
Q4 '12: 0.31
Q1 '13: 0.27
Q2 '13: 0.17
Q3 '13: 0.30
Q4 '13: 0.35
Q1 '14: 0.40
Q2 '14: 0.39
Q3 '14: 0.37
Q4 '14: 0.37
Q1 '15: 0.33
Q2 '15: 0.36
Q3 '15: 0.32
Q4 '15: 0.38
Q1 '16: 0.33
Q2 '16: 0.15
Q3 '16: 0.05
Q4 '16: -0.07
Q1 '17: -0.15
Q2 '17: -0.79
Q3 '17: -0.71
Q4 '20: -0.30
Q1 '21: 0.01
Q2 '21: 0.48
Q3 '21: 0.45
Q4 '21: 0.68
Q1 '22: 0.99
Q2 '22: 1.86
Q3 '22: 2.11
Q2 '25: 3.05
Q3 '25: 3.14
Q4 '26: 0.38
Q1 '27: 1.00
Q4 '11
Q1 '13
Q2 '14
Q3 '15
Q4 '16
Q1 '21
Q2 '22
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.