<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C> <C>
<PERIOD-TYPE> 3-MOS 9-MOS
<FISCAL-YEAR-END> DEC-31-2000 DEC-31-2000
<PERIOD-START> JUL-01-2000 JAN-01-2000
<PERIOD-END> SEP-30-2000 SEP-30-2000
<CASH> 0 0
<SECURITIES> 0 0
<RECEIVABLES> 31,885,000 0
<ALLOWANCES> (5,025,000) 0
<INVENTORY> 1,821,000 0
<CURRENT-ASSETS> 32,837,000 0
<PP&E> 13,112,000 0
<DEPRECIATION> (8,770,000) 0
<TOTAL-ASSETS> 63,703,000 0
<CURRENT-LIABILITIES> 11,609,000 0
<BONDS> 0 0
0 0
0 0
<COMMON> 120,000 0
<OTHER-SE> 36,073,000 0
<TOTAL-LIABILITY-AND-EQUITY> 63,703,000 0
<SALES> 0 0
<TOTAL-REVENUES> 35,265,000 101,183,000
<CGS> 21,620,000 61,587,000
<TOTAL-COSTS> 0 0
<OTHER-EXPENSES> 9,539,000 28,358,000
<LOSS-PROVISION> 580,000 1,923,000
<INTEREST-EXPENSE> 267,000 715,000
<INCOME-PRETAX> 3,259,000 8,600,000
<INCOME-TAX> 1,003,000 3,015,000
<INCOME-CONTINUING> 2,256,000 5,585,000
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 2,256,000 5,585,000
<EPS-BASIC> 0.19 0.46
<EPS-DILUTED> 0.18 0.45
</TABLE>