<?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>90731</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>337629</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>337629</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>30399</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>269061</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>269061</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>534</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1241</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>1241</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>223271</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>922301</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>922301</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>386</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1420</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>1420</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>14694</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>64063</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>64063</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>201799</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>4730400</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>4730400</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>SCHWAB STRATEGIC TR</ns1:nameOfIssuer>
    <ns1:titleOfClass>US AGGREGATE B</ns1:titleOfClass>
    <ns1:cusip>808524839</ns1:cusip>
    <ns1:value>212</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>3886</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>3886</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>503</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>4826</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>4826</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>99785</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>683644</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>683644</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>3189</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>30674</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>30674</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>92521</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1182071</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>1182071</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>29395</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>282159</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>282159</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>3740</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>8736</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>8736</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
  <ns1:infoTable>
    <ns1:nameOfIssuer>VANGUARD INDEX FDS</ns1:nameOfIssuer>
    <ns1:titleOfClass>GROWTH ETF</ns1:titleOfClass>
    <ns1:cusip>922908736</ns1:cusip>
    <ns1:value>318</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>1110</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>1110</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>5901</ns1:value>
    <ns1:shrsOrPrnAmt>
      <ns1:sshPrnamt>26483</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>26483</ns1:None>
    </ns1:votingAuthority>
  </ns1:infoTable>
</ns1:informationTable>
