<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<S> <C> <C>
<PERIOD-TYPE> 6-MOS 12-MOS
<FISCAL-YEAR-END> DEC-31-2000 DEC-31-1999
<PERIOD-START> JAN-1-2000 JAN-1-2000
<PERIOD-END> JUN-30-2000 DEC-31-1999
<CASH> 264 1,226
<SECURITIES> 0 0
<RECEIVABLES> 36,734 31,462
<ALLOWANCES> (1,012) (935)
<INVENTORY> 0 0
<CURRENT-ASSETS> 43,286 38,324
<PP&E> 9,024 7,307
<DEPRECIATION> (3,184) (1,671)
<TOTAL-ASSETS> 109,935 96,842
<CURRENT-LIABILITIES> 21,135 16,100
<BONDS> 0 0
0 0
0 0
<COMMON> 161 161
<OTHER-SE> 51,400 50,295
<TOTAL-LIABILITY-AND-EQUITY> 109,935 96,842
<SALES> 63,972 106,743
<TOTAL-REVENUES> 63,972 106,743
<CGS> 37,783 65,087
<TOTAL-COSTS> 37,783 65,087
<OTHER-EXPENSES> 22,641 34,215
<LOSS-PROVISION> 0 0
<INTEREST-EXPENSE> 1,610 702
<INCOME-PRETAX> 1,938 6,739
<INCOME-TAX> 833 2,729
<INCOME-CONTINUING> 1,105 4,010
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 1,105 4,010
<EPS-BASIC> 0.07 0.25
<EPS-DILUTED> 0.07 0.24
</TABLE>