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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 111,695,000 | 71,745,000 | 60,837,000 | 64,447,000 | 62,570,000 | 65,048,000 | 670,000 | 1,078,000 | 60,868,000 | 61,855,000 | 61,031,000 | 54,513,000 | 48,987,000 | 46,095,000 | 45,467,000 | 46,383,000 | 45,857,000 | 44,042,000 | 44,901,000 | 46,891,000 | 42,649,000 | 38,006,000 | 35,815,000 | 30,682,000 | 30,685,000 | 30,534,000 | 31,922,000 | 30,268,000 | 28,435,000 | 24,521,000 | 22,429,000 | 22,731,000 | 21,999,000 | 19,005,000 | 17,881,000 | 17,411,000 | 17,617,000 | 17,404,000 | 17,802,000 | 17,028,000 | 17,137,000 | 18,319,000 | 17,055,000 | 16,754,000 | 17,526,000 | 17,006,000 | 16,755,000 | 16,633,000 | 16,565,000 | 15,842,000 | 15,999,000 | 15,895,000 | 15,620,000 | 13,855,000 | 12,808,000 | 13,082,000 | 13,081,000 | 12,467,000 | 12,135,000 | 13,156,000 | 12,713,000 | 12,921,000 | 12,880,000 | 12,472,000 | 11,944,000 | 11,504,000 | 11,206,000 | 11,509,000 | 11,652,000 | 11,211,000 | 11,180,000 | 10,273,000 | 10,484,000 | 10,386,000 | 10,290,000 | 10,251,000 | 10,115,000 | 9,989,000 | 9,977,000 | 9,938,000 | 9,419,000 | 10,228,000 | 9,740,000 | 9,910,000 | 9,948,000 | 9,791,000 | 9,167,000 | 8,718,000 | 8,863,000 | 8,213,000 | 8,073,000 | 7,439,000 | 7,323,000 | 6,873,000 | 7,002,000 | 1,760,000 | 1,833,000 | 1,715,000 | 1,837,000 | 1,918,000 |
cost of revenue | 21,768,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 618,000 | 1,074,000 | 838,000 | 681,000 | 730,000 | 274,000 | 605,000 | 3,488,000 | 0 | 0 | 0 | 2,971,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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
gross profit | 89,927,000 | 71,745,000 | 60,837,000 | 64,447,000 | 62,570,000 | 65,048,000 | 670,000 | 1,078,000 | 60,868,000 | 61,237,000 | 59,957,000 | 53,675,000 | 48,306,000 | 45,365,000 | 45,193,000 | 45,778,000 | 42,369,000 | 44,042,000 | 44,901,000 | 46,891,000 | 39,678,000 | 38,006,000 | 35,815,000 | 30,682,000 | 30,685,000 | 30,534,000 | 31,922,000 | 30,268,000 | 28,435,000 | 24,521,000 | 22,429,000 | 22,731,000 | 21,999,000 | 19,005,000 | 17,881,000 | 17,411,000 | 17,617,000 | 17,404,000 | 17,802,000 | 17,028,000 | 17,137,000 | 18,319,000 | 17,055,000 | 16,754,000 | 17,526,000 | 17,006,000 | 16,755,000 | 16,633,000 | 16,565,000 | 15,842,000 | 15,999,000 | 15,895,000 | 15,620,000 | 13,855,000 | 12,808,000 | 13,082,000 | 13,081,000 | 12,467,000 | 12,135,000 | 13,156,000 | 12,713,000 | 12,921,000 | 12,880,000 | 12,472,000 | 11,944,000 | 11,504,000 | 11,206,000 | 11,509,000 | 11,652,000 | 11,211,000 | 11,180,000 | 10,273,000 | 10,484,000 | 10,386,000 | 10,290,000 | 10,251,000 | 10,115,000 | 9,989,000 | 9,977,000 | 9,938,000 | 9,419,000 | 10,228,000 | 9,740,000 | 9,910,000 | 9,948,000 | 9,791,000 | 9,167,000 | 8,718,000 | 8,863,000 | 8,213,000 | 8,073,000 | 7,439,000 | 7,323,000 | 6,873,000 | 7,002,000 | 1,760,000 | 1,833,000 | 1,715,000 | 1,837,000 | 1,918,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 |
sales, general and administrative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 19,123,000 | -51,256,000 | -39,484,000 | 654,000 | -706,000 | 739,000 | 706,000 | 26,070,000 | 73,223,000 | 679,000 | 507,000 | 502,000 | -24,397,000 | 387,000 | 314,000 | 481,000 | -19,956,000 | 523,000 | 481,000 | 454,000 | -20,453,000 | 468,000 | 431,000 | 354,000 | -18,334,000 | 338,000 | 277,000 | 294,000 | -14,541,000 | 285,000 | 239,000 | 962,000 | -12,755,000 | -11,483,000 | 277,000 | 217,000 | -9,739,000 | 246,000 | 245,000 | 264,000 | -10,530,000 | 314,000 | 264,000 | 243,000 | -10,686,000 | 138,000 | 322,000 | 229,000 | 1,050,000 | 320,000 | 258,000 | 201,000 | 940,000 | 212,000 | 207,000 | 203,000 | 963,000 | 274,000 | 261,000 | 191,000 | 847,000 | 346,000 | 115,000 | 176,000 | 911,000 | 353,000 | 63,000 | 206,000 | 945,000 | -583,000 | -1,462,000 | -2,003,000 | -2,230,000 | -2,422,000 | -2,993,000 | -3,144,000 | -3,390,000 | -3,328,000 | -3,697,000 | -3,668,000 | -3,361,000 | -3,771,000 | -3,426,000 | -3,076,000 | -3,148,000 | -3,311,000 | -2,608,000 | -1,857,000 | -1,587,000 | -316,000 | -52,000 | 873,000 | 911,000 | 888,000 | 216,000 | 5,295,000 | 4,996,000 | 4,820,000 | 4,453,000 | 4,312,000 |
operating income | 21,653,000 | 20,489,000 | 21,353,000 | 45,390,000 | 40,760,000 | 31,854,000 | 29,663,000 | 27,148,000 | 25,557,000 | 30,366,000 | 22,028,000 | 10,301,000 | 23,909,000 | 20,867,000 | 18,889,000 | 19,465,000 | 22,413,000 | 23,324,000 | 22,063,000 | 24,507,000 | 19,225,000 | 15,481,000 | 16,850,000 | 14,442,000 | 12,351,000 | 14,446,000 | 15,160,000 | 12,232,000 | 13,894,000 | 10,691,000 | 9,910,000 | 9,604,000 | 9,244,000 | 7,522,000 | 8,124,000 | 7,890,000 | 7,878,000 | 7,888,000 | 8,138,000 | 7,380,000 | 6,607,000 | 7,086,000 | 6,750,000 | 7,758,000 | 6,840,000 | 7,199,000 | 7,257,000 | 7,296,000 | 7,073,000 | 6,276,000 | 6,254,000 | 6,802,000 | 6,292,000 | 5,696,000 | 5,323,000 | 7,293,000 | 5,845,000 | 7,256,000 | 7,297,000 | 7,660,000 | 7,813,000 | 9,151,000 | 9,566,000 | 10,781,000 | 11,221,000 | 11,130,000 | 10,683,000 | 10,641,000 | 11,137,000 | 10,628,000 | 9,718,000 | 8,270,000 | 8,254,000 | 7,964,000 | 7,297,000 | 7,107,000 | 6,725,000 | 6,661,000 | 6,280,000 | 6,270,000 | 6,058,000 | 6,457,000 | 6,314,000 | 6,834,000 | 6,800,000 | 6,480,000 | 6,559,000 | 6,861,000 | 7,276,000 | 7,897,000 | 8,021,000 | 7,952,000 | 8,234,000 | 7,761,000 | 7,218,000 | 7,055,000 | 6,829,000 | 6,535,000 | 6,290,000 | 6,230,000 |
net income | 18,071,000 | 15,117,000 | 16,567,000 | 19,180,000 | 20,639,000 | 17,939,000 | 17,758,000 | 16,616,000 | 16,834,000 | 18,326,000 | 12,221,000 | 4,109,000 | 13,569,000 | 11,565,000 | 10,137,000 | 9,999,000 | 11,976,000 | 11,670,000 | 10,981,000 | 13,316,000 | 9,939,000 | 8,234,000 | 10,037,000 | 8,390,000 | 4,625,000 | 7,595,000 | 8,200,000 | 6,264,000 | 6,797,000 | 5,308,000 | 4,929,000 | 4,806,000 | 4,654,000 | 3,663,000 | 4,156,000 | 4,039,000 | 3,910,000 | 3,915,000 | 4,029,000 | 3,607,000 | 3,619,000 | 3,910,000 | 3,665,000 | 3,528,000 | 3,509,000 | 3,647,000 | 3,479,000 | 3,390,000 | 3,270,000 | 2,679,000 | 2,578,000 | 2,845,000 | 2,419,000 | 2,012,000 | 1,782,000 | 2,548,000 | 1,886,000 | 2,144,000 | 1,999,000 | 2,185,000 | 2,091,000 | 2,817,000 | 2,694,000 | 2,922,000 | 2,689,000 | 2,469,000 | 2,407,000 | 2,594,000 | 2,650,000 | 2,433,000 | 2,522,000 | 2,404,000 | 2,565,000 | 2,445,000 | 2,362,000 | 2,435,000 | 2,570,000 | 2,429,000 | 2,363,000 | 2,389,000 | 2,216,000 | 2,393,000 | 2,122,000 | 2,362,000 | 2,120,000 | 1,987,000 | 1,962,000 | 1,965,000 | 1,744,000 | 1,692,000 | 1,615,000 | 1,465,000 | 1,451,000 | 1,284,000 | 1,495,000 | 1,430,000 | 1,304,000 | 1,273,000 | 1,299,000 | 1,356,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.
