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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
revenue | 88,345,000 | 53,892,000 | 53,981,000 | 54,191,000 | 58,525,000 | 1,368,000 | 53,191,000 | 51,242,000 | 49,963,000 | 47,981,000 | 44,754,000 | 46,680,000 | 47,140,000 | 40,638,000 | 37,295,000 | 34,562,000 | 35,788,000 | 35,428,000 | 34,902,000 | 33,164,000 | 31,854,000 | 32,044,000 | 30,794,000 | 28,117,000 | 28,803,000 | 28,008,000 | 26,928,000 | 26,553,000 | 25,414,000 | 26,404,000 | 23,773,000 | 22,085,000 | 23,074,000 | 22,453,000 | 22,292,000 | 21,680,000 | 23,538,000 | 21,936,000 | 21,957,000 | 21,484,000 | 20,955,000 | 17,896,000 | 17,597,000 | 16,522,000 | 16,391,000 | 16,749,000 | 15,807,000 | 15,526,000 | 15,542,000 | 16,857,000 | 16,759,000 | 13,810,000 | 13,747,000 | 13,807,000 | 12,941,000 | 11,475,000 | 11,481,000 | 9,484,000 | 12,169,000 | 11,154,000 | 13,340,000 | 8,276,000 | 10,849,000 | 10,588,000 | 11,314,000 | 10,111,000 | 9,702,000 | 8,965,000 | 9,334,000 | 9,026,000 | 9,109,000 | 8,985,000 | 8,749,000 | 8,432,000 | 8,245,000 | 7,842,000 | 6,893,000 | 7,783,000 | 7,597,000 | 7,690,000 | 7,772,000 | 7,822,000 | 7,928,000 | 7,797,000 | 7,963,000 | 7,876,000 | 7,599,000 | 7,135,000 | 7,245,000 | 7,121,000 | 6,542,000 | 6,352,000 | 6,415,000 | 6,277,000 | 6,402,000 | 6,199,000 | 6,300,000 | 5,800,000 | 5,100,000 | 4,700,000 | 4,800,000 | 4,700,000 | 4,650,000 | 4,400,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 | 587,000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 103,000 | 0 | 0 | 0 | 2,101,000 | 2,231,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 |
gross profit | 88,345,000 | 53,892,000 | 53,981,000 | 54,191,000 | 58,525,000 | 1,368,000 | 53,191,000 | 51,242,000 | 49,963,000 | 47,981,000 | 44,754,000 | 46,680,000 | 47,140,000 | 40,638,000 | 37,295,000 | 34,562,000 | 35,788,000 | 35,428,000 | 34,902,000 | 33,164,000 | 31,854,000 | 32,044,000 | 30,794,000 | 28,117,000 | 28,803,000 | 28,008,000 | 26,928,000 | 26,553,000 | 25,414,000 | 25,817,000 | 23,773,000 | 22,085,000 | 23,074,000 | 22,453,000 | 22,292,000 | 21,680,000 | 23,538,000 | 21,936,000 | 21,957,000 | 21,484,000 | 20,955,000 | 17,896,000 | 17,597,000 | 16,522,000 | 16,391,000 | 16,646,000 | 15,807,000 | 15,526,000 | 15,542,000 | 14,756,000 | 14,528,000 | 13,810,000 | 13,747,000 | 13,807,000 | 12,941,000 | 11,827,000 | 11,481,000 | 9,484,000 | 12,169,000 | 11,154,000 | 13,340,000 | 8,276,000 | 10,849,000 | 10,588,000 | 11,314,000 | 10,111,000 | 9,702,000 | 8,965,000 | 9,334,000 | 9,026,000 | 9,109,000 | 8,985,000 | 8,749,000 | 8,432,000 | 8,245,000 | 7,842,000 | 6,893,000 | 7,783,000 | 7,597,000 | 7,690,000 | 7,772,000 | 7,822,000 | 7,928,000 | 7,797,000 | 7,963,000 | 7,876,000 | 7,599,000 | 7,135,000 | 7,245,000 | 7,121,000 | 6,542,000 | 6,352,000 | 6,415,000 | 6,277,000 | 6,402,000 | 6,199,000 | 6,300,000 | 5,800,000 | 5,100,000 | 4,700,000 | 4,800,000 | 4,700,000 | 4,650,000 | 4,400,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 |
sales and marketing | 1,048,000 | 840,000 | 701,000 | 544,000 | 1,021,000 | 709,000 | 537,000 | 620,000 | 763,000 | 488,000 | 549,000 | 281,000 | 583,000 | 600,000 | 411,000 | 405,000 | 603,000 | 626,000 | 473,000 | 411,000 | 613,000 | 554,000 | 581,000 | 597,000 | 716,000 | 495,000 | 619,000 | 413,000 | 493,000 | 427,000 | 395,000 | 484,000 | 413,000 | 414,000 | 419,000 | 334,000 | 345,000 | 368,000 | 431,000 | 311,000 | 242,000 | 205,000 | 246,000 | 246,000 | 859,000 | 0 | 0 | 0 | 822,000 | 0 | 0 | 0 | 795,000 | 0 | 0 | 0 | 620,000 | 0 | 0 | 0 | 792,000 | 0 | 0 | 0 | 680,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 | 3,310,000 | 3,260,000 |
general and administrative | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
total operating expenses | 20,178,000 | 18,785,000 | 18,060,000 | 17,918,000 | 19,454,000 | 19,610,000 | 17,481,000 | 17,711,000 | 18,422,000 | 15,998,000 | 14,075,000 | 15,189,000 | 14,593,000 | 13,234,000 | 11,294,000 | 12,016,000 | 12,715,000 | 11,740,000 | 11,880,000 | 11,322,000 | 11,120,000 | 11,790,000 | 10,509,000 | 9,833,000 | 9,331,000 | 9,396,000 | 9,272,000 | 9,209,000 | 8,565,000 | 8,935,000 | 9,736,000 | 7,813,000 | 8,174,000 | 7,910,000 | 7,829,000 | 6,921,000 | 7,447,000 | 6,904,000 | 6,787,000 | 7,175,000 | 6,236,000 | 5,620,000 | 5,651,000 | 5,476,000 | 5,017,000 | 5,114,000 | 4,893,000 | 4,984,000 | 9,353,000 | 4,642,000 | 4,477,000 | 4,692,000 | 6,029,000 | 4,425,000 | 4,100,000 | 4,366,000 | 5,472,000 | 4,032,000 | 3,498,000 | 3,565,000 | 3,442,000 | 3,686,000 | 3,763,000 | 3,889,000 | 3,588,000 | 3,462,000 | 2,965,000 | 3,178,000 | 2,885,000 | 2,825,000 | 2,675,000 | 2,668,000 | 2,715,000 | 2,613,000 | 2,518,000 | 2,642,000 | 2,590,000 | 2,534,000 | 2,340,000 | 2,527,000 | 2,281,000 | 2,365,000 | 2,329,000 | 2,330,000 | 2,083,000 | 2,236,000 | 2,261,000 | 2,150,000 | 87,000 | 2,029,000 | 2,036,000 | 1,999,000 | 131,000 | 2,069,000 | 2,216,000 | 2,069,000 | 2,000,000 | 2,000,000 | 1,800,000 | 1,800,000 | 1,700,000 | 1,600,000 | 2,850,000 | 2,940,000 |
operating income | 14,513,000 | -36,763,000 | -11,749,000 | 1,389,000 | 2,162,000 | 1,728,000 | 1,713,000 | 1,457,000 | 5,598,000 | 1,223,000 | 1,446,000 | 1,434,000 | 4,983,000 | 1,202,000 | 1,091,000 | 1,050,000 | 4,627,000 | 1,328,000 | 1,043,000 | 964,000 | 4,196,000 | 1,157,000 | 1,131,000 | 1,105,000 | 3,571,000 | 1,056,000 | 1,285,000 | 962,000 | 3,571,000 | 891,000 | 759,000 | 858,000 | 3,133,000 | 852,000 | 757,000 | 646,000 | 2,818,000 | 777,000 | 733,000 | 753,000 | 2,257,000 | 518,000 | 748,000 | 646,000 | 2,124,000 | 5,011,000 | 4,162,000 | 4,418,000 | 1,778,000 | 4,558,000 | -4,628,000 | 5,016,000 | 1,644,000 | 5,128,000 | 4,277,000 | 4,718,000 | 1,517,000 | 5,003,000 | 3,738,000 | -3,469,000 | -11,338,000 | -2,667,000 | -2,938,000 | -2,874,000 | -2,402,000 | -861,000 | -670,000 | -823,000 | -8,168,000 | -421,000 | -786,000 | -1,121,000 | -7,773,000 | -1,215,000 | -1,283,000 | -1,747,000 | -7,401,000 | -1,910,000 | -1,700,000 | -1,868,000 | -7,024,000 | -1,344,000 | -1,518,000 | -1,702,000 | -1,327,000 | -1,205,000 | -1,092,000 | -1,001,000 | -336,000 | 16,000 | 409,000 | 604,000 | 543,000 | 684,000 | 381,000 | 170,000 | -200,000 | -100,000 | 0 | 200,000 | 300,000 | 200,000 | 6,160,000 | 6,200,000 |
net income | 0 | 17,129,000 | 42,232,000 | 37,479,000 | 31,481,000 | 26,740,000 | 23,998,000 | 24,181,000 | 21,974,000 | 25,222,000 | 24,094,000 | 24,301,000 | 17,931,000 | 18,953,000 | 19,689,000 | 21,849,000 | 25,355,000 | 23,968,000 | 22,475,000 | 21,769,000 | 20,300,000 | 19,059,000 | 17,237,000 | 14,496,000 | 14,552,000 | 15,069,000 | 14,180,000 | 13,829,000 | 11,768,000 | 12,629,000 | 9,082,000 | 10,618,000 | 11,414,000 | 11,517,000 | 11,600,000 | 11,461,000 | 13,388,000 | 11,590,000 | 11,574,000 | 11,071,000 | 10,681,000 | 9,524,000 | 6,621,000 | 9,163,000 | 8,638,000 | 9,816,000 | 9,892,000 | 10,121,000 | 9,458,000 | 10,041,000 | 9,900,000 | 8,813,000 | 8,797,000 | 9,163,000 | 8,844,000 | 7,528,000 | 6,318,000 | 7,514,000 | 7,817,000 | 7,685,000 | 5,851,000 | 5,609,000 | 7,911,000 | 7,714,000 | 8,912,000 | 9,250,000 | 9,032,000 | 8,142,000 | 9,033,000 | 8,605,000 | 8,323,000 | 7,864,000 | 7,808,000 | 7,217,000 | 6,962,000 | 6,095,000 | 5,370,000 | 5,873,000 | 5,897,000 | 5,822,000 | 6,279,000 | 6,478,000 | 6,410,000 | 6,095,000 | 6,636,000 | 6,671,000 | 6,507,000 | 6,134,000 | 6,909,000 | 7,137,000 | 6,951,000 | 6,956,000 | 6,958,000 | 6,961,000 | 6,783,000 | 6,369,000 | 6,100,000 | 5,700,000 | 5,100,000 | 4,900,000 | 5,100,000 | 4,900,000 | 1,790,000 | 1,460,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.
