v3.26.1
Net Income Per Share Attributable to Common Stockholders (Tables)
6 Months Ended
Jul. 31, 2026
Earnings Per Share [Abstract]  
Schedule of Earnings Per Share, Basic and Diluted
The following table sets forth the computation of the basic and diluted net income per share attributable to common stockholders:
Three months ended July 31,Six months ended July 31,
(in thousands, except share and per share data)2026202520262025
Basic net income per share:
Numerator:
Net income, basic$13,149 $26,751 $15,774 $27,521 
Denominator:
Weighted-average common shares outstanding, basic100,094,307122,854,629105,813,505124,229,932
Net income per share:
Net income per share attributable to common stockholders, basic
$0.13 $0.22 $0.15 $0.22 
Diluted net income per share:
Numerator:
Net income
$13,149 $26,751 $15,774 $27,521 
Fair value adjustment related to contingent consideration(200)(23,400)— (21,600)
Net income, diluted
$12,949 $3,351 $15,774 $5,921 
Denominator:
Number of shares used in basic calculation 100,094,307122,854,629105,813,505124,229,932
Dilutive effect of employee stock-based awards1,471,453 5,380,873 1,351,719 4,810,421 
Dilutive effect of incentive pool— 1,129,194 — 1,254,875 
Dilutive effect of earnout arrangement1,544,566 1,436,112 — 718,056 
Weighted-average common shares outstanding, diluted103,110,326130,800,808107,165,224131,013,284
Net income per share attributable to common stockholders, diluted
$0.13 $0.03 $0.15 $0.05 
Schedule of Antidilutive Securities
Anti-dilutive common equivalent shares that have been excluded from diluted net income per share were as follows:
Three months ended July 31,Six months ended July 31,
2026202520262025
Options to purchase common stock500,239 181,750 511,102 507,946 
Restricted stock and restricted stock units4,260,230 3,400,013 4,749,575 2,818,227 
Shares estimated to be purchased under ESPP199,208 — 99,604 — 
Performance-based restricted stock units6,708,478 2,995,000 7,697,000 2,862,500 
Contingent shares - earnout arrangement— — 1,441,158 — 
Total anti-dilutive common equivalent shares11,668,155 6,576,763 14,498,439 6,188,673