Consolidated Statements of Comprehensive Income (Unaudited) - USD ($) $ in Thousands |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Sep. 30, 2016 |
Sep. 30, 2015 |
Sep. 30, 2016 |
Sep. 30, 2015 |
|
| Statements of Operations: | ||||
| Revenues | $ 78,173 | $ 67,842 | $ 225,702 | $ 190,347 |
| Cost of revenue | 33,448 | 27,517 | 99,077 | 77,218 |
| Gross profit | 44,725 | 40,325 | 126,625 | 113,129 |
| Operating expenses | ||||
| Marketing and sales | 11,787 | 10,027 | 34,182 | 28,383 |
| Research and development | 5,976 | 4,760 | 17,110 | 13,471 |
| General and administrative | 10,020 | 8,134 | 28,397 | 20,683 |
| Total operating expenses | 27,783 | 22,921 | 79,689 | 62,537 |
| Income from operations | 16,942 | 17,404 | 46,936 | 50,592 |
| Other income (expense), net | 625 | 593 | 2,342 | 100 |
| Income before income taxes | 17,567 | 17,997 | 49,278 | 50,692 |
| Provision for income taxes | 5,585 | 5,615 | 15,943 | 16,171 |
| Net income | $ 11,982 | $ 12,382 | $ 33,335 | $ 34,521 |
| Net income per share: | ||||
| Basic (in dollars per share) | $ 0.45 | $ 0.47 | $ 1.27 | $ 1.33 |
| Diluted (in dollars per share) | $ 0.45 | $ 0.47 | $ 1.26 | $ 1.31 |
| Shares used to compute net income per share: | ||||
| Basic - weighted-average shares outstanding: (in shares) | 26,416,041 | 26,083,405 | 26,334,738 | 25,952,451 |
| Diluted (in shares) | 26,609,878 | 26,381,313 | 26,539,078 | 26,290,758 |
| Comprehensive Income (net of tax) | ||||
| Comprehensive income | $ 11,828 | $ 11,416 | $ 31,781 | $ 33,754 |