featurizer × donorschoose

Which projects will go unfunded? (projects ← resources / teacher / school histories)

1 · Full-cohort materialization (v1.0.0)

Each variant materialized through to_dataframe(connection=…) at one as-of date (2014-01-01 — the day after the last knowledge date, so every event is under the window); no permanent writes. Variant definitions and the recovered wide transformer set: benchmarks/final_matrix.py.

variantfeaturesshardsrows dup-namessecondswas (v0.8.0)status
narrow17513,00000.50.4materialized
all-agg1,06313,00008.37.6materialized
wide39,022333,0000501.1470.1materialized

graph_relationships

{
  "workload": "graph_relationships",
  "dataset": "donorschoose",
  "edges": 608,
  "as_of_dates": [
    "2013-01-01",
    "2013-07-01",
    "2014-01-01"
  ],
  "rows": 9000,
  "features": 179,
  "degree_columns": [
    "DEGREE(chains)",
    "DEGREE(chains|interval=P12M)",
    "DEGREE(chains|interval=P1M)",
    "DEGREE(chains|interval=P6M)"
  ],
  "hand_sql_verified": 5,
  "exec_seconds": 1.6,
  "explain_top": [
    "Sort",
    "  Sort Key: aod.as_of_date",
    "  ->  Nested Loop",
    "        ->  Seq Scan on as_of_dates aod"
  ],
  "explain_nodes": 41
}

centrality snapshots

{
  "workload": "centrality_snapshots",
  "dataset": "donorschoose",
  "as_of_dates": [
    "2013-01-01",
    "2013-07-01",
    "2014-01-01"
  ],
  "cheap_seconds": 0.3,
  "cheap_snapshot_rows": 1463,
  "edges": 608,
  "heavy_seconds": 0.1,
  "heavy_snapshot_rows": 1463,
  "heavy_over_cheap": 0.3
}