XML 61 R27.htm IDEA: XBRL DOCUMENT v2.4.1.9
Basic and Diluted Earnings per Common Share Attributable to Common Stockholders (Detail) (USD $)
In Thousands, except Per Share data, unless otherwise specified
3 Months Ended 9 Months Ended
Jan. 31, 2015
Jan. 31, 2014
Jan. 31, 2015
Jan. 31, 2014
Earnings Per Share Disclosure [Line Items]        
Net income $ 22,939us-gaap_NetIncomeLoss $ 21,304us-gaap_NetIncomeLoss $ 62,875us-gaap_NetIncomeLoss $ 51,480us-gaap_NetIncomeLoss
Less: undistributed earnings to nonvested restricted stockholders 223us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic   632us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic  
Basic net earnings attributable to common stockholders 22,716us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 21,304us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 62,243us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic 51,480us-gaap_NetIncomeLossAvailableToCommonStockholdersBasic
Add: undistributed earnings to nonvested restricted stockholders 223us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic   632us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesBasic  
Less: reallocation of undistributed earnings to nonvested restricted stockholders 220us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDiluted   623us-gaap_UndistributedEarningsLossAllocatedToParticipatingSecuritiesDiluted  
Diluted net earnings attributable to common stockholders $ 22,719us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted $ 21,304us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted $ 62,252us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted $ 51,480us-gaap_NetIncomeLossAvailableToCommonStockholdersDiluted
Basic weighted-average number of common shares outstanding 49,135us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 48,341us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 48,973us-gaap_WeightedAverageNumberOfSharesOutstandingBasic 48,041us-gaap_WeightedAverageNumberOfSharesOutstandingBasic
Diluted weighted-average number of common shares outstanding 49,724us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 49,181us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 49,663us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding 48,977us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding
Basic earnings per share $ 0.46us-gaap_EarningsPerShareBasic $ 0.44us-gaap_EarningsPerShareBasic $ 1.27us-gaap_EarningsPerShareBasic $ 1.07us-gaap_EarningsPerShareBasic
Diluted earnings per share $ 0.46us-gaap_EarningsPerShareDiluted $ 0.43us-gaap_EarningsPerShareDiluted $ 1.25us-gaap_EarningsPerShareDiluted $ 1.05us-gaap_EarningsPerShareDiluted
ESPP        
Earnings Per Share Disclosure [Line Items]        
Stock 1us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_PlanNameAxis
= kfy_EmployeeStockPurchasePlanMember
  1us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_PlanNameAxis
= kfy_EmployeeStockPurchasePlanMember
 
Restricted Stock        
Earnings Per Share Disclosure [Line Items]        
Stock 491us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
651us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
578us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
728us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_RestrictedStockMember
Stock Options        
Earnings Per Share Disclosure [Line Items]        
Stock 97us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
189us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
111us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember
208us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
/ us-gaap_AwardTypeAxis
= us-gaap_EmployeeStockOptionMember