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 TTM
0
6M
12M
18M
Q3 '15: 16.1M
Q4 '15: 14M
Q1 '16: 11.9M
Q2 '16: 9.9M
Q3 '16: 9.7M
Q4 '16: 10.8M
Q1 '17: 11.3M
Q2 '17: 12.9M
Q3 '17: 12.7M
Q4 '17: 13M
Q1 '18: 13.7M
Q2 '18: 13.8M
Q3 '18: 14M
Q4 '18: 13.5M
Q1 '19: 13.2M
Q2 '19: 12.6M
Q3 '19: 12.6M
Q4 '20: 11M
Q1 '21: 11.1M
Q2 '21: 11.8M
Q3 '21: 12.6M
Q4 '21: 13.9M
Q1 '22: 14.4M
Q2 '22: 14.4M
Q3 '22: 13.6M
Q4 '22: 12.7M
Q1 '23: 11.4M
Q2 '23: 10.4M
Q3 '23: 11M
Q4 '23: 10.9M
Q1 '24: 11.6M
Q2 '24: 12.3M
Q3 '24: 12.3M
Q4 '24: 12.2M
Q1 '25: 11.4M
Q2 '25: 10.9M
Q3 '25: 10.1M
Q4 '25: 10.5M
Q1 '26: 10.9M
Q2 '26: 11.2M
Q3 '16
Q4 '17
Q1 '19
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Gross Profit TTM
Nothing in this filer's XBRL supports this figure for the periods asked
for, so there is nothing to draw. That is a gap in the filing, not a zero.
Operating Income TTM
0
2.5M
5M
7.5M
Q3 '16: 2.9M
Q4 '16: 3.4M
Q1 '17: 3.5M
Q2 '17: 4.6M
Q3 '17: 4.8M
Q4 '17: 5.2M
Q1 '18: 5.8M
Q2 '18: 6M
Q3 '18: 6.1M
Q4 '18: 5.6M
Q1 '19: 5.4M
Q2 '19: 4.9M
Q3 '19: 4.6M
Q4 '19: 5.4M
Q1 '20: 5.5M
Q2 '20: 5.3M
Q3 '20: 4.8M
Q4 '20: 3.6M
Q1 '21: 3.9M
Q2 '21: 4.3M
Q3 '21: 4.8M
Q4 '21: 5.7M
Q1 '22: 5.6M
Q2 '22: 5.3M
Q3 '22: 4.7M
Q4 '22: 4M
Q1 '23: 3.4M
Q2 '23: 2.7M
Q3 '23: 2.7M
Q4 '23: 2.9M
Q1 '24: 3.1M
Q2 '24: 3.7M
Q3 '24: 3.9M
Q4 '24: 3.6M
Q1 '25: 3.2M
Q2 '25: 2.8M
Q3 '25: 2.1M
Q4 '25: 2.2M
Q1 '26: 2.3M
Q2 '26: 2.3M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Net Income TTM
0
2M
4M
6M
Q3 '16: 2.2M
Q4 '16: 2.6M
Q1 '17: 2.7M
Q2 '17: 3.4M
Q3 '17: 3.6M
Q4 '17: 3.8M
Q1 '18: 4.3M
Q2 '18: 4.6M
Q3 '18: 4.8M
Q4 '18: 4.4M
Q1 '19: 4.5M
Q2 '19: 4.2M
Q3 '19: 4M
Q4 '19: 4.8M
Q1 '20: 4.3M
Q2 '20: 4.4M
Q3 '20: 4.1M
Q4 '20: 3.3M
Q1 '21: 3.7M
Q2 '21: 3.9M
Q3 '21: 4.2M
Q4 '21: 4.7M
Q1 '22: 4.4M
Q2 '22: 3.7M
Q3 '22: 3M
Q4 '22: 2.6M
Q1 '23: 2.4M
Q2 '23: 2.2M
Q3 '23: 2.5M
Q4 '23: 2.6M
Q1 '24: 2.8M
Q2 '24: 3.2M
Q3 '24: 3.5M
Q4 '24: 3.3M
Q1 '25: 2.9M
Q2 '25: 2.6M
Q3 '25: 2M
Q4 '25: 2.1M
Q1 '26: 2.4M
Q2 '26: 2.5M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Cost of Revenue TTM
0
2.5M
5M
7.5M
Q3 '16: 4.3M
Q4 '16: 4.9M
Q1 '17: 5.2M
Q2 '17: 5.9M
Q3 '17: 5.4M
Q4 '17: 5.3M
Q1 '18: 5.5M
Q2 '18: 5.4M
Q3 '18: 5.4M
Q4 '18: 5.4M
Q1 '19: 5.3M
Q2 '19: 5.2M
Q3 '19: 5.4M
Q4 '19: 5.7M
Q1 '20: 5.8M
Q2 '20: 5.6M
Q3 '20: 5.1M
Q4 '20: 4.9M
Q1 '21: 4.8M
Q2 '21: 5.1M
Q3 '21: 5.4M
Q4 '21: 5.7M
Q1 '22: 6.1M
Q2 '22: 6.3M
Q3 '22: 6M
Q4 '22: 6M
Q1 '23: 5.4M
Q2 '23: 5.1M
Q3 '23: 5.8M
Q4 '23: 5.5M
Q1 '24: 5.9M
Q2 '24: 6.1M
Q3 '24: 5.7M
Q4 '24: 5.7M
Q1 '25: 5.3M
Q2 '25: 5.1M
Q3 '25: 5M
Q4 '25: 5.4M
Q1 '26: 5.7M
Q2 '26: 6M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Operating Cash Flow TTM
0
2M
4M
6M
Q3 '16: 2.8M
Q4 '16: 2.3M
Q1 '17: 2.4M
Q2 '17: 3.8M
Q3 '17: 3.8M
Q4 '17: 4M
Q1 '18: 4.8M
Q2 '18: 4.7M
Q3 '18: 4.7M
Q4 '18: 5M
Q1 '19: 4.8M
Q2 '19: 4.9M
Q3 '19: 4.7M
Q4 '19: 4.5M
Q1 '20: 4.2M
Q2 '20: 5M
Q3 '20: 3.8M
Q4 '20: 3.6M
Q1 '21: 3.3M
Q2 '21: 3M
Q3 '21: 4.3M
Q4 '21: 5.3M
Q1 '22: 4.4M
Q2 '22: 3.9M
Q3 '22: 3.6M
Q4 '22: 2.5M
Q1 '23: 2.9M
Q2 '23: 2.2M
Q3 '23: 2.6M
Q4 '23: 3.1M
Q1 '24: 3.4M
Q2 '24: 4.3M
Q3 '24: 4.3M
Q4 '24: 3.5M
Q1 '25: 3.1M
Q2 '25: 2.1M
Q3 '25: 1.9M
Q4 '25: 2M
Q1 '26: 2.2M
Q2 '26: 3.5M
Q3 '17
Q4 '18
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Free Cash Flow TTM
0
2M
4M
6M
Q3 '16: 2.6M
Q4 '16: 2.1M
Q1 '17: 2.3M
Q2 '17: 3.7M
Q3 '17: 3.8M
Q4 '17: 4M
Q1 '18: 4.7M
Q2 '18: 4.6M
Q3 '18: 4.6M
Q4 '18: 4.9M
Q1 '19: 4.8M
Q2 '19: 4.8M
Q3 '19: 4.6M
Q4 '19: 4.4M
Q1 '20: 4.1M
Q2 '20: 4.9M
Q3 '20: 3.7M
Q4 '20: 3.6M
Q1 '21: 3.2M
Q2 '21: 2.9M
Q3 '21: 4.2M
Q4 '21: 5.2M
Q1 '22: 4.3M
Q2 '22: 3.8M
Q3 '22: 3.5M
Q4 '22: 2.4M
Q1 '23: 2.8M
Q2 '23: 2.1M
Q3 '23: 2.6M
Q4 '23: 3M
Q1 '24: 3.2M
Q2 '24: 4M
Q3 '24: 4.1M
Q4 '24: 3M
Q1 '25: 2.7M
Q2 '25: 1.8M
Q3 '25: 1.6M
Q4 '25: 1.9M
Q1 '26: 2.2M
Q2 '26: 3.4M
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
Nothing in this filer's XBRL supports this figure for the periods asked
for, so there is nothing to draw. That is a gap in the filing, not a zero.
EPS TTM
0.00
0.40
0.80
1.20
Q3 '16: 0.49
Q4 '16: 0.56
Q1 '17: 0.59
Q2 '17: 0.74
Q3 '17: 0.78
Q4 '17: 0.84
Q1 '18: 0.93
Q2 '18: 0.99
Q3 '18: 1.04
Q4 '18: 0.95
Q1 '19: 0.99
Q2 '19: 0.92
Q3 '19: 0.86
Q4 '19: 1.04
Q1 '20: 0.94
Q2 '20: 0.97
Q3 '20: 0.90
Q4 '20: 0.72
Q1 '21: 0.81
Q2 '21: 0.84
Q3 '21: 0.90
Q4 '21: 1.01
Q1 '22: 0.95
Q2 '22: 0.80
Q3 '22: 0.65
Q4 '22: 0.56
Q1 '23: 0.52
Q2 '23: 0.48
Q3 '23: 0.55
Q4 '23: 0.56
Q1 '24: 0.60
Q2 '24: 0.71
Q3 '24: 0.76
Q4 '24: 0.71
Q1 '25: 0.63
Q2 '25: 0.56
Q3 '25: 0.43
Q4 '25: 0.46
Q1 '26: 0.52
Q2 '26: 0.54
Q3 '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.