Quarterly
Annual
| Unit: USD | 2024-01-31 | 2023-10-31 | 2023-07-31 | 2023-04-30 | 2023-01-31 | 2022-10-31 | 2022-07-31 | 2022-04-30 | 2022-01-31 | 2021-10-31 | 2021-07-31 | 2021-04-30 | 2021-01-31 | 2020-10-31 | 2020-07-31 | 2020-04-30 | 2020-01-31 | 2019-10-31 | 2019-07-31 | 2019-04-30 | 2019-01-31 | 2018-10-31 | 2018-07-31 | 2018-04-30 | 2018-01-31 | 2017-10-31 | 2017-07-31 | 2017-04-30 | 2017-01-31 | 2016-10-31 | 2016-07-31 | 2016-04-30 | 2016-01-31 | 2015-10-31 | 2015-07-31 | 2015-04-30 | 2015-01-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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 239,155,000 | 295,492,000 | 299,640,000 | 273,535,000 | 261,916,000 | 307,532,000 | 324,037,000 | 322,893,000 | 267,040,000 | 291,768,000 | 279,877,000 | 270,357,000 | 230,147,000 | 255,405,000 | 212,096,000 | 187,475,000 | 196,597,000 | 240,369,000 | 238,461,000 | 218,203,000 | 196,808,000 | 244,086,000 | 239,821,000 | 214,212,000 | 191,666,000 | 232,149,000 | 229,367,000 | 209,133,000 | 195,096,000 | 249,171,000 | 248,085,000 | 229,460,000 | 201,468,000 | 195,459,000 | 180,206,000 | 141,970,000 | 127,893,000 | 163,816,000 | 169,981,000 | 135,208,000 | 202,362,000 | 275,297,000 | 259,174,000 | 232,458,000 | 185,713,000 | 235,048,000 | 237,905,000 | 194,444,000 | 161,579,000 | 232,961,000 | 252,413,000 | 203,112,000 | 159,808,000 | 222,303,000 | 225,203,000 | 199,386,000 | 151,422,000 | 194,939,000 | 163,977,000 | 113,206,000 | 112,888,000 | 246,345,000 | 240,338,000 | 207,338,000 | 174,912,000 | 557,858,000 | 554,084,000 | 519,438,000 | 417,641,000 | 527,720,000 | 553,047,000 | 507,236,000 | 444,569,000 | 466,270,000 | 498,796,000 | 533,758,000 | 470,183,000 | 370,733,000 | 424,091,000 | 405,993,000 | 281,156,000 | 286,819,000 | 260,277,000 | 254,610,000 | 229,509,000 | 273,753,000 | 266,891,000 | 249,500,000 | 204,243,000 | 276,438,000 | 240,332,000 | 213,758,000 | 193,825,000 | 237,494,000 | 254,144,000 | 243,271,000 | 199,294,000 |
cost of revenue | 198,875,000 | 215,473,000 | 221,065,000 | 206,372,000 | 210,149,000 | 240,073,000 | 251,446,000 | 249,651,000 | 211,834,000 | 226,818,000 | 219,866,000 | 208,460,000 | 176,397,000 | 189,164,000 | 162,427,000 | 149,732,000 | 157,427,000 | 183,128,000 | 181,357,000 | 171,378,000 | 158,557,000 | 187,776,000 | 185,610,000 | 168,741,000 | 154,440,000 | 177,515,000 | 176,758,000 | 162,132,000 | 154,947,000 | 188,168,000 | 186,631,000 | 176,497,000 | 159,348,000 | 145,628,000 | 136,853,000 | 110,812,000 | 105,804,000 | 129,040,000 | 130,706,000 | 108,649,000 | 171,904,000 | 222,242,000 | 215,182,000 | 198,963,000 | 162,690,000 | 193,302,000 | 200,663,000 | 171,837,000 | 138,042,000 | 187,257,000 | 209,667,000 | 175,512,000 | 139,655,000 | 182,290,000 | 184,799,000 | 167,626,000 | 126,134,000 | 149,288,000 | 129,009,000 | 0 | 106,664,000 | 199,080,000 | 200,443,000 | 170,776,000 | 0 | 451,863,000 | 452,167,000 | 424,457,000 | 342,565,000 | 425,985,000 | 442,789,000 | 396,541,000 | 352,084,000 | 355,196,000 | 378,824,000 | 406,158,000 | 372,802,000 | 308,367,000 | 357,059,000 | 354,222,000 | 245,086,000 | 242,451,000 | 217,838,000 | 213,368,000 | 194,525,000 | 221,067,000 | 216,469,000 | 204,371,000 | 171,042,000 | 229,108,000 | 197,792,000 | 179,761,000 | 162,667,000 | 190,947,000 | 208,874,000 | 200,655,000 | 165,643,000 |
gross profit | 40,280,000 | 80,019,000 | 78,575,000 | 67,163,000 | 51,767,000 | 67,459,000 | 72,591,000 | 73,242,000 | 55,206,000 | 64,950,000 | 60,011,000 | 61,897,000 | 53,750,000 | 66,241,000 | 49,669,000 | 37,743,000 | 39,170,000 | 57,241,000 | 57,104,000 | 46,825,000 | 38,251,000 | 56,310,000 | 54,211,000 | 45,471,000 | 37,226,000 | 54,634,000 | 52,609,000 | 47,001,000 | 40,149,000 | 61,003,000 | 61,454,000 | 52,963,000 | 42,120,000 | 49,831,000 | 43,353,000 | 31,158,000 | 22,089,000 | 34,776,000 | 39,275,000 | 26,559,000 | 30,458,000 | 53,055,000 | 43,992,000 | 33,495,000 | 23,023,000 | 41,746,000 | 37,242,000 | 22,607,000 | 23,537,000 | 45,704,000 | 42,746,000 | 27,600,000 | 20,153,000 | 40,013,000 | 40,404,000 | 31,760,000 | 25,288,000 | 45,651,000 | 34,968,000 | 113,206,000 | 6,224,000 | 47,265,000 | 39,895,000 | 36,562,000 | 174,912,000 | 105,995,000 | 101,917,000 | 94,981,000 | 75,076,000 | 101,735,000 | 110,258,000 | 110,695,000 | 92,485,000 | 111,074,000 | 119,972,000 | 127,600,000 | 97,381,000 | 62,366,000 | 67,032,000 | 51,771,000 | 36,070,000 | 44,368,000 | 42,439,000 | 41,242,000 | 34,984,000 | 52,686,000 | 50,422,000 | 45,129,000 | 33,201,000 | 47,330,000 | 42,540,000 | 33,997,000 | 31,158,000 | 46,547,000 | 45,270,000 | 42,616,000 | 33,651,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 | 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 | 32,363,000 | 40,520,000 | 41,112,000 | 37,827,000 | 47,364,000 | 38,889,000 | 38,556,000 | 38,692,000 | 41,080,000 | 37,857,000 | 38,449,000 | 40,517,000 | 41,876,000 | 38,267,000 | 33,033,000 | 28,599,000 | 37,037,000 | 36,254,000 | 37,900,000 | 36,126,000 | 40,598,000 | 44,034,000 | 36,881,000 | 37,093,000 | 37,349,000 | 36,936,000 | 34,393,000 | 41,296,000 | 42,851,000 | 39,867,000 | 41,524,000 | 42,407,000 | 44,258,000 | 33,058,000 | 33,525,000 | 27,469,000 | 27,704,000 | 29,477,000 | 26,609,000 | 28,887,000 | 35,061,000 | 53,377,000 | 36,876,000 | 42,868,000 | 36,708,000 | 39,856,000 | 35,790,000 | 38,686,000 | 34,841,000 | 32,113,000 | 28,109,000 | 29,885,000 | 27,819,000 | 26,441,000 | 24,205,000 | 26,081,000 | 23,441,000 | 25,381,000 | 22,539,000 | 170,000,000 | 24,486,000 | 23,267,000 | 25,523,000 | 52,784,000 | 176,000,000 | 242,026,000 | 42,755,000 | 44,439,000 | 44,695,000 | 42,437,000 | 41,231,000 | 41,850,000 | 38,261,000 | 39,814,000 | 43,575,000 | 41,596,000 | 38,267,000 | 29,603,000 | 31,690,000 | 31,997,000 | 25,384,000 | 23,631,000 | 24,371,000 | 26,367,000 | 24,869,000 | 24,294,000 | 25,391,000 | 25,096,000 | 23,357,000 | 26,405,000 | 24,187,000 | 24,153,000 | 22,964,000 | 80,134,000 | 40,703,000 | 25,765,000 | 25,444,000 |
operating income | 7,917,000 | 39,499,000 | 37,463,000 | 29,336,000 | 4,403,000 | 28,570,000 | 34,035,000 | 34,550,000 | 14,126,000 | 27,093,000 | 21,562,000 | 21,380,000 | 11,835,000 | 27,829,000 | 16,563,000 | 8,893,000 | 1,980,000 | -23,724,000 | 19,110,000 | -19,363,000 | -2,450,000 | 11,641,000 | 17,087,000 | 8,136,000 | -489,000 | 16,231,000 | 17,352,000 | 4,625,000 | -3,841,000 | 8,005,000 | 19,930,000 | 10,556,000 | -2,138,000 | 16,773,000 | 9,828,000 | 3,689,000 | -5,615,000 | 5,299,000 | 12,666,000 | -2,828,000 | -5,113,000 | -1,787,000 | 7,116,000 | -9,373,000 | -13,685,000 | 978,000 | 1,452,000 | -16,079,000 | -11,304,000 | 11,792,000 | 14,637,000 | -2,285,000 | -7,666,000 | 13,572,000 | 16,199,000 | 5,679,000 | 1,847,000 | 20,270,000 | 12,429,000 | -170,000,000 | -155,561,000 | 23,998,000 | 14,372,000 | -16,222,000 | 165,912,000 | -136,031,000 | 59,162,000 | 50,542,000 | 30,381,000 | 59,298,000 | 69,027,000 | 68,845,000 | 54,224,000 | 71,260,000 | 76,397,000 | 86,004,000 | 59,114,000 | 33,217,000 | 35,342,000 | 19,774,000 | 10,686,000 | 20,737,000 | 18,068,000 | 14,875,000 | 10,115,000 | 28,392,000 | 25,031,000 | 20,033,000 | 9,844,000 | 20,925,000 | 18,353,000 | 9,844,000 | 8,194,000 | -33,587,000 | 4,567,000 | 16,851,000 | 8,207,000 |
net income | 6,249,000 | 27,382,000 | 31,698,000 | 21,512,000 | 1,909,000 | 24,667,000 | 25,908,000 | 26,522,000 | 11,239,000 | 20,898,000 | 13,679,000 | 14,551,000 | 7,852,000 | 22,152,000 | 10,833,000 | 5,501,000 | 10,000 | -30,948,000 | 11,841,000 | -23,974,000 | -3,649,000 | 6,492,000 | 10,753,000 | 4,136,000 | 4,947,000 | 10,732,000 | 10,215,000 | 1,462,000 | -3,726,000 | 5,431,000 | -3,976,000 | 3,935,000 | -7,249,000 | 9,943,000 | 6,927,000 | 2,294,000 | -3,071,000 | 4,956,000 | 8,047,000 | 20,131,000 | -3,900,000 | -1,206,000 | 4,969,000 | -7,348,000 | -8,118,000 | 968,000 | 1,531,000 | -12,285,000 | -6,748,000 | 6,179,000 | 9,016,000 | -1,389,000 | -4,740,000 | 8,310,000 | 10,281,000 | 4,313,000 | 194,000 | 15,331,000 | 8,137,000 | -40,146,000 | -120,413,000 | 15,010,000 | 8,818,000 | -5,333,000 | 3,084,000 | 41,558,000 | 40,219,000 | 32,800,000 | 20,045,000 | 39,175,000 | 45,133,000 | 42,850,000 | 33,025,000 | 31,225,000 | 44,715,000 | 50,985,000 | 28,235,000 | 18,738,000 | 17,758,000 | 11,544,000 | 6,427,000 | 13,116,000 | 13,623,000 | 9,365,000 | 6,783,000 | 15,053,000 | 24,337,000 | 10,632,000 | 5,460,000 | 11,240,000 | 9,608,000 | 4,289,000 | 4,057,000 | -23,942,000 | 715,000 | 9,387,000 | 4,175,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.
