<TABLE> <S> <C>
<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
<S> <C> <C>
<PERIOD-TYPE> 6-MOS 6-MOS
<FISCAL-YEAR-END> DEC-31-2000 DEC-31-1999
<PERIOD-START> JAN-01-2000 JAN-01-1999
<PERIOD-END> JUN-30-2000 JUN-30-1999
<CASH> 34,538 0
<SECURITIES> 38,795 0
<RECEIVABLES> 20,158 0
<ALLOWANCES> 1,917 0
<INVENTORY> 0 0
<CURRENT-ASSETS> 98,871 0
<PP&E> 5,282 0
<DEPRECIATION> 0 0
<TOTAL-ASSETS> 106,138 0
<CURRENT-LIABILITIES> 24,698 0
<BONDS> 0 0
0 0
0 0
<COMMON> 1,456 0
<OTHER-SE> 79,984 0
<TOTAL-LIABILITY-AND-EQUITY> 106,138 0
<SALES> 24,527 23,821
<TOTAL-REVENUES> 47,956 42,257
<CGS> 4,028 4,405
<TOTAL-COSTS> 15,544 14,979
<OTHER-EXPENSES> 7,809 6,259
<LOSS-PROVISION> 0 0
<INTEREST-EXPENSE> 0 0
<INCOME-PRETAX> 6,046 4,831
<INCOME-TAX> 2,056 724
<INCOME-CONTINUING> 3,990 4,107
<DISCONTINUED> 0 0
<EXTRAORDINARY> 0 0
<CHANGES> 0 0
<NET-INCOME> 3,990 4,107
<EPS-BASIC> 0.30 0.30
<EPS-DILUTED> 0.28 0.29
</TABLE>