Skip to content
kellanwilliams(home)

Board Ready

Led two interns analyzing 500+ SEC filings with BERT and LLaMA-2 models to surface S&P 500 board-diversity data.

  • ML
  • NLP
  • BERT
  • LLaMA-2
  • Python
  • SEC/EDGAR

BoardReady’s mission is to prove, with hard data, that board diversity matters across every company. That data exists for the S&P 500. It’s just buried in prose, inside DEF 14A proxy statements, in a different format for every filer. I led two other interns pulling it out at scale.

The problem

A proxy statement is a long legal document written for the SEC. Board composition might appear as a table, a paragraph, a set of director biographies, or all three, with no consistent schema across filers. We were tasked with programmatically pulling 500+ of them from SEC EDGAR and getting comparable structured data out, regardless of how each individual file was designed.

The approach

The initial plan used two model families for two different jobs:

  • BERT classifiers for the high-volume, well-defined decisions (is this section about board composition? is this a director biography?), where a fine-tuned encoder is fast, cheap, and consistent across hundreds of documents.
  • LLaMA-2 70B for the passages that needed actual comprehension, where the information is stated once, in prose, in a way a classifier can’t reach.

In practice, the two rarely worked alone. For most filings, the classifier first identified the kind of section (table, biography, narrative). That label in turn told LLaMA-2 what shape of data to expect and how to pull it out. Regardless of how the data was laid out, it still needed extraction; LLaMA-2 could do that, but only once it knew what it was reading.

SEC DEF 14A proxy statements

[ examples coming: the formats we had to parse ]

Leading the team

I came into this internship with some leadership experience from robotics, but none of it lay in leading a software team. The most challenging aspect as a leader was bridging three interns with separate skill sets into one working unit. However, once we’d each figured out which aspects of the project we were individually strongest in, we were able to split the tasks cleanly and all move together toward the final product.