Mar'20 | Dec'19 | Sep'19 | Jun'19 | Mar'19 | Dec'18 | Sep'18 | Jun'18 | Mar'18 | Dec'17 | Sep'17 | Jun'17 | Mar'17 | Dec'16 | Sep'16 | Jun'16 | Mar'16 | Dec'15 | Sep'15 | Jun'15 | Mar'15 | Dec'14 | Sep'14 | Jun'14 | Mar'14 | Dec'13 | Sep'13 | Jun'13 | Mar'13 | Dec'12 | Sep'12 | Jun'12 | Mar'12 | Dec'11 | Sep'11 | Jun'11 | Mar'11 | Sep'10 | Jun'10 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Net sales | ||||||||||||||||||||||||||||||||||||||
302,794 | 302,252 | 321,169 | 336,866 | 314,707 | 319,727 | 340,732 | 336,793 | 291,431 | 301,292 | 292,030 | 291,534 | 279,392 | 239,247 | 237,168 | 238,831 | 225,544 | 250,857 | 262,756 | 253,747 | 250,262 | 285,342 | 297,351 | 307,088 | 277,198 | 293,514 | 309,927 | 289,460 | 265,351 | 258,000 | 269,152 | 264,730 | 280,466 | 248,298 | 319,356 | 309,469 | 303,351 | 242,751 | 236,094 |
Cost of goods sold | ||||||||||||||||||||||||||||||||||||||
257,021 | 266,505 | 278,181 | 290,956 | 273,381 | 266,501 | 286,227 | 292,296 | 253,937 | 259,281 | 252,943 | 255,662 | 240,187 | 205,722 | 209,350 | 210,200 | 195,401 | 217,805 | 224,421 | 220,842 | 217,832 | 260,126 | 263,278 | 273,576 | 245,022 | 260,798 | 272,023 | 249,309 | 241,050 | 235,661 | 245,016 | 245,339 | 256,005 | 209,669 | 281,517 | 278,837 | 269,596 | 219,983 | 209,179 |
Gross profit | ||||||||||||||||||||||||||||||||||||||
45,773 | 35,747 | 42,988 | 45,910 | 41,326 | 53,226 | 54,505 | 44,497 | 37,494 | 42,011 | 39,087 | 35,872 | 39,205 | 33,525 | 27,818 | 28,631 | 30,143 | 33,052 | 38,335 | 32,905 | 32,430 | 25,216 | 34,073 | 33,512 | 32,176 | 32,716 | 37,904 | 40,151 | 24,301 | 22,339 | 24,136 | 19,391 | 24,461 | 38,629 | 37,839 | 30,632 | 33,755 | 22,768 | 26,915 |
Selling, general, and administrative expenses | ||||||||||||||||||||||||||||||||||||||
22,290 | 22,925 | 22,672 | 23,846 | 24,999 | 21,613 | 24,214 | 21,498 | 22,887 | 19,528 | 19,142 | 19,319 | 18,737 | 16,595 | 18,721 | 16,726 | 17,309 | 16,542 | 16,063 | 15,857 | 16,031 | 17,748 | 17,442 | 18,235 | 15,451 | 15,967 | 17,126 | 16,213 | 15,147 | 14,851 | 15,726 | 15,327 | 15,077 | 13,922 | 16,423 | 16,083 | 18,149 | 15,506 | 14,068 |
Operating income | ||||||||||||||||||||||||||||||||||||||
23,483 | 12,822 | 20,316 | 22,064 | 16,327 | 31,613 | 30,291 | 22,999 | 14,607 | 22,483 | 19,945 | 16,553 | 20,468 | 16,930 | 9,097 | 11,905 | 12,834 | 16,510 | 22,272 | 17,048 | 16,399 | 7,468 | 16,631 | 15,277 | 16,725 | 16,749 | 20,778 | 23,938 | 9,154 | 7,488 | 8,410 | 4,064 | 9,384 | 24,707 | 21,416 | 14,549 | 15,606 | 7,262 | 12,847 |
Net interest and other income | ||||||||||||||||||||||||||||||||||||||
884 | 1,005 | 1,033 | 1,082 | 1,079 | 842 | 596 | 393 | 343 | 243 | 148 | 20 | 16 | 15 | 9 | 21 | 3 | 21 | 18 | 16 | 100 | -198 | 90 | 85 | 79 | 284 | 10 | 18 | 17 | 311 | 4 | 8 | 20 | 322 | -88 | -1 | 6 | -73 | -94 |
Interest expense | ||||||||||||||||||||||||||||||||||||||
- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | 77 | 82 | 63 | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
Income before income taxes | ||||||||||||||||||||||||||||||||||||||
24,367 | 13,827 | 21,349 | 23,146 | 17,406 | 32,455 | 30,887 | 23,392 | 14,950 | 22,726 | 20,093 | 16,573 | 20,484 | 16,945 | 9,106 | 11,926 | 12,837 | 16,531 | 22,290 | 17,064 | 16,499 | 7,492 | 16,644 | 15,280 | 16,741 | 16,768 | 20,788 | 23,956 | 9,171 | 7,486 | 8,414 | 4,072 | 9,404 | 24,706 | 21,328 | 14,549 | 15,612 | 7,189 | 12,753 |
Provision for income taxes | ||||||||||||||||||||||||||||||||||||||
5,760 | 3,292 | 4,948 | 5,364 | 3,995 | 7,425 | 7,209 | 5,303 | 3,597 | -5,762 | 6,129 | 5,640 | 6,852 | 5,543 | 3,107 | 4,087 | 4,238 | 5,579 | 7,779 | 5,711 | 5,710 | 2,440 | 5,581 | 5,126 | 5,887 | 5,557 | 6,986 | 8,454 | 2,776 | 2,266 | 2,887 | 1,702 | 2,710 | 8,411 | 7,607 | 5,088 | 4,958 | 2,097 | 4,618 |
Net income | ||||||||||||||||||||||||||||||||||||||
18,607 | 10,535 | 16,401 | 17,782 | 13,411 | 25,030 | 23,678 | 18,089 | 11,353 | 28,488 | 13,964 | 10,933 | 13,632 | 11,402 | 5,999 | 7,839 | 8,599 | 10,952 | 14,511 | 11,353 | 10,789 | 5,052 | 11,063 | 10,154 | 10,854 | 11,211 | 13,802 | 15,502 | 6,395 | 5,220 | 5,527 | 2,370 | 6,694 | 16,295 | 13,721 | 9,461 | 10,654 | 5,092 | 8,135 |
Earnings per common and common equivalent share - basic (in usd per share) | ||||||||||||||||||||||||||||||||||||||
0.89 | 0.51 | 0.78 | 0.85 | 0.64 | 1.20 | 1.14 | 0.87 | 0.54 | 1.37 | 0.67 | 0.53 | 0.66 | 0.54 | 0.29 | 0.38 | 0.42 | 0.53 | 0.70 | 0.55 | 0.52 | 0.25 | 0.53 | 0.49 | 0.52 | 0.54 | 0.67 | 0.75 | 0.31 | 0.24 | 0.27 | 0.11 | 0.29 | 0.69 | 0.59 | 0.41 | 0.46 | 0.22 | 0.35 |
Earnings per common and common equivalent share - diluted (in usd per share) | ||||||||||||||||||||||||||||||||||||||
0.89 | 0.50 | 0.78 | 0.85 | 0.64 | 1.21 | 1.13 | 0.86 | 0.54 | 1.37 | 0.67 | 0.52 | 0.65 | 0.55 | 0.29 | 0.38 | 0.41 | 0.53 | 0.70 | 0.54 | 0.52 | 0.24 | 0.53 | 0.49 | 0.52 | 0.54 | 0.66 | 0.75 | 0.31 | 0.24 | 0.27 | 0.11 | 0.29 | 0.69 | 0.59 | 0.40 | 0.46 | 0.22 | 0.35 |
Weighted average common and common equivalent shares outstanding - basic (in shares) | ||||||||||||||||||||||||||||||||||||||
20,792 | 20,922 | 20,912 | 20,898 | 20,884 | 20,845 | 20,853 | 20,847 | 20,835 | 20,821 | 20,758 | 20,751 | 20,738 | 20,730 | 20,704 | 20,694 | 20,688 | 20,674 | 20,716 | 20,737 | 20,725 | 20,720 | 20,718 | 20,715 | 20,703 | 20,691 | 20,680 | 20,669 | 20,664 | 20,639 | 20,657 | 21,997 | 23,427 | 23,427 | 23,292 | 23,264 | 23,217 | 23,193 | 23,171 |
Weighted average common and common equivalent shares outstanding - diluted (in shares) | ||||||||||||||||||||||||||||||||||||||
20,851 | 20,998 | 20,991 | 20,988 | 20,983 | 20,892 | 20,919 | 20,918 | 20,911 | 20,882 | 20,837 | 20,835 | 20,834 | 20,805 | 20,775 | 20,765 | 20,747 | 20,756 | 20,774 | 20,836 | 20,782 | 20,791 | 20,819 | 20,835 | 20,839 | 20,817 | 20,768 | 20,738 | 20,733 | 20,702 | 20,712 | 22,037 | 23,477 | 23,458 | 23,399 | 23,405 | 23,378 | 23,337 | 23,334 |
Cash dividends declared per share (in usd per share) | ||||||||||||||||||||||||||||||||||||||
0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 | 0.02 |