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
1.5M
3M
4.5M
Q1 '15: 2.3M
Q2 '15: 2.8M
Q3 '15: 2.6M
Q4 '15: 2.8M
Q1 '16: 2.8M
Q2 '16: 3.1M
Q3 '16: 3.2M
Q4 '16: 2.8M
Q1 '17: 2.9M
Q2 '17: 3.3M
Q3 '17: 2.6M
Q4 '17: 2.4M
Q1 '18: 2.6M
Q2 '18: 2.7M
Q3 '18: 1.9M
Q3 '19: 2.2M
Q4 '19: 1.7M
Q1 '20: 1.7M
Q2 '20: 1.7M
Q3 '20: 1.5M
Q4 '20: 1.9M
Q1 '21: 1.6M
Q2 '21: 2.1M
Q3 '21: 2.2M
Q4 '21: 1.6M
Q1 '22: 2M
Q2 '22: 2M
Q3 '22: 1.9M
Q4 '22: 1.6M
Q1 '23: 3.3M
Q2 '23: 4M
Q3 '23: 3.1M
Q4 '23: 3.5M
Q1 '24: 3.1M
Q2 '24: 2.9M
Q3 '24: 2.7M
Q4 '24: 3M
Q1 '25: 2.7M
Q2 '25: 3.4M
Q3 '25: 3M
Q4 '25: 2.9M
Q1 '26: 3.1M
Q2 '26: 3.8M
Q1 '15
Q3 '16
Q1 '18
Q2 '20
Q4 '21
Q2 '23
Q4 '24
Q2 '26
Gross Profit Quarterly
0
800K
1.6M
2.4M
Q1 '15: 1.1M
Q2 '15: 1.5M
Q3 '15: 1.5M
Q4 '15: 1.5M
Q1 '16: 1.7M
Q2 '16: 1.8M
Q3 '16: 1.9M
Q4 '16: 1.5M
Q1 '17: 1.7M
Q2 '17: 2.1M
Q3 '17: 1.7M
Q4 '17: 1.4M
Q1 '18: 1.4M
Q2 '18: 1.5M
Q3 '18: 1M
Q3 '19: 1.1M
Q4 '19: 476K
Q1 '20: 959K
Q2 '20: 998K
Q3 '20: 811K
Q4 '20: 1.1M
Q1 '21: 874K
Q2 '21: 1.1M
Q3 '21: 1.3M
Q4 '21: 765K
Q1 '22: 1.2M
Q2 '22: 952K
Q3 '22: 872K
Q4 '22: 796K
Q1 '23: 1.6M
Q2 '23: 2.1M
Q3 '23: 1.5M
Q4 '23: 1.5M
Q1 '24: 1.3M
Q2 '24: 1.3M
Q3 '24: 1.1M
Q4 '24: 1.2M
Q1 '25: 949K
Q2 '25: 1.5M
Q3 '25: 1.2M
Q4 '25: 905K
Q1 '26: 1.3M
Q2 '26: 1.7M
Q1 '15
Q3 '16
Q1 '18
Q2 '20
Q4 '21
Q2 '23
Q4 '24
Q2 '26
Operating Income Quarterly
-1.1M
-700K
-350K
0
350K
700K
1.1M
Q1 '15: 251K
Q2 '15: 451K
Q3 '15: 476K
Q4 '15: 504K
Q1 '16: 618K
Q2 '16: 914K
Q3 '16: 937K
Q4 '16: 378K
Q1 '17: 531K
Q2 '17: 839K
Q3 '17: 532K
Q4 '17: 237K
Q1 '18: 219K
Q2 '18: 430K
Q3 '18: 103K
Q3 '19: 203K
Q1 '20: -72K
Q2 '20: 41K
Q3 '20: -79K
Q4 '20: 220K
Q1 '21: -60K
Q2 '21: 133K
Q3 '21: 259K
Q4 '21: -411K
Q1 '22: 18K
Q2 '22: -151K
Q3 '22: -190K
Q4 '22: -345K
Q1 '23: -173K
Q2 '23: 406K
Q3 '23: -92K
Q4 '23: -580K
Q1 '24: -751K
Q2 '24: -313K
Q3 '24: -476K
Q4 '24: -510K
Q1 '25: -849K
Q2 '25: 66K
Q3 '25: -313K
Q4 '25: -733K
Q1 '26: -450K
Q2 '26: 246K
Q2 '16
Q4 '17
Q2 '20
Q4 '21
Q2 '23
Q4 '24
Q2 '26
Net Income Quarterly
-1M
-500K
0
500K
1M
1.5M
Q1 '15: 274K
Q2 '15: 481K
Q3 '15: 458K
Q4 '15: 518K
Q1 '16: 606K
Q2 '16: 749K
Q3 '16: 614K
Q4 '16: 924K
Q1 '17: 364K
Q2 '17: 549K
Q3 '17: 352K
Q4 '17: -5K
Q1 '18: 118K
Q2 '18: 359K
Q3 '18: 99K
Q3 '19: 111K
Q4 '19: -363K
Q1 '20: -18K
Q2 '20: 13K
Q3 '20: 65K
Q4 '20: 53K
Q1 '21: -43K
Q2 '21: 63K
Q3 '21: 223K
Q4 '21: -977K
Q1 '22: 142K
Q2 '22: 112K
Q3 '22: 6K
Q4 '22: 1.4M
Q1 '23: -191K
Q2 '23: 381K
Q3 '23: -125K
Q4 '23: -448K
Q1 '24: -741K
Q2 '24: -307K
Q3 '24: -523K
Q4 '24: -413K
Q1 '25: -805K
Q2 '25: 100K
Q3 '25: -336K
Q4 '25: -574K
Q1 '26: -338K
Q2 '26: 248K
Q1 '15
Q3 '16
Q1 '18
Q2 '20
Q4 '21
Q2 '23
Q4 '24
Q2 '26
Cost of Revenue Quarterly
0
800K
1.6M
2.4M
Q1 '15: 1.1M
Q2 '15: 1.4M
Q3 '15: 1.1M
Q4 '15: 1.2M
Q1 '16: 1.1M
Q2 '16: 1.2M
Q3 '16: 1.3M
Q4 '16: 1.2M
Q1 '17: 1.1M
Q2 '17: 1.2M
Q3 '17: 992K
Q4 '17: 954K
Q1 '18: 1.2M
Q2 '18: 1.1M
Q3 '18: 872K
Q3 '19: 1.1M
Q4 '19: 1.2M
Q1 '20: 732K
Q2 '20: 704K
Q3 '20: 737K
Q4 '20: 813K
Q1 '21: 694K
Q2 '21: 937K
Q3 '21: 931K
Q4 '21: 858K
Q1 '22: 750K
Q2 '22: 1.1M
Q3 '22: 979K
Q4 '22: 815K
Q1 '23: 1.7M
Q2 '23: 2M
Q3 '23: 1.6M
Q4 '23: 2.1M
Q1 '24: 1.9M
Q2 '24: 1.6M
Q3 '24: 1.6M
Q4 '24: 1.8M
Q1 '25: 1.7M
Q2 '25: 1.9M
Q3 '25: 1.7M
Q4 '25: 1.9M
Q1 '26: 1.7M
Q2 '26: 2.1M
Q1 '15
Q3 '16
Q1 '18
Q2 '20
Q4 '21
Q2 '23
Q4 '24
Q2 '26
Operating Cash Flow Quarterly
-700K
-350K
0
350K
700K
1.1M
Q1 '15: 280K
Q2 '15: 263K
Q3 '15: 774K
Q4 '15: 821K
Q1 '16: 185K
Q2 '16: 971K
Q3 '16: 865K
Q1 '17: 388K
Q2 '17: 561K
Q3 '17: 904K
Q4 '17: 193K
Q1 '18: 485K
Q2 '18: 705K
Q3 '18: 585K
Q1 '20: 263K
Q2 '20: -133K
Q3 '20: -88K
Q4 '20: -3K
Q1 '21: -1K
Q2 '21: 235K
Q3 '21: 405K
Q4 '21: -408K
Q1 '22: -367K
Q2 '22: 395K
Q3 '22: -413K
Q4 '22: -530K
Q1 '23: -620K
Q2 '23: 375K
Q3 '23: 400K
Q4 '23: -271K
Q1 '24: 222K
Q2 '24: -298K
Q3 '24: -68K
Q4 '24: -223K
Q1 '25: -271K
Q2 '25: -138K
Q3 '25: 653K
Q4 '25: -356K
Q1 '26: -543K
Q2 '26: -286K
Q1 '16
Q3 '17
Q1 '20
Q2 '21
Q3 '22
Q4 '23
Q1 '25
Q2 '26
Free Cash Flow Quarterly
-900K
-600K
-300K
0
300K
600K
900K
Q1 '15: 245K
Q2 '15: 257K
Q3 '15: 732K
Q1 '16: 176K
Q2 '16: 814K
Q3 '16: 792K
Q1 '17: 372K
Q2 '17: 536K
Q3 '17: 807K
Q4 '17: -63K
Q1 '18: 290K
Q2 '18: 698K
Q3 '18: 553K
Q1 '20: 263K
Q2 '20: -133K
Q3 '20: -88K
Q4 '20: -10K
Q1 '21: -13K
Q2 '21: 105K
Q3 '21: 405K
Q4 '21: -425K
Q1 '22: -373K
Q2 '22: 392K
Q3 '22: -413K
Q4 '22: -563K
Q1 '23: -630K
Q2 '23: 353K
Q3 '23: 388K
Q4 '23: -350K
Q1 '24: 204K
Q2 '24: -300K
Q3 '24: -155K
Q4 '24: -293K
Q1 '25: -300K
Q2 '25: -143K
Q3 '25: 650K
Q4 '25: -375K
Q2 '15
Q1 '17
Q2 '18
Q4 '20
Q1 '22
Q2 '23
Q3 '24
Q4 '25
Operating cash flow minus capital expenditure.
Shares Outstanding Quarterly
0
6M
12M
18M
Q1 '15: 7.3M
Q2 '15: 7.3M
Q3 '15: 7.3M
Q1 '16: 7.4M
Q2 '16: 7.4M
Q3 '16: 7.4M
Q1 '17: 7.4M
Q2 '17: 7.4M
Q3 '17: 7.4M
Q1 '18: 7.4M
Q2 '18: 7.4M
Q3 '18: 6.6M
Q3 '19: 6.6M
Q1 '20: 6.6M
Q2 '20: 6.6M
Q3 '20: 6.6M
Q1 '21: 6.6M
Q2 '21: 6.6M
Q3 '21: 6.6M
Q1 '22: 6.6M
Q2 '22: 6.6M
Q3 '22: 6.6M
Q1 '23: 9.9M
Q2 '23: 9.9M
Q3 '23: 9.9M
Q1 '24: 9.9M
Q2 '24: 9.9M
Q3 '24: 14.8M
Q1 '25: 14.8M
Q2 '25: 14.8M
Q3 '25: 14.8M
Q1 '26: 15.8M
Q2 '26: 15.8M
Q3 '15
Q2 '17
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.30
-0.15
0.00
0.15
0.30
0.45
Q4 '15: 0.22
Q1 '16: 0.26
Q2 '16: 0.30
Q3 '16: 0.32
Q4 '16: 0.38
Q1 '17: 0.35
Q2 '17: 0.32
Q3 '17: 0.29
Q4 '17: 0.17
Q1 '18: 0.14
Q2 '18: 0.12
Q3 '18: 0.09
Q4 '20: 0.02
Q1 '21: 0.01
Q2 '21: 0.02
Q3 '21: 0.04
Q4 '21: -0.13
Q1 '22: -0.11
Q2 '22: -0.12
Q3 '23: 0.12
Q4 '23: -0.08
Q1 '24: -0.14
Q2 '24: -0.21
Q3 '24: -0.23
Q4 '24: -0.20
Q1 '25: -0.17
Q2 '25: -0.13
Q3 '25: -0.12
Q4 '25: -0.13
Q1 '26: -0.09
Q2 '26: -0.07
Q2 '16
Q2 '17
Q2 '18
Q2 '21
Q2 '22
Q2 '24
Q2 '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.