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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 18,294,000 | 10,623,000 | 11,782,000 | 12,680,000 | 14,442,000 | 14,956,000 | 14,841,000 | 15,457,000 | 15,155,000 | 15,086,000 | 14,811,000 | 15,445,000 | 16,284,000 | 16,041,000 | 16,227,000 | 15,818,000 | 15,509,000 | 16,653,000 | 15,935,000 | 18,276,000 | 15,704,000 | 15,507,000 | 15,744,000 | 15,981,000 | 15,757,000 | 15,568,000 | 15,583,000 | 15,682,000 | 15,499,000 | 15,708,000 | 15,733,000 | 15,383,000 | 15,637,000 | 15,529,000 | 15,304,000 | 15,018,000 | 14,674,000 | 14,837,000 | 14,648,000 | 14,515,000 | 14,689,000 | 14,894,000 | 14,484,000 | 14,542,000 | 14,593,000 | 14,522,000 | 14,380,000 | 14,493,000 | 14,730,000 | 14,086,000 | 14,099,000 | 13,644,000 | 12,893,000 | 12,757,000 | 12,728,000 | 12,441,000 | 12,501,000 | 11,676,000 | 11,177,000 | 12,173,000 | 10,599,000 | 10,703,000 | 10,210,000 | 9,069,000 | 7,137,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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 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 | 18,294,000 | 10,623,000 | 11,782,000 | 12,680,000 | 14,442,000 | 14,956,000 | 14,841,000 | 15,457,000 | 15,155,000 | 15,086,000 | 14,811,000 | 15,445,000 | 16,284,000 | 16,041,000 | 16,227,000 | 15,818,000 | 15,509,000 | 16,653,000 | 15,935,000 | 18,276,000 | 15,704,000 | 15,507,000 | 15,744,000 | 15,981,000 | 15,757,000 | 15,568,000 | 15,583,000 | 15,682,000 | 15,499,000 | 15,708,000 | 15,733,000 | 15,383,000 | 15,637,000 | 15,529,000 | 15,304,000 | 15,018,000 | 14,674,000 | 14,837,000 | 14,648,000 | 14,515,000 | 14,689,000 | 14,894,000 | 14,484,000 | 14,542,000 | 14,593,000 | 14,522,000 | 14,380,000 | 14,493,000 | 14,730,000 | 14,086,000 | 14,099,000 | 13,644,000 | 12,893,000 | 12,757,000 | 12,728,000 | 12,441,000 | 12,501,000 | 11,676,000 | 11,177,000 | 12,173,000 | 10,599,000 | 10,703,000 | 10,210,000 | 9,069,000 | 7,137,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 |
sales, general and administrative | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 1,382,000 | -9,408,000 | -9,722,000 | 1,029,000 | 4,252,000 | 1,112,000 | 1,125,000 | -8,278,000 | 20,602,000 | 1,215,000 | 1,274,000 | 1,113,000 | 19,484,000 | 1,046,000 | 843,000 | 1,089,000 | -20,756,000 | 1,165,000 | 1,042,000 | 1,259,000 | -20,581,000 | 1,038,000 | 1,153,000 | 1,135,000 | 19,153,000 | 997,000 | 1,328,000 | 1,126,000 | 19,724,000 | 939,000 | 1,160,000 | 1,082,000 | -7,660,000 | 1,048,000 | 1,187,000 | 1,214,000 | -7,235,000 | 1,045,000 | 935,000 | 966,000 | -7,586,000 | 969,000 | 1,208,000 | 1,051,000 | 19,059,000 | 964,000 | 966,000 | 1,139,000 | 20,195,000 | 954,000 | 933,000 | 1,000,000 | 17,274,000 | 952,000 | 909,000 | 982,000 | 15,801,000 | 812,000 | 704,000 | 870,000 | -3,768,000 | -959,000 | -309,000 | 696,000 | 1,696,000 |
operating income | 16,912,000 | 1,215,000 | 2,060,000 | 6,789,000 | 6,432,000 | 7,106,000 | 6,924,000 | 7,179,000 | 7,032,000 | 7,101,000 | 7,243,000 | 8,703,000 | -67,570,000 | 8,630,000 | 9,100,000 | 10,127,000 | 10,502,000 | 11,538,000 | 10,927,000 | 12,366,000 | 10,122,000 | 9,571,000 | 9,585,000 | 9,574,000 | -65,986,000 | 9,271,000 | 9,205,000 | 9,025,000 | -66,548,000 | 8,920,000 | 8,605,000 | 8,179,000 | 7,977,000 | 7,722,000 | 7,914,000 | 7,436,000 | 7,439,000 | 7,286,000 | 7,257,000 | 7,142,000 | 7,103,000 | 7,649,000 | 7,515,000 | 7,508,000 | -62,454,000 | 7,984,000 | 8,478,000 | 8,349,000 | -62,024,000 | 7,776,000 | 8,297,000 | 7,955,000 | -55,200,000 | 8,652,000 | 9,211,000 | 6,291,000 | -50,827,000 | 5,971,000 | 8,718,000 | 9,480,000 | 6,831,000 | 9,744,000 | 9,901,000 | 9,765,000 | 8,833,000 |
net income | 334,000 | 880,000 | 1,497,000 | 2,316,000 | 3,445,000 | 3,891,000 | 4,110,000 | 4,710,000 | 4,197,000 | 4,162,000 | 4,058,000 | 5,013,000 | 5,523,000 | 4,318,000 | 4,291,000 | 4,473,000 | 5,045,000 | 5,366,000 | 5,060,000 | 6,524,000 | 4,643,000 | 4,786,000 | 4,963,000 | 4,820,000 | 2,167,000 | 4,173,000 | 4,301,000 | 4,321,000 | 4,362,000 | 4,164,000 | 4,037,000 | 3,784,000 | 3,699,000 | 3,686,000 | 3,837,000 | 3,526,000 | 3,454,000 | 3,462,000 | 3,719,000 | 3,462,000 | 3,514,000 | 3,831,000 | 3,661,000 | 3,641,000 | 3,805,000 | 3,647,000 | 3,846,000 | 3,540,000 | 3,418,000 | 2,986,000 | 3,385,000 | 3,000,000 | 3,198,000 | 3,134,000 | 3,235,000 | 1,461,000 | 3,009,000 | 729,000 | 2,255,000 | 2,671,000 | 673,000 | 2,386,000 | 2,328,000 | 1,813,000 | 873,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.
