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 12-31.
Amounts in USD.
Revenue Quarterly
0
15M
30M
45M
Q4 '17: 9.9M
Q1 '18: 11.4M
Q2 '18: 12.1M
Q3 '18: 12.1M
Q4 '18: 11M
Q1 '19: 12.3M
Q2 '19: 11.4M
Q3 '19: 12M
Q4 '19: 10.9M
Q1 '20: 18.2M
Q1 '20: 18.2M
Q2 '20: 25.5M
Q2 '20: 25.5M
Q3 '20: 30M
Q3 '20: 30M
Q4 '20: 29M
Q1 '21: 23.2M
Q1 '21: 23.2M
Q2 '21: 17.8M
Q3 '21: 14.5M
Q4 '21: 13.2M
Q1 '22: 17.7M
Q1 '22: 17.7M
Q2 '22: 17.4M
Q3 '22: 14.7M
Q4 '22: 12.2M
Q1 '23: 13.8M
Q2 '23: 16.1M
Q3 '23: 16.1M
Q4 '23: 15.3M
Q1 '24: 13.5M
Q2 '24: 16.3M
Q3 '24: 14.3M
Q4 '24: 13.8M
Q1 '25: 13.8M
Q2 '25: 16.7M
Q3 '25: 14.8M
Q4 '25: 13.9M
Q1 '26: 14.6M
Q2 '26: 18.7M
Q4 '18
Q1 '20
Q3 '20
Q3 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Gross Profit Quarterly
0
6M
12M
18M
Q1 '17: 4.3M
Q2 '17: 4.5M
Q3 '17: 4.7M
Q4 '17: 4M
Q1 '18: 4.5M
Q2 '18: 4.7M
Q3 '18: 4.6M
Q4 '18: 4M
Q1 '19: 4.8M
Q2 '19: 4.1M
Q3 '19: 4.2M
Q4 '19: 3.8M
Q1 '20: 8.6M
Q2 '20: 12.6M
Q3 '20: 15.1M
Q4 '20: 14.2M
Q1 '21: 9.2M
Q1 '21: 9.2M
Q2 '21: 6.2M
Q3 '21: 4.9M
Q4 '21: 4.9M
Q1 '22: 6.4M
Q1 '22: 6.4M
Q2 '22: 5.6M
Q3 '22: 4.8M
Q4 '22: 4.8M
Q1 '23: 5M
Q2 '23: 6.1M
Q3 '23: 6M
Q4 '23: 5.7M
Q1 '24: 5.4M
Q2 '24: 6.8M
Q3 '24: 5.5M
Q4 '24: 5.2M
Q1 '25: 5.4M
Q2 '25: 6.1M
Q3 '25: 5.9M
Q4 '25: 5.1M
Q1 '26: 5.5M
Q2 '26: 7M
Q1 '18
Q2 '19
Q3 '20
Q3 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Income Quarterly
0
4M
8M
12M
Q1 '17: 666K
Q2 '17: 1M
Q3 '17: 1.1M
Q4 '17: 128K
Q1 '18: 428K
Q2 '18: 1.1M
Q3 '18: 1.8M
Q4 '18: 569K
Q1 '19: 1M
Q2 '19: 704K
Q3 '19: 906K
Q4 '19: 411K
Q1 '20: 4.3M
Q2 '20: 7.9M
Q3 '20: 10.4M
Q4 '20: 9.1M
Q1 '21: 4.4M
Q1 '21: 4.4M
Q2 '21: 1.8M
Q3 '21: 849K
Q4 '21: 846K
Q1 '22: 1.9M
Q1 '22: 1.9M
Q2 '22: 1.3M
Q3 '22: 647K
Q4 '22: 760K
Q1 '23: 426K
Q2 '23: 1.3M
Q3 '23: 1.4M
Q4 '23: 971K
Q1 '24: 326K
Q2 '24: 1.7M
Q3 '24: 737K
Q4 '24: 674K
Q1 '25: 455K
Q2 '25: 1.3M
Q3 '25: 1.1M
Q4 '25: 952K
Q1 '26: 580K
Q2 '26: 2M
Q1 '18
Q2 '19
Q3 '20
Q3 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Net Income Quarterly
0
3M
6M
9M
Q1 '17: 550K
Q2 '17: 804K
Q3 '17: 1.1M
Q4 '17: 176K
Q1 '18: 508K
Q2 '18: 959K
Q3 '18: 1.5M
Q4 '18: 618K
Q1 '19: 1.2M
Q2 '19: 1M
Q3 '19: 437K
Q4 '19: 335K
Q1 '20: 5.3M
Q2 '20: 6.2M
Q3 '20: 8.1M
Q4 '20: 7.2M
Q1 '21: 3.7M
Q1 '21: 3.7M
Q2 '21: 1.7M
Q3 '21: 766K
Q4 '21: 600K
Q1 '22: 1.5M
Q1 '22: 1.5M
Q2 '22: 693K
Q3 '22: 503K
Q4 '22: 564K
Q1 '23: 552K
Q2 '23: 1.1M
Q3 '23: 1.4M
Q4 '23: 1.1M
Q1 '24: 576K
Q2 '24: 1.6M
Q3 '24: 862K
Q4 '24: 847K
Q1 '25: 613K
Q2 '25: 1.2M
Q3 '25: 976K
Q4 '25: 698K
Q1 '26: 702K
Q2 '26: 1.8M
Q1 '18
Q2 '19
Q3 '20
Q3 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Cost of Revenue Quarterly
0
6M
12M
18M
Q1 '17: 6.5M
Q2 '17: 6.8M
Q3 '17: 7.3M
Q4 '17: 6M
Q1 '18: 7M
Q2 '18: 7.4M
Q3 '18: 7.5M
Q4 '18: 7M
Q1 '19: 7.5M
Q2 '19: 7.3M
Q3 '19: 7.8M
Q4 '19: 7.1M
Q1 '20: 9.6M
Q2 '20: 12.9M
Q3 '20: 14.9M
Q4 '20: 14.8M
Q1 '21: 14M
Q1 '21: 14M
Q2 '21: 11.6M
Q3 '21: 9.5M
Q4 '21: 8.2M
Q1 '22: 11.2M
Q1 '22: 11.2M
Q2 '22: 11.8M
Q3 '22: 9.9M
Q4 '22: 7.4M
Q1 '23: 8.8M
Q2 '23: 10M
Q3 '23: 10M
Q4 '23: 9.6M
Q1 '24: 8.1M
Q2 '24: 9.4M
Q3 '24: 8.8M
Q4 '24: 8.6M
Q1 '25: 8.4M
Q2 '25: 10.5M
Q3 '25: 8.9M
Q4 '25: 8.7M
Q1 '26: 9.1M
Q2 '26: 11.7M
Q1 '18
Q2 '19
Q3 '20
Q3 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Cash Flow Quarterly
-7M
-3.5M
0
3.5M
7M
10.5M
Q3 '16: 3.2M
Q4 '16: 817K
Q1 '17: 162K
Q2 '17: 1.5M
Q3 '17: 997K
Q4 '17: 1.3M
Q1 '18: -2.5M
Q2 '18: 2.6M
Q3 '18: 941K
Q4 '18: 927K
Q1 '19: -1.4M
Q2 '19: 1.6M
Q3 '19: 906K
Q4 '19: 2M
Q1 '20: 9.3M
Q2 '20: 7.4M
Q3 '20: 289K
Q4 '20: 1.2M
Q1 '21: -3.2M
Q2 '21: 251K
Q3 '21: 3.4M
Q4 '21: -901K
Q1 '22: -1.2M
Q2 '22: 2.1M
Q3 '22: 1.4M
Q4 '22: 1.9M
Q1 '23: -1.7M
Q2 '23: 2.7M
Q3 '23: 3.9M
Q4 '23: 3.5M
Q1 '24: -1.2M
Q2 '24: -873K
Q3 '24: 5.3M
Q4 '24: 2.4M
Q1 '25: -4M
Q2 '25: 2.1M
Q3 '25: 3.9M
Q4 '25: 318K
Q1 '26: 12K
Q2 '26: 2.2M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Free Cash Flow Quarterly
-7M
-3.5M
0
3.5M
7M
10.5M
Q3 '16: 3.1M
Q4 '16: 762K
Q1 '17: -422K
Q2 '17: 1.4M
Q3 '17: 808K
Q4 '17: 1M
Q1 '18: -2.6M
Q2 '18: 2.5M
Q3 '18: 757K
Q4 '18: 745K
Q1 '19: -1.6M
Q2 '19: 1.5M
Q3 '19: -4K
Q4 '19: 1.9M
Q1 '20: 9.1M
Q2 '20: 7.3M
Q3 '20: 21K
Q4 '20: 788K
Q1 '21: -3.4M
Q2 '21: -1.1M
Q3 '21: 2.5M
Q4 '21: -1M
Q1 '22: -1.3M
Q2 '22: 2M
Q3 '22: 1.3M
Q4 '22: 1.8M
Q1 '23: -2M
Q2 '23: 2.6M
Q3 '23: 3.8M
Q4 '23: 3.2M
Q1 '24: -1.3M
Q2 '24: -1M
Q3 '24: 3.2M
Q4 '24: 970K
Q1 '25: -4.1M
Q2 '25: 1.9M
Q3 '25: 3.8M
Q4 '25: 51K
Q1 '26: -105K
Q2 '26: 2.1M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
7M
14M
21M
Q1 '14: 19.2M
Q2 '14: 18.6M
Q3 '14: 18.4M
Q1 '15: 18.5M
Q2 '15: 18.3M
Q3 '15: 18.3M
Q1 '16: 17.7M
Q2 '16: 17.2M
Q3 '16: 16.7M
Q1 '17: 15.3M
Q2 '17: 15M
Q3 '17: 14.9M
Q1 '18: 14.4M
Q2 '18: 14.1M
Q3 '18: 13.9M
Q1 '19: 13.5M
Q2 '19: 13.2M
Q3 '19: 13.1M
Q1 '20: 13.7M
Q2 '20: 13.7M
Q3 '20: 14M
Q1 '21: 13.7M
Q1 '21: 13.7M
Q2 '21: 13.5M
Q3 '21: 13.4M
Q1 '22: 13.2M
Q1 '22: 13.2M
Q2 '22: 12.9M
Q3 '22: 12.7M
Q1 '23: 12.2M
Q2 '23: 12M
Q3 '23: 11.8M
Q1 '24: 11.4M
Q2 '24: 11.2M
Q3 '24: 11.2M
Q1 '25: 10.8M
Q2 '25: 10.6M
Q3 '25: 10.5M
Q1 '26: 10.3M
Q2 '26: 10.3M
Q2 '15
Q1 '17
Q3 '18
Q2 '20
Q3 '21
Q1 '23
Q3 '24
Q2 '26
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
0.00
0.70
1.40
2.10
Q3 '15: 0.09
Q4 '15: 0.07
Q1 '16: 0.09
Q2 '16: 0.12
Q3 '16: 0.16
Q4 '16: 0.19
Q1 '17: 0.20
Q2 '17: 0.20
Q3 '17: 0.21
Q4 '17: 0.18
Q1 '18: 0.18
Q2 '18: 0.20
Q3 '18: 0.24
Q4 '18: 0.27
Q1 '19: 0.32
Q2 '19: 0.33
Q3 '19: 0.25
Q4 '19: 0.23
Q1 '20: 0.53
Q2 '20: 0.91
Q3 '20: 1.46
Q4 '20: 1.94
Q1 '21: 1.82
Q4 '21: 0.50
Q1 '22: 0.35
Q4 '22: 0.26
Q1 '23: 0.19
Q2 '23: 0.24
Q3 '23: 0.32
Q4 '23: 0.36
Q1 '24: 0.36
Q2 '24: 0.41
Q3 '24: 0.37
Q4 '24: 0.35
Q1 '25: 0.36
Q2 '25: 0.33
Q3 '25: 0.34
Q4 '25: 0.33
Q1 '26: 0.34
Q2 '26: 0.40
Q3 '16
Q4 '17
Q1 '19
Q2 '20
Q1 '22
Q4 '23
Q1 '25
Q2 '26
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.