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-04-26 | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 25,283,000 | 17,932,000 | 18,125,000 | 16,299,000 | 313,000 | 228,000 | 15,919,000 | 14,940,000 | 15,132,000 | 15,044,000 | 16,081,000 | 15,524,000 | 15,780,000 | 16,580,000 | 14,632,000 | 14,770,000 | 15,031,000 | 15,132,000 | 15,115,000 | 14,884,000 | 15,227,000 | 14,339,000 | 13,908,000 | 13,436,000 | 13,396,000 | 13,552,000 | 13,120,000 | 12,342,000 | 12,952,000 | 12,568,000 | 12,575,000 | 12,420,000 | 12,154,000 | 12,614,000 | 12,339,000 | 11,613,000 | 11,928,000 | 11,709,000 | 11,714,000 | 11,601,000 | 11,275,000 | 11,065,000 | 11,014,000 | 10,846,000 | 11,067,000 | 10,422,000 | 10,699,000 | 11,441,000 | 11,524,000 | 13,195,000 | 12,340,000 | 11,349,000 | 12,116,000 | 13,129,000 | 12,336,000 | 11,327,000 | 10,715,000 | 11,384,000 | 10,774,000 | 12,450,000 | 10,065,000 | 10,636,050 | 11,000,936 | 11,174,532 | 10,479,316 | 10,803,676 | 10,593,523 | 10,849,892 | 10,715,297 | 8,764,245 | 10,585,099 | 10,542,446 | 9,945,747 | 9,092,434 | 9,169,319 | 8,504,348 | 7,872,424 | 7,652,237 | 7,580,633 | 7,375,679 | 7,369,156 | 7,092,467 | 7,006,971 | 6,490,991 | 7,440,521 | 7,138,388 | 7,775,166 | 6,418,092 | 6,005,585 | 6,935,044 | 6,725,637 | 6,841,271 | 6,632,057 | 6,420,279 | 6,446,387 | 6,551,210 | 5,925,072 | 5,591,829 | 5,400,000 | 5,200,000 | 4,900,000 | 5,100,000 | 4,700,000 | 4,400,000 | 4,200,000 | 3,800,000 | 3,800,000 | 3,600,000 | 3,200,000 | 3,200,000 | 3,000,000 | 2,900,000 | 2,700,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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 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 | 25,283,000 | 17,932,000 | 18,125,000 | 16,299,000 | 313,000 | 228,000 | 15,919,000 | 14,940,000 | 15,132,000 | 15,044,000 | 16,081,000 | 15,524,000 | 15,780,000 | 16,580,000 | 14,632,000 | 14,770,000 | 15,031,000 | 15,132,000 | 15,115,000 | 14,884,000 | 15,227,000 | 14,339,000 | 13,908,000 | 13,436,000 | 13,396,000 | 13,552,000 | 13,120,000 | 12,342,000 | 12,952,000 | 12,568,000 | 12,575,000 | 12,420,000 | 0 | 12,614,000 | 12,339,000 | 11,613,000 | 11,928,000 | 11,709,000 | 11,714,000 | 11,601,000 | 11,275,000 | 11,065,000 | 11,014,000 | 10,846,000 | 11,067,000 | 10,422,000 | 10,699,000 | 11,441,000 | 11,524,000 | 13,195,000 | 12,340,000 | 11,349,000 | 12,116,000 | 13,129,000 | 12,336,000 | 11,327,000 | 10,715,000 | 11,384,000 | 10,774,000 | 12,450,000 | 10,065,000 | 10,636,050 | 11,000,936 | 11,174,532 | 10,479,316 | 10,803,676 | 10,593,523 | 10,849,892 | 10,715,297 | 8,764,245 | 10,585,099 | 10,542,446 | 9,945,747 | 9,092,434 | 9,169,319 | 8,504,348 | 7,872,424 | 7,652,237 | 7,580,633 | 7,375,679 | 7,369,156 | 7,092,467 | 7,006,971 | 6,490,991 | 7,440,521 | 7,138,388 | 7,775,166 | 6,418,092 | 6,005,585 | 6,935,044 | 6,725,637 | 6,841,271 | 6,632,057 | 6,420,279 | 6,446,387 | 6,551,210 | 5,925,072 | 5,591,829 | 5,400,000 | 5,200,000 | 4,900,000 | 5,100,000 | 4,700,000 | 4,400,000 | 4,200,000 | 3,800,000 | 3,800,000 | 3,600,000 | 3,200,000 | 3,200,000 | 3,000,000 | 2,900,000 | 2,700,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 |
sales and marketing | 188,000 | 562,000 | 156,000 | 189,000 | 184,000 | 175,000 | 169,000 | 165,000 | 148,000 | 91,000 | 154,000 | 143,000 | 221,000 | 152,000 | 196,000 | 218,000 | 246,000 | 234,000 | 275,000 | 266,000 | 214,000 | 207,000 | 260,000 | 241,000 | 336,000 | 247,000 | 366,000 | 246,000 | 513,000 | 313,000 | 148,000 | 162,000 | 162,000 | 208,000 | 172,000 | 218,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 | 1,076,461 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 100,000 | 0 | 0 | 100,000 |
general and administrative | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 7,321,000 | 6,722,000 | 6,286,000 | 6,500,000 | 7,661,000 | 6,177,000 | 6,443,000 | 5,849,000 | 6,603,000 | 6,054,000 | 5,666,000 | 6,183,000 | 6,542,000 | 5,737,000 | 5,535,000 | 5,724,000 | 6,178,000 | 5,695,000 | 5,718,000 | 5,647,000 | 5,664,000 | 5,519,000 | 5,385,000 | 4,962,000 | 5,020,000 | 4,933,000 | 4,871,000 | 5,234,000 | 5,150,000 | 4,830,000 | 4,704,000 | 4,581,000 | 4,752,000 | 4,602,000 | 4,596,000 | 4,286,000 | 4,801,000 | 4,747,000 | 4,301,000 | 4,207,000 | 4,276,000 | 4,237,000 | 4,183,000 | 4,240,000 | 4,190,000 | 4,466,000 | 4,187,000 | 3,931,000 | 3,841,000 | 3,937,000 | 3,489,000 | 3,673,000 | 3,667,000 | 3,660,000 | 3,511,000 | 3,433,000 | 3,520,000 | 3,527,000 | 3,596,000 | 4,056,000 | 3,579,000 | 3,759,804 | 3,889,129 | 3,830,925 | 3,714,535 | 3,980,173 | 3,235,765 | 3,298,737 | 3,373,166 | 1,884,488 | 3,396,804 | 3,265,032 | 3,238,770 | 3,255,271 | 3,060,582 | 2,971,765 | 3,062,501 | 3,137,711 | 2,792,716 | 2,766,467 | 2,780,601 | 2,626,339 | 2,543,962 | 2,365,716 | 2,563,794 | 2,255,498 | 2,459,645 | 2,416,871 | 2,437,002 | 2,276,772 | 2,001,725 | 2,389,034 | 2,447,965 | 2,168,947 | 2,317,036 | 2,191,907 | 2,221,395 | 2,037,404 | 2,100,000 | 1,800,000 | 1,800,000 | 2,000,000 | 1,800,000 | 1,400,000 | 1,300,000 | 1,300,000 | 1,300,000 | 1,100,000 | 1,000,000 | 1,100,000 | 1,100,000 | 1,000,000 | 1,000,000 |
operating income | 5,457,000 | -12,635,000 | -11,945,000 | -10,716,000 | 6,134,000 | 588,000 | -11,896,000 | -10,640,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 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
net income | 19,826,000 | 5,297,000 | 6,180,000 | 5,583,000 | 6,447,000 | 7,541,000 | 4,023,000 | 4,300,000 | 3,739,000 | 4,214,000 | 5,809,000 | 5,167,000 | 2,294,000 | 5,622,000 | 3,096,000 | 2,834,000 | 3,638,000 | 4,455,000 | 4,658,000 | 4,452,000 | 4,126,000 | 4,154,000 | 3,771,000 | 3,955,000 | 3,329,000 | 4,419,000 | 3,736,000 | 2,783,000 | 1,266,000 | 3,330,000 | 3,997,000 | 3,144,000 | 0 | 2,801,000 | 3,435,000 | 3,490,000 | 3,007,000 | 1,440,000 | 2,917,000 | 3,467,000 | 3,501,000 | 1,412,000 | 2,788,000 | 2,094,000 | 2,276,000 | 1,400,000 | 1,782,000 | 1,995,000 | 2,204,000 | 2,485,000 | 1,798,000 | 573,000 | 1,766,000 | -903,000 | 498,000 | 1,091,000 | 1,144,000 | 764,000 | 291,000 | 2,243,000 | 957,000 | 377,495 | 2,688,340 | 3,380,094 | 3,157,951 | 2,440,790 | 4,083,443 | 4,036,028 | 4,371,251 | 2,953,779 | 3,717,037 | 4,186,032 | 3,484,269 | 2,455,971 | 2,851,673 | 2,480,659 | 1,923,577 | 1,580,144 | 1,659,214 | 1,634,262 | 1,790,616 | 193,437 | 626,004 | 39,100 | 2,200,588 | 894,456 | 2,003,525 | 958,699 | 1,290,876 | 673,778 | 2,101,865 | 2,018,434 | 2,042,817 | 2,015,685 | 2,075,180 | 1,988,381 | 1,875,624 | 1,735,325 | 1,600,000 | 1,600,000 | 1,600,000 | 1,500,000 | 1,500,000 | 1,500,000 | 1,400,000 | 400,000 | 1,200,000 | 1,100,000 | 800,000 | 500,000 | 800,000 | 700,000 | 700,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.
