<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<MULTIPLIER> 1,000
       
<S>                             <C>                     <C>                     <C>
<PERIOD-TYPE>                   YEAR                   YEAR                   YEAR
<FISCAL-YEAR-END>                          DEC-31-1998             DEC-31-1997             DEC-31-1996
<PERIOD-START>                             JAN-01-1998             JAN-01-1997             JAN-01-1996
<PERIOD-END>                               DEC-31-1998             DEC-31-1997             DEC-31-1996
<CASH>                                             450                   5,541                   1,663
<SECURITIES>                                         0                       0                       0
<RECEIVABLES>                                    8,620                   5,128                   3,951
<ALLOWANCES>                                     (389)                   (163)                   (147)
<INVENTORY>                                          0                       0                       0
<CURRENT-ASSETS>                                 9,596                  11,485                   6,015
<PP&E>                                          11,606                   6,699                   4,655
<DEPRECIATION>                                 (4,304)                 (3,277)                 (2,040)
<TOTAL-ASSETS>                                  22,971                  20,650                  16,557
<CURRENT-LIABILITIES>                            7,372                   5,214                   7,591
<BONDS>                                              0                       0                       0
<PREFERRED-MANDATORY>                                0                       0                       0
<PREFERRED>                                          2                       2                       0
<COMMON>                                           215                     205                     200
<OTHER-SE>                                       7,295                   7,706                   5,761
<TOTAL-LIABILITY-AND-EQUITY>                    22,971                  20,650                  16,557
<SALES>                                         53,314                  43,413                  39,633
<TOTAL-REVENUES>                                53,314                  43,413                  39,633
<CGS>                                           44,748                  37,137                  34,346
<TOTAL-COSTS>                                        0                       0                       0
<OTHER-EXPENSES>                                 8,566                   9,635                  10,686
<LOSS-PROVISION>                                     0                       0                       0
<INTEREST-EXPENSE>                                 521                     433                     262
<INCOME-PRETAX>                                    382                 (3,792)                 (5,661)
<INCOME-TAX>                                         0                       0                       0
<INCOME-CONTINUING>                                382                 (3,792)                 (5,661)
<DISCONTINUED>                                   (100)                   (147)                 (1,582)
<EXTRAORDINARY>                                      0                       0                       0
<CHANGES>                                            0                       0                       0
<NET-INCOME>                                     (197)                 (3,998)                 (7,243)
<EPS-PRIMARY>                                     0.00                  (0.20)                  (0.37)
<EPS-DILUTED>                                    $0.00                 $(0.20)                 $(0.37)
        

</TABLE>