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
25M
50M
75M
Q1 '17: 32.1M
Q2 '17: 31.7M
Q3 '17: 28.8M
Q4 '17: 26.3M
Q1 '18: 28.7M
Q2 '18: 27.1M
Q3 '18: 24.5M
Q4 '18: 23M
Q1 '19: 24.6M
Q2 '19: 23.2M
Q3 '19: 22.7M
Q4 '19: 23.2M
Q1 '20: 25.4M
Q2 '20: 25M
Q3 '20: 26M
Q4 '20: 25.6M
Q1 '21: 29.4M
Q2 '21: 29.2M
Q3 '21: 29.6M
Q4 '21: 31M
Q1 '22: 34.1M
Q2 '22: 33.5M
Q3 '22: 38.1M
Q4 '22: 35.8M
Q1 '23: 37.9M
Q2 '23: 39.2M
Q3 '23: 40.9M
Q4 '23: 42.1M
Q1 '24: 44.6M
Q2 '24: 49.2M
Q3 '24: 46.1M
Q4 '24: 46.9M
Q1 '25: 46.1M
Q2 '25: 53.9M
Q3 '25: 57.1M
Q4 '25: 55.4M
Q1 '26: 63M
Q2 '26: 66.9M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Gross Profit Quarterly
0
6M
12M
18M
Q3 '16: 8M
Q4 '16: 8.6M
Q1 '17: 8.5M
Q2 '17: 9.3M
Q3 '17: 7.8M
Q4 '17: 5.1M
Q1 '18: 8M
Q2 '18: 6.9M
Q3 '18: 5.8M
Q4 '18: 5.1M
Q1 '19: 6.3M
Q2 '19: 5.6M
Q3 '19: 5.2M
Q4 '19: 5.1M
Q1 '20: 6M
Q2 '20: 6.9M
Q3 '20: 7.6M
Q4 '20: 6.4M
Q1 '21: 8M
Q2 '21: 7.7M
Q3 '21: 7M
Q4 '21: 6M
Q1 '22: 5.6M
Q2 '22: 5.7M
Q3 '22: 7.6M
Q4 '22: 7.9M
Q1 '23: 8.2M
Q2 '23: 11.3M
Q3 '23: 11.1M
Q4 '23: 11.8M
Q1 '24: 11.5M
Q2 '24: 13.3M
Q3 '24: 11.9M
Q4 '24: 11.9M
Q1 '25: 11M
Q2 '25: 15.4M
Q3 '25: 16.4M
Q4 '25: 15.4M
Q1 '26: 17.4M
Q2 '26: 13M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Income Quarterly
-5M
-2.5M
0
2.5M
5M
7.5M
Q2 '16: 3M
Q3 '16: 189K
Q4 '16: 1.2M
Q1 '17: 266K
Q2 '17: 1.9M
Q3 '17: 514K
Q1 '18: 151K
Q2 '18: 333K
Q3 '18: -599K
Q4 '18: -3M
Q1 '19: -401K
Q2 '19: -66K
Q3 '19: -255K
Q4 '19: -1.2M
Q1 '20: 238K
Q2 '20: 1.4M
Q3 '20: 2.6M
Q4 '20: 630K
Q1 '21: 1.9M
Q2 '21: 2.5M
Q3 '21: 1M
Q4 '21: 406K
Q1 '22: -1M
Q2 '22: 241K
Q3 '22: 1.2M
Q4 '22: 2M
Q1 '23: 1.4M
Q2 '23: 4.8M
Q3 '23: 5M
Q4 '23: 5.8M
Q1 '24: 3.6M
Q2 '24: 5.4M
Q3 '24: 4.2M
Q4 '24: 713K
Q1 '25: 1.6M
Q2 '25: 5.8M
Q3 '25: 5M
Q4 '25: 3.8M
Q1 '26: 6.3M
Q2 '26: 600K
Q2 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Net Income Quarterly
-4M
-2M
0
2M
4M
6M
Q1 '16: 955K
Q2 '16: 2.1M
Q3 '16: -64K
Q4 '16: 481K
Q1 '17: 124K
Q2 '17: 1M
Q3 '17: 243K
Q1 '18: 70K
Q2 '18: 170K
Q3 '18: -514K
Q4 '18: -2.8M
Q1 '19: -388K
Q2 '19: -141K
Q3 '19: -72K
Q1 '20: 146K
Q2 '20: 980K
Q3 '20: 1.8M
Q4 '20: 280K
Q1 '21: 1.3M
Q2 '21: 1.6M
Q3 '21: 480K
Q4 '21: -93K
Q1 '22: -895K
Q2 '22: 120K
Q3 '22: 983K
Q4 '22: 716K
Q1 '23: 830K
Q2 '23: 3.2M
Q3 '23: 3.4M
Q4 '23: 4M
Q1 '24: 2.4M
Q2 '24: 3.8M
Q3 '24: 3M
Q4 '24: -160K
Q1 '25: 3.5M
Q2 '25: 4.2M
Q3 '25: 3.5M
Q4 '25: 2.5M
Q1 '26: 4.7M
Q2 '26: 127K
Q1 '17
Q3 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Cost of Revenue Quarterly
0
20M
40M
60M
Q1 '17: 23.7M
Q2 '17: 22.5M
Q3 '17: 20.9M
Q4 '17: 21.1M
Q1 '18: 20.7M
Q2 '18: 20.2M
Q3 '18: 18.6M
Q4 '18: 17.9M
Q1 '19: 18.3M
Q2 '19: 17.6M
Q3 '19: 17.6M
Q4 '19: 18.1M
Q1 '20: 18.6M
Q2 '20: 17.3M
Q3 '20: 17.7M
Q4 '20: 18.4M
Q1 '21: 20.5M
Q2 '21: 20.8M
Q3 '21: 21.9M
Q4 '21: 24.3M
Q1 '22: 27.9M
Q2 '22: 27.2M
Q3 '22: 30M
Q4 '22: 27.3M
Q1 '23: 29M
Q2 '23: 27.3M
Q3 '23: 29.1M
Q4 '23: 29.6M
Q1 '24: 32.4M
Q2 '24: 35.2M
Q3 '24: 33.5M
Q4 '24: 34.3M
Q1 '25: 34.3M
Q2 '25: 37.7M
Q3 '25: 39.8M
Q4 '25: 39.1M
Q1 '26: 44.7M
Q2 '26: 52.9M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Cash Flow Quarterly
-3M
0
3M
6M
9M
Q4 '15: 2.4M
Q1 '16: -1M
Q2 '16: 2.9M
Q3 '16: 2.7M
Q4 '16: 591K
Q1 '17: 2.2M
Q2 '17: 1.1M
Q3 '17: 866K
Q1 '18: 853K
Q2 '18: 1.3M
Q3 '18: 237K
Q4 '18: 71K
Q1 '19: 1.2M
Q2 '19: 826K
Q3 '19: 2.9M
Q1 '20: -1.1M
Q2 '20: 3M
Q3 '20: 3.4M
Q4 '20: 1M
Q1 '21: 1.2M
Q2 '21: 2.4M
Q3 '21: 2.2M
Q4 '21: -291K
Q1 '22: -648K
Q2 '22: 119K
Q3 '22: 4.2M
Q4 '22: 348K
Q1 '23: 3M
Q2 '23: 2.4M
Q3 '23: 6.7M
Q4 '23: 4.8M
Q1 '24: 1.5M
Q2 '24: 6.5M
Q3 '24: 7.5M
Q1 '25: -150K
Q2 '25: 3.9M
Q3 '25: 6.9M
Q4 '25: 267K
Q1 '26: 4.4M
Q2 '26: -339K
Q4 '16
Q2 '18
Q3 '19
Q1 '21
Q2 '22
Q3 '23
Q1 '25
Q2 '26
Free Cash Flow Quarterly
-18M
-12M
-6M
0
6M
12M
18M
Q4 '15: 2M
Q1 '16: -1.4M
Q2 '16: 1.8M
Q3 '16: 1.6M
Q4 '16: -165K
Q1 '17: 1.2M
Q2 '17: -249K
Q3 '17: -666K
Q1 '18: -26K
Q2 '18: 111K
Q3 '18: -320K
Q4 '18: -172K
Q1 '19: 1M
Q2 '19: 673K
Q3 '19: 2.6M
Q1 '20: -1.5M
Q2 '20: 2.6M
Q3 '20: 3M
Q4 '20: 310K
Q1 '21: 692K
Q2 '21: 1.8M
Q3 '21: 1.7M
Q4 '21: -528K
Q1 '22: -996K
Q2 '22: -1.2M
Q3 '22: 3.3M
Q4 '22: -492K
Q1 '23: 1.3M
Q2 '23: 2.2M
Q3 '23: 5.5M
Q4 '23: 3.6M
Q1 '24: -923K
Q2 '24: 5.1M
Q3 '24: 5.9M
Q1 '25: -2.4M
Q2 '25: 1.6M
Q3 '25: 1.8M
Q4 '25: -17.4M
Q1 '26: -6.7M
Q2 '26: -8.8M
Q4 '16
Q2 '18
Q3 '19
Q1 '21
Q2 '22
Q3 '23
Q1 '25
Q2 '26
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
6M
12M
18M
Q3 '15: 16.3K
Q1 '16: 16.2M
Q2 '16: 16.1M
Q3 '16: 16.2M
Q1 '17: 16.2M
Q2 '17: 16.2M
Q3 '17: 16.2M
Q1 '18: 16M
Q2 '18: 16M
Q3 '18: 16.3M
Q1 '19: 15.8M
Q2 '19: 15.8M
Q3 '19: 15.7M
Q1 '20: 15.7M
Q2 '20: 15.6M
Q3 '20: 15.6M
Q1 '21: 15.8M
Q2 '21: 15.8M
Q3 '21: 15.7M
Q1 '22: 15.4M
Q2 '22: 15.9M
Q3 '22: 15.8M
Q1 '23: 15M
Q2 '23: 15.1M
Q3 '23: 15.1M
Q1 '24: 15.2M
Q2 '24: 15.2M
Q3 '24: 15.3M
Q1 '25: 15.3M
Q2 '25: 15.4M
Q3 '25: 15.4M
Q1 '26: 15.6M
Q2 '26: 15.3M
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.35
0.00
0.35
0.70
1.05
Q3 '11: 0.19
Q4 '12: 0.35
Q1 '13: 0.42
Q2 '13: 0.38
Q3 '13: 0.39
Q4 '14: 0.12
Q1 '15: 0.14
Q2 '15: 0.11
Q3 '16: 0.21
Q4 '16: 0.22
Q1 '17: 0.17
Q2 '17: 0.10
Q3 '17: 0.12
Q4 '18: -0.19
Q1 '19: -0.21
Q2 '19: -0.23
Q3 '19: -0.20
Q4 '20: 0.21
Q1 '21: 0.28
Q2 '21: 0.32
Q3 '21: 0.23
Q4 '21: 0.20
Q1 '22: 0.06
Q2 '22: -0.03
Q3 '22: -0.00
Q4 '22: 0.06
Q1 '23: 0.18
Q2 '23: 0.38
Q3 '23: 0.55
Q4 '23: 0.76
Q1 '24: 0.86
Q2 '24: 0.90
Q3 '24: 0.86
Q4 '24: 0.60
Q1 '25: 0.67
Q2 '25: 0.70
Q3 '25: 0.74
Q4 '25: 0.89
Q1 '26: 0.96
Q2 '26: 0.69
Q3 '13
Q4 '16
Q1 '19
Q2 '21
Q3 '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.