Quarterly
Annual
| Unit: USD | 2023-12-31 | 2023-09-30 | 2023-06-30 | 2023-03-31 | 2022-12-31 | 2022-09-30 | 2022-06-30 | 2022-03-31 | 2021-12-31 | 2021-09-30 | 2021-06-30 | 2021-03-31 | 2020-12-31 | 2020-09-30 | 2020-06-30 | 2020-03-31 | 2019-12-31 | 2019-09-30 | 2019-06-30 | 2019-03-31 | 2018-12-31 | 2018-09-30 | 2018-06-30 | 2018-03-31 | 2017-12-31 | 2017-09-30 | 2017-06-30 | 2017-03-31 | 2016-12-31 | 2016-09-30 | 2016-06-30 | 2016-03-31 | 2015-12-31 | 2015-09-30 | 2015-06-30 | 2015-03-31 | 2014-12-31 | 2014-09-30 | 2014-06-30 | 2014-03-31 | 2013-12-31 | 2013-09-30 | 2013-06-30 | 2013-03-31 | 2012-12-31 | 2012-09-30 | 2012-06-30 | 2012-03-31 | 2011-12-31 | 2011-09-30 | 2011-06-30 | 2011-03-31 | 2010-12-31 | 2010-09-30 | 2010-06-30 | 2010-03-31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 520,600,000 | 520,400,000 | 534,400,000 | 487,800,000 | 514,000,000 | 516,800,000 | 501,900,000 | 439,800,000 | 365,300,000 | 366,500,000 | 364,300,000 | 359,900,000 | 310,100,000 | 302,200,000 | 338,000,000 | 382,700,000 | 397,200,000 | 404,300,000 | 407,500,000 | 391,300,000 | 368,900,000 | 364,500,000 | 367,000,000 | 350,500,000 | 359,600,000 | 339,000,000 | 323,200,000 | 309,700,000 | 325,600,000 | 293,900,000 | 292,700,000 | 311,100,000 | 353,600,000 | 336,900,000 | 348,200,000 | 320,400,000 | 388,100,000 | 367,600,000 | 372,200,000 | 359,600,000 | 399,600,000 | 390,500,000 | 403,700,000 | 453,900,000 | 491,400,000 | 480,500,000 | 460,900,000 | 481,300,000 | 424,125,000 | 403,499,000 | 377,958,000 | 333,318,000 | 317,216,000 | 331,635,000 | 349,319,000 | 328,423,000 |
cost of revenue | 479,000,000 | 436,100,000 | 443,100,000 | 402,000,000 | 441,700,000 | 413,400,000 | 411,800,000 | 338,000,000 | 288,900,000 | 277,300,000 | 278,600,000 | 274,000,000 | 243,000,000 | 238,300,000 | 262,500,000 | 304,400,000 | 323,800,000 | 319,400,000 | 327,000,000 | 307,400,000 | 287,900,000 | 283,300,000 | 282,700,000 | 270,600,000 | 272,000,000 | 257,200,000 | 257,200,000 | 234,400,000 | 224,000,000 | 217,600,000 | 224,400,000 | 239,000,000 | 274,000,000 | 266,300,000 | 296,000,000 | 254,500,000 | 315,000,000 | 280,600,000 | 290,000,000 | 304,000,000 | 316,700,000 | 316,500,000 | 332,400,000 | 382,400,000 | 403,000,000 | 388,900,000 | 377,400,000 | 408,300,000 | 372,534,000 | 332,723,000 | 319,214,000 | 281,329,000 | 263,434,000 | 254,524,000 | 266,803,000 | 252,183,000 |
gross profit | 41,600,000 | 84,300,000 | 91,300,000 | 85,800,000 | 72,300,000 | 103,400,000 | 90,100,000 | 101,800,000 | 76,400,000 | 89,200,000 | 85,700,000 | 85,900,000 | 67,100,000 | 63,900,000 | 75,500,000 | 78,300,000 | 73,400,000 | 84,900,000 | 80,500,000 | 83,900,000 | 81,000,000 | 81,200,000 | 84,300,000 | 79,900,000 | 87,600,000 | 81,800,000 | 66,000,000 | 75,300,000 | 101,600,000 | 76,300,000 | 68,300,000 | 72,100,000 | 79,600,000 | 70,600,000 | 52,200,000 | 65,900,000 | 73,100,000 | 87,000,000 | 82,200,000 | 55,600,000 | 82,900,000 | 74,000,000 | 71,300,000 | 71,500,000 | 88,400,000 | 91,600,000 | 83,500,000 | 73,000,000 | 51,591,000 | 70,776,000 | 58,744,000 | 51,989,000 | 53,782,000 | 77,111,000 | 82,516,000 | 76,240,000 |
operating expenses | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
research and development | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
sales, general and administrative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 15,400,000 | 54,600,000 | 53,800,000 | 54,100,000 | 49,300,000 | 55,800,000 | 55,600,000 | 53,200,000 | 48,400,000 | 47,800,000 | 51,800,000 | 47,700,000 | 62,300,000 | 51,900,000 | 50,600,000 | 50,300,000 | 56,900,000 | 49,900,000 | 58,900,000 | 53,900,000 | 58,200,000 | 51,100,000 | 49,600,000 | 48,800,000 | 49,100,000 | 48,300,000 | 57,400,000 | 53,000,000 | 54,300,000 | 47,400,000 | 52,300,000 | 51,900,000 | 54,800,000 | 47,500,000 | 45,800,000 | 38,300,000 | 40,600,000 | 41,200,000 | 50,500,000 | 50,900,000 | 52,000,000 | 46,700,000 | 45,200,000 | 44,500,000 | 44,100,000 | 38,900,000 | 40,700,000 | 39,100,000 | 39,876,000 | 40,691,000 | 37,309,000 | 47,724,000 | 38,020,000 | 28,745,000 | 24,657,000 | 23,967,000 |
operating income | 26,200,000 | 29,700,000 | 37,500,000 | 31,700,000 | 23,000,000 | 47,600,000 | 34,500,000 | 48,600,000 | 28,000,000 | 41,400,000 | 33,900,000 | 38,200,000 | 4,800,000 | 12,000,000 | 24,900,000 | 28,000,000 | 16,500,000 | -212,400,000 | 21,600,000 | 30,000,000 | 22,800,000 | 30,100,000 | 34,700,000 | 31,100,000 | 38,500,000 | 33,500,000 | 8,600,000 | 22,300,000 | 47,300,000 | 28,900,000 | 10,900,000 | 9,500,000 | 24,800,000 | 23,100,000 | 6,400,000 | 27,600,000 | 30,800,000 | 45,800,000 | -71,400,000 | 4,700,000 | 30,900,000 | 27,300,000 | 26,100,000 | 27,000,000 | 44,300,000 | 52,700,000 | 42,800,000 | 33,900,000 | 11,715,000 | 30,085,000 | 21,435,000 | 4,265,000 | 15,762,000 | 48,366,000 | 57,859,000 | 52,273,000 |
net income | 13,800,000 | 7,000,000 | 20,400,000 | 16,300,000 | 11,800,000 | 41,400,000 | 18,000,000 | 29,500,000 | 12,700,000 | 23,000,000 | -8,800,000 | 16,500,000 | -5,000,000 | -2,700,000 | 6,500,000 | 4,900,000 | -1,400,000 | -163,000,000 | 2,300,000 | 9,800,000 | 1,800,000 | 11,500,000 | 4,200,000 | 8,700,000 | 134,000,000 | 11,600,000 | -24,200,000 | 1,000,000 | 17,000,000 | 6,100,000 | -4,600,000 | -4,100,000 | 19,000,000 | -23,500,000 | -13,500,000 | -4,000,000 | -65,400,000 | -3,600,000 | -49,200,000 | -7,800,000 | 11,000,000 | 6,200,000 | 5,700,000 | 2,100,000 | 27,600,000 | 31,600,000 | 22,700,000 | 16,900,000 | 7,994,000 | 18,360,000 | 22,420,000 | 11,826,000 | 18,436,000 | 37,446,000 | 44,294,000 | 39,023,000 |
The information provided in this report is taken from www.sec.gov and many other data providers. While we have conducted our best efforts to ensure that the parsed data is accurate, we cannot guarantee its accuracy. Please use caution and understand that any consequences of its use are your own responsibility.
