In millions, except per share items | Dec-31-20 | Dec-31-19 | Dec-31-18 | Dec-31-17 | Dec-31-16 | Dec-31-15 | Dec-31-14 | Dec-31-13 |
| 10-K | 10-K | 10-K | 10-K | 10-K | 10-K | 10-K | 10-K |
Revenues: | | | | | | | | |
Revenues | 758.0 | 571.9 | 586.9 | 468.7 | 364.3 | 214.0 | 147.3 | 127.8 |
Revenues growth | 32.5% | -2.6% | 25.2% | 28.7% | 70.3% | 45.3% | 15.2% | 10.5% |
Cost of revenues (exclusive of amortization of intangible assets, which is included in general and administrative expense): | | | | | | | | |
Gross profit | 579.2 | 416.6 | 460.0 | 389.5 | 301.3 | 170.0 | 114.4 | 100.3 |
Gross margin | 76.4% | 72.9% | 78.4% | 83.1% | 82.7% | 79.5% | 77.7% | 78.5% |
|
Operating expenses: | | | | | | | | |
Sales and marketing | 166.7 | 134.2 | 112.1 | 91.2 | 78.8 | 56.1 | 43.7 | 39.4 |
Research and development | 95.6 | 78.0 | 56.6 | 46.2 | 35.2 | 20.7 | 13.3 | 11.0 |
General and administrative | 118.7 | 110.8 | 97.0 | 88.6 | 67.1 | 42.4 | 25.1 | 15.8 |
Total operating expenses | 381.0 | 323.1 | 265.6 | 226.0 | 181.1 | 175.3 | 90.6 | 66.2 |
Income (loss) from operations | 198.2 | 93.6 | 194.4 | 163.5 | 120.2 | -5.3 | 23.8 | 34.1 |
Operating margin | 26.1% | 16.4% | 33.1% | 34.9% | 33.0% | -2.5% | 16.2% | 26.7% |
Foreign currency exchange gain (loss), net | -0.5 | -0.5 | -1.0 | | | | | |
Interest expense | -1.1 | -2.5 | -2.6 | -3.7 | -3.6 | -0.4 | | |
Interest income and other income (loss), net | 0.1 | 0.2 | 0.1 | 0.4 | 0.3 | 0.1 | 0.4 | 0.5 |
Income (loss) before income taxes | 196.6 | 90.7 | 190.9 | 160.2 | 117.0 | -5.6 | 24.2 | 34.6 |
Income tax (benefit) expense | 18.0 | 31.5 | 22.3 | 9.6 | 41.7 | -1.4 | -12.7 | -9.6 |
Net income (loss) | 178.7 | 59.2 | 168.6 | 150.6 | 75.2 | -4.2 | 36.9 | 44.2 |
|
Net income (loss) per share: | | | | | | | | |
Basic (in dollars per share) | $10.15 | $3.43 | $9.39 | $8.81 | $4.36 | ($0.26) | $2.30 | $2.81 |
Diluted (in dollars per share) | $9.37 | $3.33 | $8.99 | $8.19 | $4.12 | ($0.26) | $2.25 | $2.71 |
|
Weighted average shares outstanding: | | | | | | | | |
Basic (in shares) | 17.6 | 17.3 | 18.0 | 17.1 | 17.2 | 16.4 | 16.0 | 15.7 |
Diluted (in shares) | 19.1 | 17.8 | 18.8 | 18.4 | 18.3 | 16.4 | 16.4 | 16.3 |