<TABLE> <S> <C>

<PAGE>
 
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE
CONSOLIDATED FINANCIAL STATEMENTS FOR THE YEARS ENDED DECEMBER 31, 1997, 1996,
AND 1995 AND IS QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL
STATEMENTS.
</LEGEND>
<RESTATED> 
<MULTIPLIER> 1,000
       
<S>                                        <C>                     <C>                       <C> 
<PERIOD-TYPE>                              YEAR                   YEAR                       YEAR
<FISCAL-YEAR-END>                          DEC-31-1997             DEC-31-1996          DEC-31-1995
<PERIOD-START>                             JAN-01-1997             JAN-01-1996          JAN-01-1995
<PERIOD-END>                               DEC-31-1997             DEC-31-1996          DEC-31-1995
<CASH>                                           1,711                   1,034                1,033
<SECURITIES>                                         0                       0                    0
<RECEIVABLES>                                   10,110                   6,748                5,134
<ALLOWANCES>                                       338                     219                  156
<INVENTORY>                                          0                       0                    0
<CURRENT-ASSETS>                                13,270                   8,999                7,098
<PP&E>                                           5,229                   5,107                3,977
<DEPRECIATION>                                   3,402                   3,236                2,997
<TOTAL-ASSETS>                                  21,040                  17,267               14,449
<CURRENT-LIABILITIES>                            9,460                   6,650                4,898
<BONDS>                                            489                     262                  220
<PREFERRED-MANDATORY>                                0                       0                    0
<PREFERRED>                                        242                   2,095                3,127
<COMMON>                                        42,080                  40,228               38,954
<OTHER-SE>                                    (31,231)                (31,968)              (32,750)
<TOTAL-LIABILITY-AND-EQUITY>                    21,040                  17,267               14,449
<SALES>                                         40,795                  32,338               26,919
<TOTAL-REVENUES>                                40,795                  32,338               26,919
<CGS>                                           30,927                  25,256               21,027
<TOTAL-COSTS>                                   30,927                  25,256               21,027
<OTHER-EXPENSES>                                   784                     586                  557
<LOSS-PROVISION>                                     0                       0                    0
<INTEREST-EXPENSE>                                 263                     138                  193
<INCOME-PRETAX>                                  2,023                     819                  781
<INCOME-TAX>                                       435                     223                  160
<INCOME-CONTINUING>                              1,588                     596                  621
<DISCONTINUED>                                       0                       0                    0
<EXTRAORDINARY>                                      0                       0                    0
<CHANGES>                                            0                       0                    0
<NET-INCOME>                                     1,588                     596                  621
<EPS-PRIMARY>                                      .09                     .04                  .04
<EPS-DILUTED>                                      .06                     .02                  .04
        

</TABLE>