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 | 2013-03-03 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 35,909,000 | 36,464,000 | 38,658,000 | 36,554,000 | 37,217,000 | 39,834,000 | 36,399,000 | 35,531,000 | 35,307,000 | 34,334,000 | 33,371,000 | 34,677,000 | 32,865,000 | 33,142,000 | 33,525,000 | 33,619,000 | 29,386,000 | 28,667,000 | 28,197,000 | 28,137,000 | 27,260,000 | 26,591,000 | 26,593,000 | 26,353,000 | 25,252,000 | 24,365,000 | 22,867,000 | 22,314,000 | 22,009,000 | 21,589,000 | 21,247,000 | 21,527,000 | 21,783,000 | 21,375,000 | 20,688,000 | 19,880,000 | 19,216,000 | 19,014,000 | 18,390,000 | 17,136,000 | 16,861,000 | 16,190,000 | 14,258,000 | 14,035,000 | 14,035,000 | 13,792,000 | 12,970,000 | 12,410,000 | 12,100,000 | 11,468,000 | 11,173,000 | 10,816,000 | 10,519,000 | 10,227,293 | 10,334,413 | 10,681,387 | 10,684,976 | 10,642,171 | 10,657,094 | 10,651,489 | 10,684,054 | 10,714,919 | 10,457,143 | 10,225,458 | 9,513,481 | 8,969,692 | 8,360,508 | 8,079,568 | 7,383,771 | 7,153,896 | 6,735,976 | 6,630,062 | 5,580,021 | 4,508,304 | 4,035,953 | 2,776,443 | 2,144,633 | 1,947,805 | 1,350,735 | 682,670 | 331,192 | 316,277 | 91,532 |
cost of revenue | 5,572,000 | 6,821,000 | 6,738,000 | 6,727,000 | 6,714,000 | 6,536,000 | 6,959,000 | 6,623,000 | 6,820,000 | 6,807,000 | 6,910,000 | 6,561,000 | 6,906,000 | 6,590,000 | 6,295,000 | 6,213,000 | 3,262,000 | 3,202,000 | 3,060,000 | 3,068,000 | 3,211,000 | 2,638,000 | 2,816,000 | 2,792,000 | 2,626,000 | 2,178,000 | 1,505,000 | 1,380,000 | 1,434,000 | 1,410,000 | 1,434,000 | 1,610,000 | 1,544,000 | 1,612,000 | 1,178,000 | 962,000 | 877,000 | 1,202,000 | 1,302,000 | 1,330,000 | 1,184,000 | 864,000 | 564,000 | 737,000 | 737,000 | 557,000 | 345,000 | 353,000 | 333,000 | 236,000 | 251,000 | 202,000 | 297,000 | 233,147 | 262,686 | 229,733 | 244,354 | 227,991 | 219,537 | 230,785 | 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 | 30,337,000 | 29,643,000 | 31,920,000 | 29,827,000 | 30,503,000 | 33,298,000 | 29,440,000 | 28,908,000 | 28,487,000 | 27,527,000 | 26,461,000 | 28,116,000 | 25,959,000 | 26,552,000 | 27,230,000 | 27,406,000 | 26,124,000 | 25,465,000 | 25,137,000 | 25,069,000 | 24,049,000 | 23,953,000 | 23,777,000 | 23,561,000 | 22,626,000 | 22,187,000 | 21,362,000 | 20,934,000 | 20,575,000 | 20,179,000 | 19,813,000 | 19,917,000 | 20,239,000 | 19,763,000 | 19,510,000 | 18,918,000 | 18,339,000 | 17,812,000 | 17,088,000 | 15,806,000 | 15,677,000 | 15,326,000 | 13,694,000 | 13,298,000 | 13,298,000 | 13,235,000 | 12,625,000 | 12,057,000 | 11,767,000 | 11,232,000 | 10,922,000 | 10,614,000 | 10,222,000 | 9,994,146 | 10,071,727 | 10,451,654 | 10,440,622 | 10,414,180 | 10,437,557 | 10,420,704 | 10,684,054 | 10,714,919 | 10,457,143 | 10,225,458 | 9,513,481 | 8,969,692 | 8,360,508 | 8,079,568 | 7,383,771 | 7,153,896 | 6,735,976 | 6,630,062 | 5,580,021 | 4,508,304 | 4,035,953 | 2,776,443 | 2,144,633 | 1,947,805 | 1,350,735 | 682,670 | 331,192 | 316,277 | 91,532 |
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 |
sales, general and administrative | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 16,845,000 | 6,821,000 | 20,155,000 | 18,707,000 | 20,112,000 | 20,194,000 | 19,492,000 | 19,035,000 | 18,592,000 | 18,691,000 | 18,093,000 | 20,343,000 | 17,034,000 | 17,480,000 | 17,837,000 | 17,879,000 | 17,386,000 | 16,243,000 | 15,998,000 | 16,198,000 | 15,559,000 | 14,784,000 | 14,726,000 | 14,610,000 | 14,947,000 | 13,689,000 | 12,599,000 | 12,582,000 | 12,314,000 | 11,827,000 | 11,695,000 | 11,595,000 | 11,393,000 | 11,271,000 | 11,162,000 | 10,599,000 | 9,856,000 | 9,742,000 | 9,082,000 | 8,338,000 | 8,213,000 | 7,612,000 | 6,531,000 | 6,536,000 | 6,536,000 | 4,620,000 | 6,290,000 | 6,348,000 | 6,049,000 | 3,899,000 | 5,760,000 | 5,498,000 | 4,640,000 | 5,188,619 | 7,019,533 | 5,120,468 | 5,116,032 | 3,766,699 | 5,250,009 | 5,210,298 | 5,173,092 | 33,996,931 | -5,117,484 | -5,106,596 | 4,380,935 | 4,176,428 | 3,984,969 | 3,948,741 | 4,297,261 | 3,900,119 | 3,620,149 | 3,523,818 | 3,074,993 | 1,034,193 | 2,959,628 | 1,642,630 | 1,708,563 | 1,072,594 | 820,663 | 712,918 | 696,959 | 350,754 | 195,740 |
operating income | 13,434,000 | 13,631,000 | 12,530,000 | 11,225,000 | 10,307,000 | 13,420,000 | 10,067,000 | 9,977,000 | 9,623,000 | 8,836,000 | 8,368,000 | 7,773,000 | 8,925,000 | 9,072,000 | 9,393,000 | 9,527,000 | 8,738,000 | 9,222,000 | 9,139,000 | 8,871,000 | 8,490,000 | 9,169,000 | 9,051,000 | 8,951,000 | 7,679,000 | 8,498,000 | 8,763,000 | 8,352,000 | 8,261,000 | 8,352,000 | 8,118,000 | 8,322,000 | 8,846,000 | 8,492,000 | 8,348,000 | 8,319,000 | 8,483,000 | 8,070,000 | 8,006,000 | 7,468,000 | 7,464,000 | 7,714,000 | 7,163,000 | 6,762,000 | 6,762,000 | 8,615,000 | 6,870,000 | 6,383,000 | 6,303,000 | 7,333,000 | 5,990,000 | 5,561,000 | 5,582,000 | 4,805,527 | 3,052,194 | 5,331,186 | 1,083,017 | 6,647,481 | 5,187,548 | 5,210,406 | 5,510,962 | -23,282,012 | 15,574,627 | 15,332,054 | 13,894,416 | 4,793,264 | 12,345,477 | 4,130,827 | 3,086,510 | 3,253,777 | 3,115,827 | 3,106,244 | 2,505,028 | 3,474,111 | 1,076,325 | 1,133,813 | 436,070 | 875,211 | 530,072 | -30,248 | -365,767 | -338,574 | -195,740 |
net income | 4,537,000 | -1,419,000 | -4,515,000 | -7,160,000 | -7,830,000 | -6,610,000 | -5,549,000 | -3,195,000 | 3,074,000 | 4,477,000 | 2,142,000 | 79,000 | 8,829,000 | 2,846,000 | 993,000 | 2,267,000 | 573,000 | 2,207,000 | 2,221,000 | 4,628,000 | 2,513,000 | 2,677,000 | 2,525,000 | 4,605,000 | -1,466,000 | 2,383,000 | 661,000 | 4,356,000 | 2,293,000 | -73,000 | 883,000 | 853,000 | 2,566,000 | -96,000 | 431,000 | 694,000 | 6,164,000 | 229,000 | 1,219,000 | -13,514,000 | 333,000 | 309,000 | 451,000 | 433,000 | 433,000 | 614,000 | 992,000 | 854,000 | 1,301,000 | 1,116,000 | 1,748,000 | 1,370,000 | 1,480,000 | 806,870 | 2,028,252 | 1,006,451 | 1,086,333 | 1,117,542 | 1,278,990 | 1,116,936 | 1,089,569 | 1,135,240 | 1,141,559 | 1,219,445 | 1,416,702 | 1,463,114 | 1,590,460 | 1,556,312 | 1,530,342 | 895,850 | 1,777,419 | 852,765 | 846,800 | 1,049,817 | 867,411 | 1,149,531 | 535,184 | 999,919 | 685,038 | 132,275 | -193,305 | -126,009 | -104,208 |
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.
