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-10-31 | 2014-07-31 | 2014-04-30 | 2014-01-31 | 2013-10-31 | 2013-07-31 | 2013-04-30 | 2013-01-31 | 2012-10-31 | 2012-07-31 | 2012-04-30 | 2012-01-31 | 2011-10-31 | 2011-07-31 | 2011-04-30 | 2011-01-31 | 2010-10-31 | 2010-07-31 | 2010-04-30 | 2010-01-31 | 2009-10-31 | 2009-07-31 | 2009-04-30 | 2009-01-31 | 2008-10-31 | 2008-07-31 | 2008-04-30 | 2008-01-31 | 2007-10-31 | 2007-07-31 | 2007-04-30 | 2007-01-31 | 2006-10-31 | 2006-07-31 | 2006-04-30 | 2006-01-31 | 2005-10-31 | 2005-07-31 | 2005-04-30 | 2005-01-31 | 2004-10-31 | 2004-07-31 | 2004-04-30 | 2004-01-31 | 2003-10-31 | 2003-07-31 | 2003-04-30 | 2003-01-31 | 2002-10-31 | 2002-07-31 | 2002-04-30 | 2002-01-31 | 2001-10-31 | 2001-07-31 | 2001-04-30 | 2001-01-31 | 2000-10-31 | 2000-07-31 | 2000-04-30 | 2000-01-31 | 1999-10-31 | 1999-07-31 | 1999-04-30 | 1999-01-31 | 1998-10-31 | 1998-07-31 | 1998-04-30 | 1998-01-31 | 1997-10-31 | 1997-07-31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 359,567,000 | 352,735,000 | 289,645,000 | 262,595,000 | 272,127,000 | 295,268,000 | 283,666,000 | 234,027,000 | 241,836,000 | 241,969,000 | 215,875,000 | 189,532,000 | 200,240,000 | 202,667,000 | 188,767,000 | 182,910,000 | 193,619,000 | 198,547,000 | 187,459,000 | 163,664,000 | 174,724,000 | 172,832,000 | 165,649,000 | 147,455,000 | 151,223,000 | 160,269,000 | 154,016,000 | 133,802,000 | 143,795,000 | 151,133,000 | 144,670,000 | 125,432,000 | 140,024,000 | 146,185,000 | 143,714,000 | 116,577,000 | 85,646,000 | 141,341,000 | 141,387,000 | 118,927,000 | 117,852,000 | 132,296,000 | 128,558,000 | 108,694,000 | 115,002,000 | 120,335,000 | 121,195,000 | 109,178,000 | 114,578,000 | 129,866,000 | 127,193,000 | 109,549,000 | 111,627,000 | 141,009,000 | 139,841,000 | 130,721,000 | 126,056,000 | 133,733,000 | 135,861,000 | 117,648,000 | 121,151,000 | 157,538,000 | 157,904,000 | 136,718,000 | 141,359,000 | 151,395,000 | 152,433,000 | 122,162,000 | 133,492,000 | 147,817,000 | 143,519,000 | 126,536,000 | 130,597,000 | 136,795,000 | 132,000,000 | 115,831,000 | 116,080,000 | 126,381,000 | 124,164,000 | 109,266,000 | 104,558,000 | 111,974,000 | 113,888,000 | 94,717,000 | 95,749,000 | 114,497,000 | 115,901,000 | 97,506,000 | 101,189,000 | 109,785,000 | 112,341,000 | 62,683,000 | 120,808,000 | 139,258,000 | 157,067,000 | 133,947,000 | 93,000,000 | 56,100,000 | 55,000,000 | 49,400,000 | 40,200,000 | 41,500,000 | 36,700,000 | 30,800,000 | 28,800,000 | 28,400,000 | 27,700,000 |
cost of revenue | 293,783,000 | 274,039,000 | 221,243,000 | 213,678,000 | 184,339,000 | 190,285,000 | 186,038,000 | 162,455,000 | 162,820,000 | 153,892,000 | 138,553,000 | 127,139,000 | 133,260,000 | 130,406,000 | 123,462,000 | 128,518,000 | 130,949,000 | 131,273,000 | 128,674,000 | 117,759,000 | 121,760,000 | 114,118,000 | 111,800,000 | 105,610,000 | 104,227,000 | 103,897,000 | 102,519,000 | 94,544,000 | 97,565,000 | 98,803,000 | 95,188,000 | 90,418,000 | 96,390,000 | 99,656,000 | 98,737,000 | 87,833,000 | 61,593,000 | 98,292,000 | 98,766,000 | 88,028,000 | 87,602,000 | 90,545,000 | 88,419,000 | 78,147,000 | 84,168,000 | 85,474,000 | 84,811,000 | 77,505,000 | 81,398,000 | 86,627,000 | 85,224,000 | 79,920,000 | 76,933,000 | 92,978,000 | 94,845,000 | 88,770,000 | 84,764,000 | 86,674,000 | 90,646,000 | 78,528,000 | 85,480,000 | 103,728,000 | 104,442,000 | 91,271,000 | 96,663,000 | 96,928,000 | 101,308,000 | 80,935,000 | 89,800,000 | 94,182,000 | 95,735,000 | 86,049,000 | 88,841,000 | 88,043,000 | 85,587,000 | 76,522,000 | 76,736,000 | 79,385,000 | 78,560,000 | 73,295,000 | 67,804,000 | 71,931,000 | 74,278,000 | 63,913,000 | 62,009,000 | 74,491,000 | 77,934,000 | 64,157,000 | 66,142,000 | 70,941,000 | 74,466,000 | 38,843,000 | 82,666,000 | 93,346,000 | 108,848,000 | 87,930,000 | 61,500,000 | 31,100,000 | 30,900,000 | 28,900,000 | 22,700,000 | 23,700,000 | 20,900,000 | 18,200,000 | 17,100,000 | 16,400,000 | 16,700,000 |
gross profit | 65,784,000 | 78,696,000 | 68,402,000 | 48,917,000 | 87,788,000 | 104,983,000 | 97,628,000 | 71,572,000 | 79,016,000 | 88,077,000 | 77,322,000 | 62,393,000 | 66,980,000 | 72,261,000 | 65,305,000 | 54,392,000 | 62,670,000 | 67,274,000 | 58,785,000 | 45,905,000 | 52,964,000 | 58,714,000 | 53,849,000 | 41,845,000 | 46,996,000 | 56,372,000 | 51,497,000 | 39,258,000 | 46,230,000 | 52,330,000 | 49,482,000 | 35,014,000 | 43,634,000 | 46,529,000 | 44,977,000 | 28,744,000 | 24,053,000 | 43,049,000 | 42,621,000 | 30,899,000 | 30,250,000 | 41,751,000 | 40,139,000 | 30,547,000 | 30,834,000 | 34,861,000 | 36,384,000 | 31,673,000 | 33,180,000 | 43,239,000 | 41,969,000 | 29,629,000 | 34,694,000 | 48,031,000 | 44,996,000 | 41,951,000 | 41,292,000 | 47,059,000 | 45,215,000 | 39,120,000 | 35,671,000 | 53,810,000 | 53,462,000 | 45,447,000 | 44,696,000 | 54,467,000 | 51,125,000 | 41,227,000 | 43,692,000 | 53,635,000 | 47,784,000 | 40,487,000 | 41,756,000 | 48,752,000 | 46,413,000 | 39,309,000 | 39,344,000 | 46,996,000 | 45,604,000 | 35,971,000 | 36,754,000 | 40,043,000 | 39,610,000 | 30,804,000 | 33,740,000 | 40,006,000 | 37,967,000 | 33,349,000 | 35,047,000 | 38,844,000 | 37,875,000 | 23,840,000 | 38,142,000 | 45,912,000 | 48,219,000 | 46,017,000 | 31,500,000 | 25,000,000 | 24,100,000 | 20,500,000 | 17,500,000 | 17,800,000 | 15,800,000 | 12,600,000 | 11,700,000 | 12,000,000 | 11,000,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 | 311,000 | 0 | 0 | 311,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -47,000 | 1,440,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 131,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 375,000 | -20,000 | 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 | 43,127,000 | 41,177,000 | 35,865,000 | 35,679,000 | 68,962,000 | 67,586,000 | 64,712,000 | 59,221,000 | 61,503,000 | 58,484,000 | 53,549,000 | 49,813,000 | 51,671,000 | 48,813,000 | 46,950,000 | 45,758,000 | 47,004,000 | 43,476,000 | 41,860,000 | 40,231,000 | 41,367,000 | 38,747,000 | 38,179,000 | 37,321,000 | 36,650,000 | 37,341,000 | 34,662,000 | 32,694,000 | 36,233,000 | 34,952,000 | 33,886,000 | 33,040,000 | 36,898,000 | 33,833,000 | 34,312,000 | 30,553,000 | 500,000 | 32,985,000 | 33,283,000 | 30,031,000 | 31,447,000 | 32,244,000 | 30,275,000 | 28,136,000 | 28,525,000 | 30,487,000 | 30,633,000 | 28,755,000 | 28,760,000 | 31,613,000 | 31,713,000 | 28,074,000 | 28,405,000 | 34,197,000 | 30,450,000 | 31,242,000 | 30,120,000 | 33,165,000 | 35,818,000 | 35,750,000 | 33,770,000 | 37,804,000 | 37,910,000 | 39,237,000 | 37,417,000 | 39,170,000 | 38,504,000 | 61,204,000 | 34,876,000 | 39,038,000 | 39,121,000 | 30,865,000 | 35,800,000 | 35,046,000 | 33,352,000 | 30,858,000 | 31,774,000 | 34,240,000 | 32,787,000 | 31,091,000 | 29,347,000 | 29,852,000 | 29,243,000 | 30,558,000 | 25,176,000 | 26,382,000 | 26,449,000 | 24,223,000 | 26,819,000 | 26,403,000 | 26,358,000 | 24,117,000 | 27,956,000 | 31,659,000 | 31,761,000 | 30,127,000 | 21,600,000 | 15,400,000 | 15,400,000 | 14,300,000 | 12,200,000 | 11,800,000 | 10,700,000 | 9,000,000 | 9,300,000 | 8,400,000 | 7,800,000 |
operating income | 22,657,000 | 37,519,000 | 32,537,000 | 13,238,000 | 17,219,000 | 36,288,000 | 31,719,000 | 10,168,000 | 16,317,000 | 27,387,000 | 21,946,000 | 12,009,000 | 14,208,000 | 20,633,000 | 17,444,000 | 7,012,000 | 14,604,000 | 18,485,000 | 15,544,000 | 4,442,000 | -5,138,000 | 28,884,000 | 15,149,000 | 838,000 | 9,854,000 | 18,277,000 | -47,279,000 | 6,564,000 | 9,997,000 | 17,378,000 | 15,596,000 | 1,974,000 | 4,702,000 | 12,696,000 | 11,342,000 | 3,126,000 | 2,707,000 | 10,064,000 | 9,338,000 | -5,973,000 | -1,298,000 | 9,450,000 | 9,737,000 | 2,110,000 | -52,000 | 4,374,000 | 5,751,000 | -37,828,000 | 4,420,000 | 11,626,000 | 10,256,000 | -2,648,000 | 6,289,000 | 13,834,000 | 14,546,000 | 10,374,000 | 11,172,000 | 13,894,000 | 9,397,000 | -51,916,000 | 1,901,000 | 16,006,000 | 15,552,000 | 6,210,000 | 7,279,000 | 15,297,000 | 12,621,000 | -19,977,000 | 8,816,000 | 14,597,000 | 8,663,000 | 9,622,000 | 5,956,000 | 13,706,000 | 13,061,000 | 8,451,000 | 7,570,000 | 12,756,000 | 12,817,000 | 4,880,000 | 7,407,000 | 10,191,000 | 10,367,000 | 246,000 | 8,564,000 | 13,624,000 | 11,518,000 | 9,564,000 | 8,228,000 | 12,441,000 | 11,517,000 | -4,428,000 | 10,186,000 | 14,253,000 | 16,458,000 | 15,890,000 | 9,900,000 | 9,600,000 | 8,700,000 | 6,200,000 | 5,300,000 | 6,000,000 | 5,100,000 | 3,600,000 | 2,400,000 | 3,600,000 | 3,200,000 |
net income | -1,811,000 | 18,172,000 | 5,490,000 | 3,548,000 | 8,421,000 | 22,672,000 | 17,796,000 | 4,190,000 | 9,145,000 | 15,861,000 | 11,783,000 | 4,311,000 | 62,917,000 | 15,117,000 | 12,113,000 | 959,000 | 9,066,000 | 12,386,000 | 11,915,000 | -1,714,000 | -13,676,000 | 22,302,000 | 1,704,000 | -3,910,000 | 20,021,000 | 12,080,000 | -53,675,000 | -224,000 | -11,974,000 | 7,537,000 | 5,195,000 | -7,608,000 | -7,019,000 | 2,296,000 | 1,025,000 | -9,271,000 | -6,017,000 | 259,000 | -290,000 | -11,815,000 | -10,750,000 | -339,000 | -191,000 | -13,397,000 | -11,407,000 | -20,967,000 | -8,371,000 | -49,125,000 | -24,635,000 | -765,000 | -3,062,000 | 48,849,000 | -6,365,000 | -1,154,000 | -2,902,000 | -5,153,000 | -4,376,000 | -1,551,000 | -2,778,000 | -68,450,000 | -3,817,000 | 2,066,000 | 2,176,000 | -7,803,000 | -4,604,000 | 2,830,000 | 1,743,000 | -19,374,000 | -845,000 | 2,390,000 | -53,000 | 2,551,000 | 1,287,000 | 4,157,000 | 3,107,000 | -364,000 | 1,397,000 | 3,394,000 | 2,843,000 | -5,272,000 | 1,490,000 | 5,694,000 | 6,194,000 | -3,432,000 | -783,000 | 4,630,000 | -60,221,000 | 681,000 | 129,000 | 4,492,000 | 2,177,000 | -92,886,000 | -12,918,000 | 952,000 | 3,319,000 | 2,350,000 | 900,000 | 4,900,000 | 3,000,000 | 1,800,000 | 2,300,000 | 2,600,000 | 2,100,000 | 800,000 | 500,000 | 1,400,000 | 1,100,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.
