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 | 2009-12-31 | 2009-09-30 | 2009-06-30 | 2009-03-31 | 2008-12-31 | 2008-09-30 | 2008-06-30 | 2008-03-31 | 2007-12-31 | 2007-09-30 | 2007-06-30 | 2007-03-31 | 2006-12-31 | 2006-09-30 | 2006-06-30 | 2006-03-31 | 2005-12-31 | 2005-09-30 | 2005-06-30 | 2005-03-31 | 2004-12-31 | 2004-09-30 | 2004-06-30 | 2004-03-31 | 2003-12-31 | 2003-09-30 | 2003-06-30 | 2003-03-31 | 2002-12-31 | 2002-09-30 | 2002-06-30 | 2002-03-31 | 2001-12-31 | 2001-09-30 | 2001-06-30 | 2001-03-31 | 2000-12-31 | 2000-09-30 | 2000-06-30 | 2000-03-31 | 1999-12-31 | 1999-09-30 | 1999-06-30 | 1999-03-31 | 1998-12-31 | 1998-09-30 | 1998-06-30 | 1998-03-31 | 1997-12-31 | 1997-09-30 | 1997-06-30 | 1997-03-31 | 1996-12-31 | 1996-09-30 | 1996-06-30 | 1996-03-31 | 1995-12-31 | 1995-09-30 | 1995-03-31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 133,166,000 | 65,919,000 | 67,281,000 | 69,876,000 | 81,517,000 | 81,483,000 | 78,950,000 | 73,412,000 | 74,238,000 | 72,261,000 | 67,481,000 | 63,915,000 | 64,813,000 | 64,032,000 | 65,411,000 | 58,135,000 | 49,677,000 | 50,515,000 | 47,472,000 | 46,690,000 | 41,676,000 | 41,391,000 | 40,333,000 | 39,554,000 | 41,832,000 | 38,775,000 | 36,523,000 | 36,143,000 | 34,980,000 | 38,600,000 | 33,964,000 | 32,522,000 | 32,819,000 | 33,546,000 | 29,890,000 | 29,847,000 | 30,656,000 | 28,719,000 | 13,392,000 | 14,131,000 | 13,622,000 | 13,265,000 | 12,935,000 | 13,215,000 | 12,438,000 | 13,818,000 | 12,290,000 | 12,300,000 | 12,028,000 | 12,199,000 | 11,667,000 | 11,637,000 | 9,685,000 | 10,517,000 | 10,139,000 | 6,060,000 | 7,678,000 | 7,752,000 | 9,178,000 | 7,763,000 | 7,438,000 | 6,907,000 | 7,545,000 | 6,553,000 | 6,046,000 | 6,392,000 | 6,402,000 | 7,031,000 | 7,309,000 | 6,959,000 | 7,181,000 | 3,535,000 | 7,586,000 | 8,451,000 | 7,763,000 | 7,243,000 | 7,454,000 | 7,429,000 | 7,320,000 | 7,266,000 | 6,821,000 | 5,866,000 | 6,611,000 | 7,142,000 | 6,979,000 | 7,377,000 | 7,410,000 | 7,516,000 | 6,763,000 | 6,237,000 | 6,077,000 | 5,773,000 | 5,400,000 | 5,278,000 | 5,394,000 | 5,033,000 | 5,280,000 | 5,200,000 | 5,100,000 | 4,800,000 | 4,800,000 | 4,700,000 | 4,400,000 | 4,300,000 | 4,700,000 | 4,300,000 | 4,200,000 | 4,100,000 | 4,000,000 | 4,200,000 | 3,600,000 | 3,600,000 | 3,600,000 | 3,500,000 | 3,300,000 |
cost of revenue | 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 | 1,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 899,000 | 0 | -58,000 | 0 | 66,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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
gross profit | 133,166,000 | 65,919,000 | 67,281,000 | 69,876,000 | 81,517,000 | 81,483,000 | 78,950,000 | 73,412,000 | 74,238,000 | 72,261,000 | 67,481,000 | 63,915,000 | 64,813,000 | 64,032,000 | 65,411,000 | 58,135,000 | 49,677,000 | 50,515,000 | 47,472,000 | 46,690,000 | 41,676,000 | 41,391,000 | 40,333,000 | 39,554,000 | 41,832,000 | 38,775,000 | 36,523,000 | 36,143,000 | 34,979,000 | 38,600,000 | 33,964,000 | 32,522,000 | 32,819,000 | 33,546,000 | 29,890,000 | 29,847,000 | 30,655,000 | 28,719,000 | 13,392,000 | 14,131,000 | 13,622,000 | 13,265,000 | 12,935,000 | 13,215,000 | 12,438,000 | 12,919,000 | 12,290,000 | 12,358,000 | 12,028,000 | 12,133,000 | 11,667,000 | 11,637,000 | 9,685,000 | 10,517,000 | 10,139,000 | 6,060,000 | 7,678,000 | 7,752,000 | 9,178,000 | 7,763,000 | 7,438,000 | 6,907,000 | 7,545,000 | 6,553,000 | 6,046,000 | 6,392,000 | 6,402,000 | 7,031,000 | 7,309,000 | 6,959,000 | 7,181,000 | 3,535,000 | 7,586,000 | 8,451,000 | 7,763,000 | 7,243,000 | 7,454,000 | 7,429,000 | 7,320,000 | 7,266,000 | 6,821,000 | 5,866,000 | 6,611,000 | 7,142,000 | 6,979,000 | 7,377,000 | 7,410,000 | 7,516,000 | 6,763,000 | 6,237,000 | 6,077,000 | 5,773,000 | 5,400,000 | 5,278,000 | 5,394,000 | 5,033,000 | 5,280,000 | 5,200,000 | 5,100,000 | 4,800,000 | 4,800,000 | 4,700,000 | 4,400,000 | 4,300,000 | 4,700,000 | 4,300,000 | 4,200,000 | 4,100,000 | 4,000,000 | 4,200,000 | 3,600,000 | 3,600,000 | 3,600,000 | 3,500,000 | 3,300,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 | 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 | 13,127,000 | -37,284,000 | -38,450,000 | 532,000 | 454,000 | 461,000 | 426,000 | 351,000 | 1,318,000 | 345,000 | 278,000 | 241,000 | 1,200,000 | 214,000 | 426,000 | 304,000 | 1,353,000 | 473,000 | 397,000 | 210,000 | 980,000 | 192,000 | 337,000 | 207,000 | 996,000 | 225,000 | 289,000 | 256,000 | 1,040,000 | 293,000 | 250,000 | 184,000 | 847,000 | 247,000 | 193,000 | 194,000 | 498,000 | 209,000 | 27,000 | 40,000 | 304,000 | 94,000 | 62,000 | 101,000 | 186,000 | 64,000 | 56,000 | 31,000 | 131,000 | 30,000 | 65,000 | 21,000 | 268,000 | 36,000 | 105,000 | 93,000 | 366,000 | 75,000 | 141,000 | 130,000 | 613,000 | 145,000 | 188,000 | 160,000 | 1,441,000 | 152,000 | 109,000 | 163,000 | 1,004,000 | 164,000 | 187,000 | 114,000 | -9,564,000 | 183,000 | 160,000 | 172,000 | 529,000 | -1,424,000 | -1,876,000 | -2,009,000 | -1,662,000 | -1,407,000 | -1,485,000 | -1,578,000 | -981,000 | -491,000 | -696,000 | -868,000 | -659,000 | -187,000 | 320,000 | 661,000 | 1,061,000 | 775,000 | 387,000 | 250,000 | -97,000 | -100,000 | -200,000 | -200,000 | 0 | 200,000 | 700,000 | 800,000 | 1,000,000 | 900,000 | 1,000,000 | 900,000 | 600,000 | 500,000 | 500,000 | 500,000 | 0 | 300,000 | 100,000 |
operating income | 0 | 28,635,000 | 28,831,000 | 83,019,000 | 79,365,000 | 57,611,000 | 54,971,000 | 52,298,000 | 53,918,000 | 52,829,000 | 53,757,000 | 56,185,000 | 48,748,000 | 50,445,000 | 36,124,000 | 29,436,000 | 48,256,000 | 50,833,000 | 47,891,000 | 35,178,000 | 40,077,000 | 38,180,000 | 37,008,000 | 17,782,000 | 34,440,000 | 28,802,000 | 19,115,000 | 25,489,000 | 3,202,000 | 26,208,000 | 24,119,000 | 22,997,000 | 21,548,000 | 23,116,000 | 21,428,000 | 21,268,000 | 17,651,000 | 7,857,000 | 9,097,000 | 8,737,000 | 9,591,000 | 9,879,000 | 9,610,000 | 9,411,000 | 8,986,000 | 9,021,000 | 9,517,000 | 9,436,000 | 8,607,000 | 8,653,000 | 8,603,000 | 7,651,000 | 4,777,000 | 7,421,000 | 4,769,000 | 2,891,000 | 5,989,000 | 8,336,000 | 7,787,000 | 6,586,000 | 8,051,000 | 7,693,000 | 7,637,000 | 8,123,000 | 7,487,000 | 7,667,000 | 7,965,000 | 8,434,000 | 8,313,000 | 8,904,000 | 8,161,000 | 4,165,000 | 8,920,000 | 8,933,000 | 7,828,000 | 6,445,000 | 6,508,000 | 6,005,000 | 5,444,000 | 5,257,000 | 5,159,000 | 4,459,000 | 5,126,000 | 5,564,000 | 5,998,000 | 6,886,000 | 6,714,000 | 6,648,000 | 6,104,000 | 6,050,000 | 6,397,000 | 6,434,000 | 6,461,000 | 6,053,000 | 5,781,000 | 5,283,000 | 5,183,000 | 5,100,000 | 4,900,000 | 4,600,000 | 4,800,000 | 4,900,000 | 5,100,000 | 5,100,000 | 5,700,000 | 5,200,000 | 5,200,000 | 5,000,000 | 4,600,000 | 4,700,000 | 4,100,000 | 4,100,000 | 3,600,000 | 3,800,000 | 3,400,000 |
net income | 19,273,000 | 21,407,000 | 21,394,000 | 24,929,000 | 32,557,000 | 27,339,000 | 30,779,000 | 29,792,000 | 33,038,000 | 32,097,000 | 32,219,000 | 32,999,000 | 25,641,000 | 24,786,000 | 14,832,000 | 6,030,000 | 20,783,000 | 21,696,000 | 19,281,000 | 11,635,000 | 18,672,000 | 19,902,000 | 17,527,000 | 4,251,000 | 10,580,000 | 13,077,000 | 7,683,000 | 11,880,000 | -2,024,000 | 11,856,000 | 10,859,000 | 10,391,000 | 9,568,000 | 10,842,000 | 10,521,000 | 10,379,000 | 8,023,000 | 1,766,000 | 4,378,000 | 4,398,000 | 4,984,000 | 5,094,000 | 4,923,000 | 4,924,000 | 4,469,000 | 4,454,000 | 4,353,000 | 4,231,000 | 3,622,000 | 3,702,000 | 3,584,000 | 3,018,000 | 2,570,000 | 2,139,000 | 2,014,000 | 281,000 | 1,038,000 | 1,535,000 | 1,201,000 | 799,000 | 1,699,000 | 1,518,000 | 1,408,000 | 1,217,000 | 532,000 | 998,000 | 1,017,000 | 1,309,000 | 2,291,000 | 1,302,000 | 1,372,000 | -1,067,000 | 1,932,000 | 2,036,000 | 1,933,000 | 1,745,000 | 2,099,000 | 2,017,000 | 1,782,000 | 1,724,000 | 1,711,000 | 1,515,000 | 1,507,000 | 1,686,000 | 1,777,000 | 2,104,000 | 2,087,000 | 2,035,000 | 1,761,000 | 1,495,000 | 1,400,000 | 1,355,000 | 1,335,000 | 1,243,000 | 1,231,000 | 1,196,000 | 1,129,000 | 1,200,000 | 1,200,000 | 1,100,000 | 1,100,000 | 1,000,000 | 1,000,000 | 1,100,000 | 1,400,000 | 900,000 | 900,000 | 1,200,000 | 1,000,000 | 1,000,000 | 1,000,000 | 1,200,000 | 900,000 | 1,100,000 | 1,000,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.
