<?xml version="1.0" encoding="utf-8"?>
<ns1:informationTable xmlns:ns1="http://www.sec.gov/edgar/document/thirteenf/informationtable">
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>CORE S&amp;P MCP ETF</ns1:titleOfClass>
    <ns1:cusip>464287507</ns1:cusip>
    <ns1:value>90421</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>347398</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>347398</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>CORE S&amp;P SCP ETF</ns1:titleOfClass>
    <ns1:cusip>464287804</ns1:cusip>
    <ns1:value>28325</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>260989</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>260989</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>CORE S&amp;P500 ETF</ns1:titleOfClass>
    <ns1:cusip>464287200</ns1:cusip>
    <ns1:value>415</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1043</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>1043</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>RUS 1000 ETF</ns1:titleOfClass>
    <ns1:cusip>464287622</ns1:cusip>
    <ns1:value>212353</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>948724</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>948724</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>RUS 1000 GRW ETF</ns1:titleOfClass>
    <ns1:cusip>464287614</ns1:cusip>
    <ns1:value>310</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1274</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>1274</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>ISHARES TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>RUSSELL 2000 ETF</ns1:titleOfClass>
    <ns1:cusip>464287655</ns1:cusip>
    <ns1:value>14434</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>65330</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>65330</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>1000 INDEX ETF</ns1:titleOfClass>
    <ns1:cusip>808524722</ns1:cusip>
    <ns1:value>185985</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>4718046</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>4718046</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US BRD MKT ETF</ns1:titleOfClass>
    <ns1:cusip>808524102</ns1:cusip>
    <ns1:value>398</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>4118</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>4118</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US LCAP GR ETF</ns1:titleOfClass>
    <ns1:cusip>808524300</ns1:cusip>
    <ns1:value>89900</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>692708</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>692708</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US LRG CAP ETF</ns1:titleOfClass>
    <ns1:cusip>808524201</ns1:cusip>
    <ns1:value>2029</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>21124</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>21124</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US MID-CAP ETF</ns1:titleOfClass>
    <ns1:cusip>808524508</ns1:cusip>
    <ns1:value>86524</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1162487</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>1162487</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US SML CAP ETF</ns1:titleOfClass>
    <ns1:cusip>808524607</ns1:cusip>
    <ns1:value>28659</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>287535</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>287535</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SPDR S&amp;P 500 ETF TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>TR UNIT</ns1:titleOfClass>
    <ns1:cusip>78462F103</ns1:cusip>
    <ns1:value>3476</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>8770</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>8770</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>VANGUARD INDEX FDS</ns1:nameOfIssuer>
    <ns1:titleOfClass>TOTAL STK MKT</ns1:titleOfClass>
    <ns1:cusip>922908769</ns1:cusip>
    <ns1:value>5526</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>26737</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>26737</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>VANGUARD TAX-MANAGED INTL FD</ns1:nameOfIssuer>
    <ns1:titleOfClass>FTSE DEV MKT ETF</ns1:titleOfClass>
    <ns1:cusip>921943858</ns1:cusip>
    <ns1:value>235</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>4782</ns1:sshPrnamt>
      <ns1:sshPrnamtType>SH</ns1:sshPrnamtType>
    </ns1:shrsOrPrnAmt>
    <ns1:investmentDiscretion>SOLE</ns1:investmentDiscretion>
    <ns1:votingAuthority>
      <ns1:Sole>0</ns1:Sole>
      <ns1:Shared>0</ns1:Shared>
      <ns1:None>4782</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
</ns1:informationTable>
