Quarterly Financial Information (unaudited) - Selected Consolidated Statements of Operations Data (Details) - USD ($) $ / shares in Units, shares in Thousands, $ in Thousands |
3 Months Ended | 12 Months Ended | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
Oct. 31, 2021 |
Aug. 01, 2021 |
May 02, 2021 |
Jan. 31, 2021 |
Nov. 01, 2020 |
Aug. 02, 2020 |
May 03, 2020 |
Feb. 02, 2020 |
Oct. 31, 2021 |
Nov. 01, 2020 |
|
| Quarterly Financial Information Disclosure [Abstract] | ||||||||||
| NET REVENUE | $ 227,809 | $ 217,534 | $ 222,092 | $ 217,958 | $ 211,073 | $ 185,941 | $ 207,275 | $ 217,766 | $ 885,393 | $ 822,055 |
| Cost of services | 189,648 | 181,334 | 185,613 | 185,276 | 176,844 | 155,983 | 175,038 | 186,339 | 741,871 | 694,204 |
| GROSS MARGIN | 38,161 | 36,200 | 36,479 | 32,682 | 34,229 | 29,958 | 32,237 | 31,427 | 143,522 | 127,851 |
| Selling, administrative and other operating costs | 34,691 | 34,039 | 32,950 | 33,747 | 30,735 | 31,245 | 36,189 | 39,497 | 135,427 | 137,666 |
| Restructuring and severance costs | 1,123 | 489 | 595 | 632 | 438 | 546 | 411 | 1,246 | 2,839 | 2,641 |
| Impairment charges | 20 | 112 | 261 | 31 | 14,518 | 2,384 | 0 | 11 | 424 | 16,913 |
| OPERATING INCOME (LOSS) | 2,327 | 1,560 | 2,673 | (1,728) | (11,462) | (4,217) | (4,363) | (9,327) | 4,832 | (29,369) |
| Interest income | 7 | 15 | 8 | 7 | 8 | 9 | 31 | 30 | 37 | 78 |
| Interest expense | (423) | (460) | (438) | (484) | (439) | (476) | (652) | (730) | (1,805) | (2,297) |
| Foreign exchange gain (loss), net | 39 | (34) | 71 | 242 | (62) | 571 | (266) | (328) | 318 | (85) |
| Other income (expense), net | (150) | (152) | (147) | (156) | (291) | (168) | (152) | (258) | (605) | (869) |
| INCOME (LOSS) BEFORE INCOME TAXES | 1,800 | 929 | 2,167 | (2,119) | (12,246) | (4,281) | (5,402) | (10,613) | 2,777 | (32,542) |
| Income tax provision | 474 | 314 | 288 | 327 | 271 | 556 | 23 | 195 | 1,403 | 1,045 |
| NET INCOME (LOSS) | $ 1,326 | $ 615 | $ 1,879 | $ (2,446) | $ (12,517) | $ (4,837) | $ (5,425) | $ (10,808) | $ 1,374 | $ (33,587) |
| Basic: | ||||||||||
| Net income (loss) (in USD per share) | $ 0.06 | $ 0.03 | $ 0.09 | $ (0.11) | $ (0.58) | $ (0.22) | $ (0.25) | $ (0.50) | $ 0.06 | $ (1.56) |
| Weighted average number of shares (in shares) | 21,981 | 21,968 | 21,793 | 21,793 | 21,607 | 21,589 | 21,416 | 21,416 | 21,884 | 21,507 |
| Diluted: | ||||||||||
| Net income (loss) (in USD per share) | $ 0.06 | $ 0.03 | $ 0.08 | $ (0.11) | $ (0.58) | $ (0.22) | $ (0.25) | $ (0.50) | $ 0.06 | $ (1.56) |
| Weighted average number of shares (in shares) | 22,811 | 22,651 | 22,588 | 21,793 | 21,607 | 21,589 | 21,416 | 21,416 | 22,609 | 21,507 |