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 | ||||||||||||||||||||||||||||||||||||||
200,395 | 164,772 | 194,551 | 206,453 | 179,571 | 139,971 | 166,380 | 206,692 | 171,207 | 122,212 | 140,194 | 157,941 | 144,806 | 95,322 | 106,168 | 146,450 | 131,676 | 89,202 | 94,023 | 136,779 | 120,800 | 74,202 | 95,502 | 121,311 | 100,645 | 63,831 | 72,249 | 98,551 | 107,880 | 46,156 | 70,819 | 94,279 | 96,100 | 51,462 | 67,916 | 78,405 | 69,006 | 60,579 | 115,499 |
Cost of sales | ||||||||||||||||||||||||||||||||||||||
110,699 | 93,509 | 112,120 | 123,009 | 110,206 | 80,115 | 99,170 | 115,577 | 94,494 | 71,306 | 84,910 | 85,927 | 79,637 | 57,209 | 76,223 | 85,040 | 74,049 | 57,247 | 71,880 | 84,255 | 72,553 | 47,568 | 65,133 | 76,285 | 62,478 | 44,146 | 72,098 | 61,629 | 66,020 | 32,729 | 68,673 | 60,689 | 60,681 | 52,514 | 50,644 | 54,863 | 45,977 | 51,400 | 85,628 |
Gross profit | ||||||||||||||||||||||||||||||||||||||
89,696 | 71,263 | 82,431 | 83,444 | 69,365 | 59,856 | 67,210 | 91,115 | 76,713 | 50,906 | 55,284 | 72,014 | 65,169 | 38,113 | 29,945 | 61,410 | 57,627 | 31,955 | 22,143 | 52,524 | 48,247 | 26,634 | 30,369 | 45,026 | 38,167 | 19,685 | 151 | 36,922 | 41,860 | 13,427 | 2,146 | 33,590 | 35,419 | -1,052 | 17,272 | 23,542 | 23,029 | 9,179 | 29,871 |
Selling, general and administrative expenses | ||||||||||||||||||||||||||||||||||||||
34,561 | 25,024 | 27,409 | 35,705 | 30,166 | 27,621 | 28,132 | 33,513 | 28,959 | 25,584 | 24,919 | 27,221 | 23,269 | 18,354 | 19,379 | 24,795 | 20,612 | 18,700 | 15,698 | 22,472 | 20,593 | 17,902 | 15,902 | 20,344 | 18,222 | 15,358 | 15,375 | 23,392 | 19,842 | 16,604 | 15,836 | 20,866 | 18,601 | 13,608 | 12,991 | 17,364 | 16,657 | 14,024 | 21,228 |
Income from operations | ||||||||||||||||||||||||||||||||||||||
55,135 | 46,239 | 55,022 | 47,739 | 39,199 | 32,235 | 39,078 | 57,602 | 47,754 | 25,322 | 30,365 | 44,793 | 41,900 | 19,759 | 10,566 | 36,615 | 37,015 | 13,255 | 6,445 | 30,052 | 27,654 | 8,732 | 14,467 | 24,682 | 19,945 | 4,327 | -15,224 | 13,530 | 22,018 | -3,177 | -13,690 | 12,724 | 16,818 | -14,660 | 4,281 | 6,178 | 6,372 | -4,845 | 8,643 |
Interest income, net | ||||||||||||||||||||||||||||||||||||||
522 | 702 | 744 | 1 | 56 | 569 | 222 | -370 | -229 | -857 | -59 | 251 | 204 | -2,232 | 77 | 458 | 572 | 137 | 157 | 188 | 137 | 87 | 167 | 301 | 323 | 71 | 70 | 210 | 251 | 83 | 153 | 4,299 | 4,411 | 3,596 | 4,795 | 4,010 | 3,963 | 3,907 | 3,868 |
Income before income taxes | ||||||||||||||||||||||||||||||||||||||
55,657 | 46,941 | 55,766 | 47,740 | 39,255 | 32,804 | 39,300 | 57,232 | 47,525 | 25,375 | 30,306 | 44,542 | 41,696 | 19,741 | 10,489 | 36,157 | 36,443 | 13,118 | 6,288 | 29,864 | 27,517 | 8,645 | 14,300 | 24,381 | 19,622 | 4,256 | -15,294 | 13,320 | 21,767 | -3,260 | -13,843 | 8,425 | 12,407 | -18,256 | -514 | 2,168 | 2,409 | -8,752 | 4,775 |
Provision for income taxes | ||||||||||||||||||||||||||||||||||||||
13,300 | 11,444 | 13,790 | 12,030 | 7,700 | 7,632 | 9,829 | 14,413 | 10,415 | 7,076 | 10,208 | 15,760 | 13,747 | 7,112 | 2,702 | 12,432 | 12,737 | 5,032 | 2,544 | 11,149 | 9,964 | 3,493 | 5,387 | 9,220 | 7,327 | -10,847 | 4 | 96 | 198 | 358 | 469 | 86 | 96 | -1 | -18 | 62 | -2,648 | 69 | 0 |
Net income | ||||||||||||||||||||||||||||||||||||||
42,402 | 35,497 | 41,976 | 35,710 | 31,555 | 25,171 | 29,471 | 42,819 | 37,110 | 18,299 | 20,098 | 28,782 | 27,949 | 12,629 | 7,787 | 23,725 | 23,706 | 8,086 | 3,744 | 18,715 | 17,553 | 5,152 | 8,913 | 15,161 | 12,295 | 15,103 | -15,298 | 13,224 | 21,569 | -3,618 | -14,312 | 8,339 | 12,311 | -18,255 | -496 | 2,106 | 5,057 | -8,821 | 4,775 |
Basic earnings per common share | ||||||||||||||||||||||||||||||||||||||
0.73 | 0.61 | 0.72 | 0.61 | 0.54 | 0.43 | 0.50 | 0.73 | 0.63 | -0.16 | 0.34 | 0.49 | 0.95 | -0.72 | 0.27 | 0.81 | 0.80 | 0.27 | 0.12 | 0.59 | 0.55 | 0.17 | 0.28 | 0.46 | 0.37 | -0.19 | -0.45 | 0.39 | 1.28 | -0.40 | -0.86 | 0.54 | 0.80 | -1.19 | -0.03 | 0.14 | 0.33 | -0.58 | 0.31 |
Basic weighted average common shares outstanding | ||||||||||||||||||||||||||||||||||||||
58,129 | 58,295 | 58,401 | 58,486 | 58,543 | 58,603 | 58,741 | 58,760 | 58,855 | 88,190 | 58,808 | 58,778 | 29,363 | 146,899 | 29,295 | 29,264 | 29,697 | 30,755 | 31,227 | 31,735 | 31,683 | 31,645 | 31,606 | 32,898 | 33,128 | 49,791 | 33,660 | 34,024 | 16,883 | 81,266 | 16,677 | 15,571 | 15,473 | 15,435 | 15,427 | 15,397 | 15,292 | 15,206 | 15,188 |
Diluted earnings per common share | ||||||||||||||||||||||||||||||||||||||
0.73 | 0.61 | 0.72 | 0.61 | 0.54 | 0.43 | 0.50 | 0.73 | 0.63 | -0.17 | 0.34 | 0.49 | 0.95 | -0.70 | 0.26 | 0.80 | 0.79 | 0.27 | 0.12 | 0.58 | 0.55 | 0.16 | 0.28 | 0.46 | 0.37 | -0.17 | -0.45 | 0.38 | 1.25 | -0.28 | -0.86 | 0.48 | 0.74 | -1.14 | -0.03 | 0.12 | 0.30 | -0.58 | 0.30 |
Diluted weighted average common shares outstanding | ||||||||||||||||||||||||||||||||||||||
58,323 | 58,512 | 58,605 | 58,687 | 58,829 | 58,936 | 59,084 | 59,051 | 59,199 | 88,785 | 59,156 | 59,100 | 29,561 | 147,996 | 29,516 | 29,477 | 29,910 | 30,955 | 31,537 | 32,142 | 32,094 | 32,088 | 32,008 | 33,307 | 33,599 | 51,368 | 33,660 | 34,784 | 17,280 | 85,913 | 16,677 | 17,210 | 16,717 | 12,149 | 15,427 | 17,153 | 16,823 | 15,206 | 15,880 |
Comprehensive income | ||||||||||||||||||||||||||||||||||||||
42,402 | 35,497 | 41,976 | 35,710 | 31,555 | 25,172 | 29,471 | 42,819 | 37,110 | 18,299 | 20,098 | 28,782 | 27,949 | 12,629 | 7,787 | 23,725 | 23,706 | 8,086 | 3,744 | 18,715 | 17,553 | 5,152 | 8,913 | 15,161 | 12,295 | 15,103 | -15,298 | 13,224 | 21,569 | -3,618 | -14,312 | 8,339 | 12,311 | -18,255 | -496 | 2,106 | 5,241 | - | - |