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
Q1 '17: 10.8M
Q2 '17: 11.3M
Q3 '17: 12M
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
Q1 '17
Q3 '18
Q1 '20
Q4 '20
Q1 '22
Q2 '23
Q4 '24
Q2 '26
Gross Profit Quarterly
0
6M
12M
18M
Q1 '10: 5M
Q2 '10: 4.2M
Q3 '10: 3.8M
Q4 '10: 3.4M
Q1 '11: 3.3M
Q2 '11: 3.9M
Q3 '11: 3.7M
Q4 '11: 3.2M
Q1 '12: 3.4M
Q2 '12: 3.9M
Q3 '12: 3.8M
Q4 '12: 3.4M
Q1 '13: 3.7M
Q2 '13: 4.1M
Q3 '13: 4.6M
Q4 '13: 3.9M
Q1 '14: 3.6M
Q2 '14: 4.5M
Q3 '14: 4.9M
Q4 '14: 4.4M
Q1 '15: 3.8M
Q2 '15: 3.9M
Q3 '15: 4.8M
Q4 '15: 3.4M
Q1 '16: 4.2M
Q2 '16: 4.5M
Q3 '16: 4.5M
Q4 '16: 3.7M
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 '11
Q2 '13
Q3 '15
Q4 '17
Q1 '20
Q1 '22
Q1 '24
Q2 '26
Operating Income Quarterly
-4M
0
4M
8M
12M
Q2 '10: 485K
Q3 '10: 226K
Q4 '10: 31K
Q1 '11: -352K
Q2 '11: 369K
Q3 '11: 487K
Q4 '11: 401K
Q1 '12: -41K
Q2 '12: 419K
Q3 '12: 556K
Q4 '12: -117K
Q1 '13: -30K
Q2 '13: 699K
Q3 '13: 1.2M
Q4 '13: 515K
Q1 '14: 51K
Q2 '14: 1M
Q3 '14: 1.4M
Q4 '14: 733K
Q1 '15: 77K
Q2 '15: 246K
Q3 '15: 718K
Q4 '15: 435K
Q1 '16: 634K
Q2 '16: 1.1M
Q3 '16: 1.2M
Q4 '16: 745K
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 '11
Q2 '13
Q3 '15
Q4 '17
Q1 '20
Q1 '22
Q1 '24
Q2 '26
Net Income Quarterly
-3M
0
3M
6M
9M
Q1 '10: 686K
Q2 '10: 372K
Q3 '10: 194K
Q4 '10: 49K
Q1 '11: -112K
Q2 '11: 304K
Q3 '11: 386K
Q4 '11: 355K
Q1 '12: 70K
Q2 '12: 374K
Q3 '12: 414K
Q4 '12: 118K
Q1 '13: 15K
Q2 '13: 474K
Q3 '13: 905K
Q4 '13: 684K
Q1 '14: 269K
Q2 '14: 895K
Q3 '14: 966K
Q4 '14: 612K
Q1 '15: 148K
Q2 '15: 288K
Q3 '15: 306K
Q4 '15: 300K
Q1 '16: 507K
Q2 '16: 797K
Q3 '16: 1M
Q4 '16: 845K
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 '11
Q2 '13
Q3 '15
Q4 '17
Q1 '20
Q1 '22
Q1 '24
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 '10: 2.3M
Q1 '11: -2.7M
Q2 '11: 3.8M
Q3 '11: 1.7M
Q4 '11: 1M
Q1 '12: -1.5M
Q2 '12: 2.1M
Q3 '12: -1.4M
Q4 '12: -247K
Q1 '13: -322K
Q2 '13: 3.5M
Q3 '13: 2.1M
Q4 '13: 744K
Q1 '14: -2.7M
Q2 '14: 1.8M
Q3 '14: 1.8M
Q4 '14: -1.9M
Q1 '15: -4M
Q2 '15: 2.8M
Q3 '15: 3.3M
Q4 '15: 3.9M
Q1 '16: -659K
Q2 '16: 3.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
Q2 '12
Q2 '14
Q2 '16
Q2 '18
Q2 '20
Q2 '22
Q2 '24
Q2 '26
Free Cash Flow Quarterly
-7M
-3.5M
0
3.5M
7M
10.5M
Q3 '10: 1.8M
Q1 '11: -2.7M
Q2 '11: 3.7M
Q3 '11: 1.5M
Q4 '11: 973K
Q1 '12: -1.8M
Q2 '12: 2.1M
Q3 '12: -1.5M
Q4 '12: -285K
Q1 '13: -393K
Q2 '13: 3.5M
Q3 '13: 2M
Q4 '13: 679K
Q1 '14: -2.7M
Q2 '14: 1M
Q3 '14: 1.7M
Q4 '14: -1.9M
Q1 '15: -4.1M
Q2 '15: 2.8M
Q3 '15: 3.2M
Q4 '15: 3.8M
Q1 '16: -714K
Q2 '16: 3.4M
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
Q2 '12
Q2 '14
Q2 '16
Q2 '18
Q2 '20
Q2 '22
Q2 '24
Q2 '26
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
8M
16M
24M
Q2 '10: 22.9M
Q3 '10: 22.4M
Q1 '11: 22.4M
Q2 '11: 22.4M
Q3 '11: 22.1M
Q1 '12: 21M
Q2 '12: 20.9M
Q3 '12: 20.7M
Q1 '13: 19.7M
Q2 '13: 19.4M
Q3 '13: 19M
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
Q3 '10
Q1 '13
Q2 '15
Q3 '17
Q1 '20
Q1 '22
Q1 '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
Q4 '10: 0.06
Q1 '11: 0.03
Q2 '11: 0.02
Q3 '11: 0.03
Q4 '11: 0.04
Q1 '12: 0.04
Q2 '12: 0.05
Q3 '12: 0.05
Q4 '12: 0.05
Q1 '13: 0.05
Q2 '13: 0.05
Q3 '13: 0.08
Q4 '13: 0.11
Q1 '14: 0.12
Q2 '14: 0.15
Q3 '14: 0.15
Q4 '14: 0.15
Q1 '15: 0.15
Q2 '15: 0.12
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
Q2 '11
Q2 '13
Q2 '15
Q2 '17
Q2 '19
Q4 '21
Q2 '24
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.