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
Q4 '16: 32.4M
Q1 '17: 33.1M
Q2 '17: 35.1M
Q3 '17: 39.2M
Q3 '17: 39.2M
Q4 '17: 40.5M
Q1 '18: 43.3M
Q2 '18: 44.9M
Q3 '18: 44.3M
Q4 '18: 44.6M
Q1 '19: 45.2M
Q2 '19: 48.5M
Q3 '19: 49.5M
Q4 '19: 50.4M
Q1 '20: 50.4M
Q2 '20: 47.6M
Q3 '20: 47.4M
Q4 '20: 48.7M
Q1 '21: 49.8M
Q2 '21: 53.7M
Q3 '21: 59.5M
Q4 '21: 59M
Q1 '22: 59.8M
Q2 '22: 62.1M
Q3 '22: 63.1M
Q4 '22: 57.2M
Q1 '23: 55.1M
Q2 '23: 52.2M
Q3 '23: 47.8M
Q4 '23: 46.1M
Q1 '24: 46.8M
Q2 '24: 49.5M
Q3 '24: 51.8M
Q4 '24: 50.7M
Q1 '25: 48.3M
Q2 '25: 49.1M
Q3 '25: 48.5M
Q4 '25: 45.5M
Q1 '26: 41.1M
Q2 '26: 41.4M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Gross Profit Quarterly
0
6M
12M
18M
Q4 '16: 6.4M
Q1 '17: 6.2M
Q2 '17: 7.1M
Q3 '17: 8.8M
Q3 '17: 8.8M
Q4 '17: 9.5M
Q1 '18: 10.3M
Q2 '18: 10.9M
Q3 '18: 10.7M
Q4 '18: 10.7M
Q1 '19: 10.8M
Q2 '19: 12.1M
Q3 '19: 12.3M
Q4 '19: 12.8M
Q1 '20: 12.7M
Q2 '20: 12.7M
Q3 '20: 13.1M
Q4 '20: 13.1M
Q1 '21: 12.8M
Q2 '21: 14.3M
Q3 '21: 16.6M
Q4 '21: 15.7M
Q1 '22: 15.9M
Q2 '22: 16.7M
Q3 '22: 16.3M
Q4 '22: 14.2M
Q1 '23: 13.5M
Q2 '23: 13.6M
Q3 '23: 12.6M
Q4 '23: 11.3M
Q1 '24: 12.1M
Q2 '24: 14M
Q3 '24: 14.8M
Q4 '24: 14.7M
Q1 '25: 12.9M
Q2 '25: 13.8M
Q3 '25: 13.5M
Q4 '25: 12.9M
Q1 '26: 11M
Q2 '26: 12M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Income Quarterly
-9M
-6M
-3M
0
3M
6M
9M
Q4 '16: 1.1M
Q1 '17: 403K
Q2 '17: 982K
Q3 '17: 215K
Q3 '17: 215K
Q4 '17: 2.5M
Q1 '18: 2.4M
Q2 '18: 4.5M
Q3 '18: 2.5M
Q4 '18: 2.2M
Q1 '19: 1.9M
Q2 '19: 8.6M
Q3 '19: 3.1M
Q4 '19: 3.5M
Q1 '20: 2.5M
Q2 '20: 3.6M
Q3 '20: 4.2M
Q4 '20: 3.1M
Q1 '21: 1.9M
Q2 '21: 5.3M
Q3 '21: 5M
Q4 '21: 5.5M
Q1 '22: 3.3M
Q2 '22: 3.5M
Q3 '22: 3.4M
Q4 '22: 2M
Q1 '23: 532K
Q2 '23: -2.8M
Q3 '23: -49K
Q4 '23: -6.9M
Q1 '24: -406K
Q2 '24: 1.7M
Q3 '24: 2.4M
Q4 '24: 65K
Q1 '25: -1.9M
Q2 '25: 27K
Q3 '25: 820K
Q4 '25: 1M
Q1 '26: 51K
Q2 '26: -325K
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Net Income Quarterly
-7.5M
-5M
-2.5M
0
2.5M
5M
7.5M
Q4 '16: 640K
Q1 '17: 201K
Q2 '17: 696K
Q3 '17: -136K
Q3 '17: -136K
Q4 '17: 865K
Q1 '18: 1.4M
Q2 '18: 2.8M
Q3 '18: 1.6M
Q4 '18: 874K
Q1 '19: 964K
Q2 '19: 6M
Q3 '19: 1.9M
Q4 '19: 2.3M
Q1 '20: 1.9M
Q2 '20: 3M
Q3 '20: 3M
Q4 '20: 2M
Q1 '21: 1.2M
Q2 '21: 3.7M
Q3 '21: 3.4M
Q4 '21: 3.9M
Q1 '22: 2.3M
Q2 '22: 2.4M
Q3 '22: 2.4M
Q4 '22: 1.5M
Q1 '23: 261K
Q2 '23: -2.2M
Q3 '23: 125K
Q4 '23: -5.4M
Q1 '24: -161K
Q2 '24: 1.4M
Q3 '24: 1.9M
Q4 '24: 297K
Q1 '25: -1.4M
Q2 '25: 135K
Q3 '25: 941K
Q4 '25: 972K
Q1 '26: 264K
Q2 '26: -100K
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Cost of Revenue Quarterly
0
20M
40M
60M
Q4 '16: 26M
Q1 '17: 26.9M
Q2 '17: 28M
Q3 '17: 30.4M
Q3 '17: 30.4M
Q4 '17: 30.9M
Q1 '18: 33.1M
Q2 '18: 34M
Q3 '18: 33.6M
Q4 '18: 34M
Q1 '19: 34.4M
Q2 '19: 36.4M
Q3 '19: 37.2M
Q4 '19: 37.6M
Q1 '20: 37.7M
Q2 '20: 34.9M
Q3 '20: 34.3M
Q4 '20: 35.6M
Q1 '21: 37M
Q2 '21: 39.3M
Q3 '21: 42.9M
Q4 '21: 43.3M
Q1 '22: 43.8M
Q2 '22: 45.4M
Q3 '22: 46.9M
Q4 '22: 43M
Q1 '23: 41.6M
Q2 '23: 38.6M
Q3 '23: 35.2M
Q4 '23: 34.7M
Q1 '24: 34.7M
Q2 '24: 35.6M
Q3 '24: 37.1M
Q4 '24: 36M
Q1 '25: 35.4M
Q2 '25: 35.3M
Q3 '25: 35M
Q4 '25: 32.6M
Q1 '26: 30.1M
Q2 '26: 29.4M
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: -2.5M
Q4 '16: 6M
Q1 '17: -3.3M
Q2 '17: 3.8M
Q3 '17: -2.1M
Q4 '17: 4.9M
Q1 '18: -2M
Q2 '18: 1.4M
Q3 '18: -2.7M
Q4 '18: 2.8M
Q1 '19: 1.1M
Q2 '19: 7.6M
Q3 '19: 4.3M
Q4 '19: 3M
Q1 '20: 2.8M
Q2 '20: 8.8M
Q3 '20: 5.4M
Q4 '20: 4.3M
Q1 '21: 774K
Q2 '21: -596K
Q3 '21: 1.7M
Q4 '21: 3.3M
Q1 '22: 1.6M
Q2 '22: 374K
Q3 '22: 5.8M
Q4 '22: 4.9M
Q1 '23: 3.1M
Q2 '23: 10M
Q3 '23: -2.6M
Q4 '23: 5.4M
Q1 '24: -1.3M
Q2 '24: 1.2M
Q3 '24: 3.3M
Q4 '24: 4M
Q1 '25: -2.9M
Q2 '25: 3.3M
Q3 '25: 6.4M
Q4 '25: 4.4M
Q1 '26: -3.2M
Q2 '26: 2.2M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Free Cash Flow Quarterly
-3.5M
0
3.5M
7M
10.5M
Q3 '16: -2.5M
Q4 '16: 6M
Q1 '17: -3.3M
Q2 '17: 3.4M
Q3 '17: -2.6M
Q4 '17: 4.7M
Q1 '18: -2.1M
Q2 '18: 1.1M
Q3 '18: -2.8M
Q4 '18: 2.6M
Q1 '19: 724K
Q2 '19: 7.4M
Q3 '19: 4M
Q4 '19: 2.9M
Q1 '20: 2.7M
Q2 '20: 8.7M
Q3 '20: 5.3M
Q4 '20: 4.3M
Q1 '21: 646K
Q2 '21: -794K
Q3 '21: 1.2M
Q4 '21: 2.3M
Q1 '22: 833K
Q2 '22: 307K
Q3 '22: 5.8M
Q4 '22: 4.9M
Q1 '23: 3M
Q2 '23: 10M
Q3 '23: -2.7M
Q4 '23: 5.3M
Q1 '24: -1.6M
Q2 '24: 707K
Q3 '24: 3.2M
Q4 '24: 3.9M
Q1 '25: -3M
Q2 '25: 3.2M
Q3 '25: 6.2M
Q4 '25: 4.3M
Q1 '26: -3.2M
Q2 '26: 2.2M
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
5M
10M
15M
Q3 '13: 4.3M
Q1 '14: 4.4M
Q2 '14: 4.5M
Q2 '14: 4.5M
Q3 '14: 4.5M
Q1 '15: 4.4M
Q2 '15: 4.4M
Q3 '15: 4.4M
Q1 '16: 4.5M
Q2 '16: 4.5M
Q3 '16: 4.5M
Q1 '17: 4.6M
Q2 '17: 4.6M
Q3 '17: 10.7M
Q1 '18: 11.1M
Q2 '18: 11.1M
Q3 '18: 11.2M
Q1 '19: 11.2M
Q2 '19: 11.2M
Q3 '19: 11.2M
Q1 '20: 11.7M
Q2 '20: 11.9M
Q3 '20: 12M
Q1 '21: 12M
Q2 '21: 12M
Q3 '21: 12M
Q1 '22: 12M
Q2 '22: 12.1M
Q3 '22: 12.1M
Q1 '23: 12.1M
Q2 '23: 11.6M
Q3 '23: 12M
Q1 '24: 11.6M
Q2 '24: 11.9M
Q3 '24: 12M
Q1 '25: 11.8M
Q2 '25: 12M
Q3 '25: 11.9M
Q1 '26: 11.9M
Q2 '26: 12M
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.80
-0.40
0.00
0.40
0.80
1.20
Q1 '16: 0.58
Q2 '16: 0.70
Q3 '16: 0.71
Q4 '16: 0.56
Q1 '17: 0.60
Q2 '17: 0.54
Q3 '17: 0.32
Q2 '18: 0.44
Q3 '18: 0.59
Q4 '18: 0.59
Q1 '19: 0.56
Q2 '19: 0.84
Q3 '19: 0.87
Q4 '19: 0.99
Q1 '20: 1.06
Q2 '20: 0.78
Q3 '20: 0.86
Q4 '20: 0.83
Q1 '21: 0.77
Q2 '21: 0.83
Q3 '21: 0.86
Q4 '21: 1.02
Q1 '22: 1.11
Q2 '22: 1.00
Q3 '22: 0.92
Q4 '22: 0.72
Q1 '23: 0.55
Q2 '23: 0.16
Q3 '23: -0.03
Q4 '23: -0.62
Q1 '24: -0.65
Q2 '24: -0.34
Q3 '24: -0.19
Q4 '24: 0.29
Q1 '25: 0.18
Q2 '25: 0.07
Q3 '25: -0.01
Q4 '25: 0.05
Q1 '26: 0.19
Q2 '26: 0.17
Q1 '17
Q4 '18
Q1 '20
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.