College Data

Nat'l vs. DS Acceptance Rate
Points above the diagonal = DS had a higher acceptance rate
DS Higher
DS Lower
Parity line
DS Advantage by College
Percentage-point difference: DS rate − Nat'l rate
DS Higher
DS Lower
Detailed Comparison
Nat'l vs. DS acceptance rates — ED, RD & Overall — click any column header to sort
School Deep Dive & Comparison
Select schools to view every data point side by side — green highlights the best value, red the worst
Add a School
Enter data for a new school — it will be added to all four Google Sheet tabs. Green fields are auto-calculated.

See instructions below the form to set up the Apps Script that writes to your Google Sheet.

DS Student Data
GPA & SAT by Category
Calculated Preview

Apps Script Setup: In your Google Sheet, go to Extensions → Apps Script, paste the script below, then click Deploy → New deployment → Web app (set "Who has access" to "Anyone"). Copy the URL and paste it in the field above.

Show Apps Script Code
function doPost(e) {
  var d = JSON.parse(e.postData.contents);
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // Comparison Table
  var s1 = ss.getSheetByName('Comparison Table');
  var lastRow = s1.getLastRow();
  var row1 = [d.name, d.earlyNat, d.dsEarly, d.regNat, d.dsReg,
    d.totalNat, d.dsTotal, d.avgGPA, d.avgSAT, d.rejGPA, d.rejSAT];
  if (lastRow > 1 && s1.getRange(lastRow, 1).getValue() === 'Average') {
    s1.insertRowBefore(lastRow);
    s1.getRange(lastRow, 1, 1, row1.length).setValues([row1]);
  } else { s1.appendRow(row1); }

  // DS Detail
  ss.getSheetByName('DS Detail').appendRow([d.name,
    d.dsEdApplied, d.dsEdAccepted, d.dsEdDS, d.dsEdAvgSAT, d.dsEdAvgGPA,
    0, 0, d.dsBlendApplied, d.dsBlendAccepted, d.dsBlendDS,
    d.dsRdApplied, d.dsRdAccepted, d.dsRdDS, d.dsRdAvgSAT, d.dsRdAvgGPA,
    d.dsAllApplied, d.dsAllAccepted, d.dsAllDS, d.dsAllAvgSAT, d.dsAllAvgGPA,
    d.dsRejDenied, d.dsRejDS, d.rejSAT, d.rejGPA,
    d.accVsRejSAT, d.accVsRejGPA]);

  // School Overview
  ss.getSheetByName('School Overview').appendRow([d.name,
    d.classSize, d.enrollment, d.appsTotal, d.appsEarly, d.appsReg,
    d.edSlots, d.rdSlots, d.eaFill, d.avgGPA, d.avgSAT, d.earlyRegGap]);

  // Key Dates (blank row)
  ss.getSheetByName('Key Dates').appendRow([d.name,'','','','','','','']);

  return ContentService.createTextOutput(
    JSON.stringify({status:'ok'})
  ).setMimeType(ContentService.MimeType.JSON);
}