Fiscal period | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | 2015 | 2014 | 2013 | 2012 |
Period End Date | 12/31/2021 | 12/31/2020 | 12/31/2019 | 12/31/2018 | 12/31/2017 | 12/31/2016 | 12/31/2015 | 12/31/2014 | 12/31/2013 | 12/31/2012 |
Revenues | 411.17 | 362.96 | 321.61 | 278.89 | 230.83 | 197.93 | 164.28 | 133.58 | 107.96 | 91.42 |
Total Revenues | 411.17 | 362.96 | 321.61 | 278.89 | 230.83 | 197.93 | 164.28 | 133.58 | 107.96 | 91.42 |
Cost of revenues | 89.44 | 79.23 | 69.52 | 66.19 | 51.58 | 43.13 | 34.33 | 28.96 | 24.66 | 18.40 |
Gross Profit | 321.73 | 283.74 | 252.09 | 212.70 | 179.25 | 154.80 | 129.96 | 104.62 | 83.30 | 73.02 |
Research and development | 81.29 | 72.55 | 68.24 | 53.26 | 42.82 | 36.59 | 30.44 | 26.32 | 21.68 | 20.20 |
General and Administrative | 76.27 | 46.57 | 40.77 | 39.05 | 35.33 | 29.11 | 24.32 | 21.00 | 16.79 | 12.08 |
Sales and marketing | 76.49 | 67.97 | 70.83 | 70.04 | 63.86 | 58.99 | 50.40 | 48.05 | 42.52 | 37.74 |
Total Operating Expenses | 234.05 | 187.08 | 179.84 | 162.34 | 142.01 | 124.69 | 105.15 | 95.37 | 80.99 | 70.01 |
Income from operations | 87.68 | 96.65 | 72.25 | 50.36 | 37.24 | 30.11 | 24.81 | 9.25 | 2.31 | 3.00 |
Interest expense | -- | 0.01 | 0.11 | 0.17 | 0.00 | 0.03 | 0.01 | 0.01 | 0.04 | 0.19 |
Interest income | 2.29 | 5.39 | 8.44 | 6.08 | 2.67 | 1.32 | 0.57 | 0.45 | 0.38 | 0.01 |
Other income (expense), net | (0.57) | 0.01 | (0.61) | (0.80) | (0.54) | (0.97) | (0.85) | (1.08) | (0.60) | (0.25) |
Total other income (expense), net | 1.71 | 5.38 | 7.73 | 5.11 | 2.14 | 0.32 | (0.29) | (0.63) | (0.27) | (0.43) |
Income before provision for income taxes | 89.40 | 102.04 | 79.98 | 55.47 | 39.38 | 30.43 | 24.52 | 8.61 | 2.04 | 2.58 |
Provision for (benefit from) income taxes | 18.44 | 10.47 | 10.65 | (1.84) | (1.06) | 11.21 | 8.66 | (21.63) | 0.50 | 0.36 |
Provision for (benefit from) income taxes: Current: Federal | 20.14 | 1.94 | (0.09) | (0.09) | 0.02 | 8.33 | 0.12 | -- | (0.04) | (0.02) |
Provision for (benefit from) income taxes: Current: State | 4.32 | 1.44 | 0.65 | 0.06 | 0.02 | 1.13 | 1.04 | 0.32 | 0.15 | 0.20 |
Provision for (benefit from) income taxes: Current: Foreign | 3.70 | 3.57 | 3.00 | 1.99 | 1.47 | 0.96 | 0.69 | 0.65 | 0.45 | 0.15 |
Provision for (benefit from) income taxes: Deferred: Federal | (7.34) | 4.24 | 7.09 | (3.45) | (1.65) | 0.61 | 7.12 | (22.18) | 0.01 | 0.03 |
Provision for (benefit from) income taxes: Deferred: State | (1.72) | 0.03 | 0.45 | 0.02 | (1.00) | 0.13 | (0.25) | (0.43) | -- | -- |
Provision for (benefit from) income taxes: Deferred: Foreign | (0.66) | (0.75) | (0.44) | (0.37) | 0.07 | 0.05 | (0.06) | 0.02 | (0.07) | -- |
Net Income (Loss) | -- | -- | -- | -- | -- | -- | -- | 30.24 | 1.54 | 2.22 |
Net income attributable to participating securities | -- | -- | -- | -- | -- | -- | -- | -- | -- | 1.17 |
Net income (loss) attributable to common stockholders | 70.96 | 91.57 | 69.34 | 57.30 | 40.44 | 19.22 | 15.87 | 30.24 | 1.54 | 1.05 |
Net earnings per share : Basic | 1.82 | 2.34 | 1.77 | 1.47 | 1.08 | 0.55 | 0.47 | 0.92 | 0.05 | 0.09 |
Net earnings per share : Diluted | 1.77 | 2.25 | 1.68 | 1.37 | 1.01 | 0.50 | 0.42 | 0.81 | 0.04 | 0.08 |
Shares used in per share calculations : Basic | 39.03 | 39.17 | 39.08 | 38.88 | 37.44 | 35.25 | 34.05 | 32.98 | 31.91 | 11.89 |
Shares used in per share calculations : Diluted | 40.12 | 40.74 | 41.28 | 41.90 | 40.07 | 38.37 | 38.18 | 37.17 | 35.97 | 28.35 |