XML 33 R23.htm IDEA: XBRL DOCUMENT
v3.25.2

Note 17 - Earnings Per Share | 9 Months Ended
--- | ---
Aug. 31, 2025
Notes to Financial Statements |
Earnings Per Share [Text Block] |
17. | EARNINGS PER SHARE
For the three and nine months ended August 31, 2025 and 2024, the Company recorded net income and, as such, used diluted weighted-average common shares outstanding when calculating diluted income per share for the three and nine months ended August 31, 2025 and 2024. Stock options and RSUs that could potentially dilute basic earnings per share (“EPS”) in the future are included in the computation of diluted income per share.
|  | For the Three Months Ended |  |  | For the Nine Months Ended |
|  | August 31, |  |  | August 31, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Net income |  | $ | 2,235 |  |  | $ | 1,025 |  |  | $ | 6,324 |  |  | $ | 3,120 |
Weighted-average number of shares used in computing net income per share, basic |  |  | 22,691,574 |  |  |  | 22,758,155 |  |  |  | 22,649,525 |  |  |  | 22,509,018 |
Net income per share - basic |  | $ | 0.10 |  |  | $ | 0.05 |  |  | $ | 0.28 |  |  | $ | 0.14 |
Weighted-average number of shares used in computing net income per share, diluted |  |  | 24,103,760 |  |  |  | 23,410,159 |  |  |  | 24,147,430 |  |  |  | 23,072,498 |
Net income per share - diluted |  | $ | 0.09 |  |  | $ | 0.04 |  |  | $ | 0.26 |  |  | $ | 0.14 |
The following table reconciles the weighted-average common shares outstanding used in the calculation of basic EPS to the weighted-average common shares outstanding used in the calculation of diluted EPS for the three and nine months ended August 31, 2025 and 2024:
|  | For the Three Months Ended |  |  | For the Nine Months Ended |
|  | August 31, |  |  | August 31, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Weighted-average common shares outstanding- basic |  |  | 22,691,574 |  |  |  | 22,758,155 |  |  |  | 22,649,525 |  |  |  | 22,509,018 |
Assumed conversion of: |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
Dilutive stock options |  |  | 679,720 |  |  |  | 135,886 |  |  |  | 657,234 |  |  |  | 113,617 |
Dilutive RSUs |  |  | 732,465 |  |  |  | 516,118 |  |  |  | 840,670 |  |  |  | 449,863 |
Weighted-average common share outstanding- diluted |  |  | 24,103,760 |  |  |  | 23,410,159 |  |  |  | 24,147,430 |  |  |  | 23,072,498 |
The following potential common shares, presented based on amounts outstanding at each period end, were excluded from the calculation of diluted net income per share for the periods indicated because including them would have had an anti-dilutive effect:
|  | For the Three Months Ended |  |  | For the Nine Months Ended |
|  | August 31, |  |  | August 31, |
|  | 2025 |  |  | 2024 |  |  | 2025 |  |  | 2024 |
Options |  |  | — |  |  |  | 437,666 |  |  |  | — |  |  |  | 437,666 |
RSUs |  |  | 20,919 |  |  |  | 16,513 |  |  |  | 41,944 |  |  |  | 41,513 |
Total |  |  | 20,919 |  |  |  | 454,179 |  |  |  | 41,944 |  |  |  | 479,179 |

X
- References No definition available. + Details
Name: | us-gaap_DisclosureTextBlockAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition The entire disclosure for earnings per share. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -Name Accounting Standards Codification -Publisher FASB -URI https://asc.fasb.org/260/tableOfContent Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 260 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3 + Details
Name: | us-gaap_EarningsPerShareTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration