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
9M
18M
27M
Q3 '16: 9.5M
Q4 '16: 10M
Q1 '17: 9.5M
Q2 '17: 10.7M
Q3 '17: 11.5M
Q4 '17: 10M
Q1 '18: 9.1M
Q2 '18: 9.8M
Q3 '18: 9.5M
Q4 '18: 11.7M
Q1 '19: 10.2M
Q2 '19: 10.9M
Q3 '19: 13.2M
Q4 '19: 12.4M
Q1 '20: 9.8M
Q2 '20: 10.4M
Q3 '20: 12.5M
Q4 '20: 11.1M
Q1 '21: 15.2M
Q2 '21: 12.3M
Q3 '21: 13.1M
Q4 '21: 10M
Q1 '22: 10.4M
Q2 '22: 13.3M
Q3 '22: 12M
Q4 '22: 14.5M
Q1 '23: 12.8M
Q2 '23: 14.7M
Q3 '23: 15.7M
Q4 '23: 16.4M
Q1 '24: 16.8M
Q2 '24: 19.6M
Q3 '24: 23.6M
Q4 '24: 18.5M
Q1 '25: 22.7M
Q2 '25: 26.2M
Q3 '25: 21.5M
Q4 '25: 23.1M
Q1 '26: 21.6M
Q2 '26: 23.4M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Gross Profit Quarterly
0
3M
6M
9M
Q3 '16: 3.3M
Q4 '16: 2.9M
Q1 '17: 3.3M
Q2 '17: 2.9M
Q3 '17: 3.2M
Q4 '17: 2.1M
Q1 '18: 1.6M
Q2 '18: 3M
Q3 '18: 2.6M
Q4 '18: 3.5M
Q1 '19: 2.2M
Q2 '19: 2.2M
Q3 '19: 2.6M
Q4 '19: 3M
Q1 '20: 1.6M
Q2 '20: 2.4M
Q3 '20: 3.8M
Q4 '20: 3.2M
Q1 '21: 5.7M
Q2 '21: 3.3M
Q3 '21: 3.2M
Q4 '21: 2.2M
Q1 '22: 1.6M
Q2 '22: 3.2M
Q3 '22: 2.1M
Q4 '22: 2.5M
Q1 '23: 2.2M
Q2 '23: 1.8M
Q3 '23: 3.6M
Q4 '23: 3.1M
Q1 '24: 3.9M
Q2 '24: 5.1K
Q3 '24: 6.6M
Q4 '24: 4.4M
Q1 '25: 7M
Q2 '25: 7.8M
Q3 '25: 5.8M
Q4 '25: 5.5M
Q1 '26: 4.3M
Q2 '26: 5.4M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Income Quarterly
-2M
0
2M
4M
6M
Q3 '16: 1.4M
Q4 '16: 1.2M
Q1 '17: 1.4M
Q2 '17: 1.1M
Q3 '17: 1.2M
Q4 '17: 35K
Q1 '18: -553K
Q2 '18: 911K
Q3 '18: 664K
Q4 '18: 1.2M
Q1 '19: 447K
Q2 '19: 373K
Q3 '19: 753K
Q4 '19: 973K
Q1 '20: -42K
Q2 '20: 573K
Q3 '20: 2M
Q4 '20: 1.2M
Q1 '21: 3.8M
Q2 '21: 1.3M
Q3 '21: 1.3M
Q4 '21: -179K
Q1 '22: -173K
Q2 '22: 1.1M
Q3 '22: 4K
Q4 '22: -73K
Q1 '23: 54K
Q2 '23: -981K
Q3 '23: 1.5M
Q4 '23: 542K
Q1 '24: 1.5M
Q2 '24: 2.7K
Q3 '24: 3.8M
Q4 '24: 1.9M
Q1 '25: 4.4M
Q2 '25: 5.5M
Q3 '25: 3.9M
Q4 '25: 3.2M
Q1 '26: 1.7M
Q2 '26: 2M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Net Income Quarterly
-4M
0
4M
8M
12M
Q2 '17: 711K
Q3 '17: 748K
Q4 '17: 367K
Q1 '18: -422K
Q2 '18: 692K
Q3 '18: 520K
Q4 '18: 897K
Q1 '19: 340K
Q2 '19: 288K
Q3 '19: 579K
Q4 '19: 742K
Q1 '20: -38K
Q2 '20: 441K
Q3 '20: 1.5M
Q4 '20: 713K
Q1 '21: 2.9M
Q2 '21: 985K
Q3 '21: 3.7M
Q4 '21: 24K
Q1 '22: -119K
Q2 '22: 910K
Q3 '22: 5K
Q4 '22: 4K
Q1 '23: 80K
Q2 '23: -782K
Q3 '23: 1.3M
Q4 '23: 230K
Q1 '24: 1.1M
Q2 '24: -1.1M
Q2 '24: 2M
Q3 '24: 3.1M
Q4 '24: 1.4M
Q1 '25: 3.3M
Q2 '25: -3.3M
Q2 '25: 4.2M
Q3 '25: 2.9M
Q3 '25: 10.4M
Q4 '25: 2.1M
Q1 '26: 1.3M
Q2 '26: 1.4M
Q2 '18
Q3 '19
Q4 '20
Q1 '22
Q2 '23
Q2 '24
Q2 '25
Q2 '26
Cost of Revenue Quarterly
0
7M
14M
21M
Q3 '16: 6.2M
Q4 '16: 7.1M
Q1 '17: 6.2M
Q2 '17: 7.9M
Q3 '17: 8.3M
Q4 '17: 7.9M
Q1 '18: 7.5M
Q2 '18: 6.9M
Q3 '18: 7M
Q4 '18: 8.2M
Q1 '19: 8M
Q2 '19: 8.7M
Q3 '19: 10.6M
Q4 '19: 9.4M
Q1 '20: 8.2M
Q2 '20: 8.1M
Q3 '20: 8.7M
Q4 '20: 7.8M
Q1 '21: 9.5M
Q2 '21: 9M
Q3 '21: 9.9M
Q4 '21: 7.8M
Q1 '22: 8.8M
Q2 '22: 10M
Q3 '22: 9.9M
Q4 '22: 12M
Q1 '23: 10.7M
Q2 '23: 12.9M
Q3 '23: 12.1M
Q4 '23: 13.3M
Q1 '24: 12.8M
Q2 '24: 14.5K
Q3 '24: 17M
Q4 '24: 14.1M
Q1 '25: 15.7M
Q2 '25: 18.4M
Q3 '25: 15.7M
Q4 '25: 17.6M
Q1 '26: 17.3M
Q2 '26: 17.9M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Cash Flow Quarterly
-3.5M
0
3.5M
7M
10.5M
Q3 '16: 1.1M
Q4 '16: 3.1M
Q1 '17: 1.5M
Q2 '17: -241K
Q3 '17: 406K
Q4 '17: 1.2M
Q1 '18: -427K
Q2 '18: 2.1M
Q3 '18: 4.1M
Q4 '18: 2.8M
Q1 '19: 2.5M
Q2 '19: -323K
Q3 '19: 854K
Q4 '19: 942K
Q1 '20: 1.3M
Q2 '20: 1.3M
Q3 '20: 3.4M
Q4 '20: 1.5M
Q1 '21: 4.3M
Q2 '21: 1.4M
Q3 '21: 1.9M
Q4 '21: 1.6M
Q1 '22: -1.2M
Q2 '22: -1.5M
Q3 '22: -648K
Q4 '22: -3M
Q1 '23: -1.6M
Q2 '23: 2.6M
Q3 '23: 2.4M
Q4 '23: 4.3M
Q1 '24: -777K
Q2 '24: 778.9K
Q3 '24: 3.9M
Q4 '24: 1.3M
Q1 '25: 2.2M
Q2 '25: -2.2M
Q3 '25: 9.3M
Q4 '25: 2.6M
Q1 '26: 3.1M
Q2 '26: -485K
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Free Cash Flow Quarterly
-5M
-2.5M
0
2.5M
5M
7.5M
Q2 '16: 216.1K
Q3 '16: -938K
Q4 '16: 2.7M
Q1 '17: 837K
Q2 '17: -1.7M
Q3 '17: -4K
Q4 '17: 1.1M
Q1 '18: -1.3M
Q2 '18: 1.9M
Q3 '18: 3.4M
Q4 '18: -743K
Q1 '19: 1.4M
Q2 '19: -1.3M
Q3 '19: -542K
Q4 '19: -179K
Q1 '20: 587K
Q2 '20: -331K
Q3 '20: 3.2M
Q4 '20: 1.4M
Q1 '21: 3.9M
Q2 '21: 850K
Q3 '21: 1.6M
Q4 '21: -2.6M
Q1 '22: -1.4M
Q2 '22: -3.3M
Q3 '22: -2.4M
Q1 '23: -2.7M
Q2 '23: 827K
Q3 '23: 1.2M
Q4 '23: 3.4M
Q1 '24: -2.6M
Q2 '24: -1M
Q3 '24: 1.8M
Q4 '24: 623.1K
Q1 '25: 1.6M
Q2 '25: -2.8M
Q3 '25: 6.4M
Q4 '25: -1.4M
Q1 '26: 1.5M
Q2 '26: -2.4M
Q2 '17
Q3 '18
Q4 '19
Q1 '21
Q2 '22
Q4 '23
Q1 '25
Q2 '26
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
2M
4M
6M
Q2 '13: 4.8M
Q3 '13: 4.9M
Q1 '14: 4.9M
Q2 '14: 4.9M
Q3 '14: 4.9M
Q1 '15: 4.9M
Q2 '15: 4.9M
Q3 '15: 4.9M
Q1 '16: 4.9M
Q2 '16: 5M
Q3 '16: 5.1M
Q1 '17: 5.1M
Q2 '17: 5.1M
Q3 '17: 5.1M
Q1 '18: 5.1K
Q2 '18: 5.1K
Q3 '18: 5.1K
Q1 '19: 5.1K
Q2 '19: 5.1K
Q3 '19: 5.1K
Q1 '20: 5.2K
Q2 '20: 5.2M
Q3 '20: 5.2M
Q1 '21: 5.2M
Q2 '21: 5.2M
Q3 '21: 5.2M
Q1 '22: 5.2M
Q2 '22: 5.3M
Q3 '22: 5.3M
Q1 '23: 5.3M
Q2 '23: 5.3K
Q3 '23: 5.3M
Q1 '24: 5.3M
Q2 '24: 5.3M
Q3 '24: 5.3K
Q1 '25: 5.3M
Q2 '25: 5.3M
Q3 '25: 5.3K
Q1 '26: 5.3M
Q2 '26: 5.3M
Q3 '14
Q2 '16
Q1 '18
Q3 '19
Q2 '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.60
0.00
0.60
1.20
1.80
Q4 '11: -0.07
Q1 '12: -0.14
Q2 '12: -0.10
Q3 '12: 0.14
Q4 '12: 0.08
Q1 '13: 0.17
Q2 '13: 0.03
Q3 '13: -0.05
Q4 '13: 0.14
Q1 '14: 0.01
Q2 '14: 0.07
Q3 '14: 0.03
Q4 '14: -0.16
Q1 '15: -0.20
Q2 '15: -0.16
Q3 '15: 0.05
Q4 '15: 0.40
Q1 '17: 0.52
Q2 '17: 0.58
Q3 '17: 0.56
Q4 '17: 0.53
Q1 '21: 1.07
Q2 '21: 1.17
Q3 '21: 1.58
Q4 '21: 1.45
Q1 '22: 0.88
Q2 '22: 0.86
Q3 '22: 0.15
Q4 '22: 0.15
Q1 '23: 0.19
Q2 '24: 0.86
Q2 '12
Q2 '13
Q2 '14
Q2 '15
Q2 '17
Q2 '21
Q2 '22
Q2 '24
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.