CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($) shares in Thousands, $ in Thousands |
12 Months Ended |
Dec. 31, 2017 |
Dec. 31, 2016 |
Dec. 31, 2015 |
| CONSOLIDATED STATEMENTS OF OPERATIONS |
|
|
|
| Revenue |
$ 244,725
|
$ 208,802
|
$ 163,179
|
| Cost of revenue |
120,230
|
105,123
|
81,645
|
| Gross margin |
124,495
|
103,679
|
81,534
|
| Operating expenses: |
|
|
|
| Research and development |
40,638
|
35,985
|
32,385
|
| Sales and marketing |
47,825
|
42,198
|
32,594
|
| General and administrative |
21,926
|
20,309
|
17,355
|
| Litigation settlement |
|
475
|
21
|
| Total operating expenses |
110,389
|
98,967
|
82,355
|
| Income (loss) from operations |
14,106
|
4,712
|
(821)
|
| Other income (expense), net: |
|
|
|
| Interest, net |
409
|
45
|
202
|
| Other income (expense), net |
(78)
|
(587)
|
(765)
|
| Total other income (expense), net |
331
|
(542)
|
(563)
|
| Income (loss) before income taxes |
14,437
|
4,170
|
(1,384)
|
| Income tax expense (benefit) |
(1,542)
|
(8,784)
|
268
|
| Net income (loss) |
$ 15,979
|
$ 12,954
|
$ (1,652)
|
| Net income (loss) per common share: |
|
|
|
| Basic (in dollars per share) |
$ 0.64
|
$ 0.55
|
$ (0.07)
|
| Diluted (in dollars per share) |
$ 0.60
|
$ 0.53
|
$ (0.07)
|
| Weighted-average number of shares: |
|
|
|
| Basic (in shares) |
24,803
|
23,402
|
24,121
|
| Diluted (in shares) |
26,775
|
24,360
|
24,121
|