Stock-Based Compensation Plans (Tables)
|
6 Months Ended |
Jul. 31, 2026 |
| Stock-Based Compensation Plans |
|
| Schedule of estimated stock-based compensation expense recognized in condensed consolidated statement of operations |
| | | | | | | | | | | Three Months Ended | | Six Months Ended | | | July 31, | | July 31, | | July 31, | | July 31, | | | 2026 | | 2025 | | 2026 | | 2025 | Cost of revenues | | 632 | | 375 | | 1,124 | | 692 | Sales and marketing | | 2,542 | | 1,487 | | 4,764 | | 2,867 | Research and development | | 1,198 | | 679 | | 2,142 | | 1,219 | General and administrative | | 3,400 | | 1,912 | | 6,739 | | 4,041 | Effect on net income | | 7,772 | | 4,453 | | 14,769 | | 8,819 |
|
| Schedule of weighted-average assumptions |
| | | | | | | Six Months Ended | | | July 31, | | July 31, | | | 2026 | | 2025 | | | | | | Expected dividend yield (%) | | — | | — | Expected volatility (%) | | 29.3 | | 28.3 | Risk-free rate (%) | | 3.1 | | 2.8 | Expected option life (years) | | 5 | | 5 |
|
| Schedule of stock option activity |
| | | | | | | | | | | | | | | | | Weighted- | | Aggregate | | | Number of | | Weighted- | | Average | | Intrinsic | | | Stock | | Average | | Remaining | | Value | | | Options | | Exercise | | Contractual | | (in | | | Outstanding | | Price | | Life (years) | | millions) | Balance at January 31, 2026 | | 1,555,101 | | $ | 73.19 | | 4.0 | | $ | 15.3 | Granted | | 778,487 | | $ | 68.33 | | — | | | — | Exercised | | (102,170) | | $ | 37.47 | | — | | | — | Forfeited | | (12,392) | | $ | 73.75 | | — | | | — | Expired | | (3,413) | | $ | 86.16 | | — | | | — | Balance at July 31, 2026 | | 2,215,613 | | $ | 73.44 | | 4.7 | | $ | 19.2 | | | | | | | | | | | | Vested or expected to vest at July 31, 2026 | | 2,215,613 | | $ | 73.44 | | 4.7 | | $ | 19.2 | | | | | | | | | | | | Exercisable at July 31, 2026 | | 985,658 | | $ | 67.76 | | 2.9 | | $ | 12.9 |
|
| Schedule of performance share units activity |
| | | | | | | | | | | | | | | Weighted- | | Weighted- | | Aggregate | | | | | Average | | Average | | Intrinsic | | | Number of | | Granted | | Remaining | | Value | | | PSUs | | Date Fair | | Contractual | | (in | | | Outstanding | | Value | | Life (years) | | millions) | Balance at January 31, 2026 | | 1,012,268 | | $ | 69.58 | | 4.4 | | $ | 73.9 | Granted | | 149,664 | | $ | 101.51 | | — | | | — | Performance units issued | | 20,688 | | $ | 103.33 | | — | | | — | Exercised | | (100,242) | | $ | 12.09 | | — | | | — | Balance at July 31, 2026 | | 1,082,378 | | $ | 69.36 | | 5.2 | | $ | 82.3 | | | | | | | | | | | | Vested or expected to vest at July 31, 2026 | | 1,082,378 | | $ | 69.36 | | 5.2 | | $ | 82.3 | | | | | | | | | | | | Exercisable at July 31, 2026 | | 762,185 | | $ | 52.62 | | 3.7 | | $ | 58.0 |
|
| Schedule of restricted share units activity |
| | | | | | | | | | | | | | | Weighted- | | Weighted- | | Aggregate | | | | | Average | | Average | | Intrinsic | | | Number of | | Granted | | Remaining | | Value | | | RSUs | | Date Fair | | Contractual | | (in | | | Outstanding | | Value | | Life (years) | | millions) | Balance at January 31, 2026 | | 473,999 | | $ | 56.92 | | 5.0 | | $ | 34.6 | Granted | | 96,884 | | $ | 68.11 | | — | | | — | Exercised | | (38,456) | | $ | 17.91 | | — | | | — | Balance at July 31, 2026 | | 532,427 | | $ | 62.10 | | 5.8 | | $ | 40.5 | | | | | | | | | | | | Vested or expected to vest at July 31, 2026 | | 532,427 | | $ | 62.10 | | 5.8 | | $ | 40.5 | | | | | | | | | | | | Exercisable at July 31, 2026 | | 377,633 | | $ | 55.08 | | 4.4 | | $ | 28.7 |
|
| Schedule of cash settled restricted share unit plan activity |
| | | | | | | | | Weighted- | | | | | Average | | | Number of | | Remaining | | | CRSUs | | Contractual | | | Outstanding | | Life (years) | Balance at January 31, 2026 | | 12,957 | | 1.7 | Granted | | 15,394 | | — | Vested and settled in cash | | (4,111) | | — | Balance at July 31, 2026 | | 24,240 | | 2.3 | | | | | | Non-vested at July 31, 2026 | | 24,240 | | 2.3 |
|