At the core of our system are two language models, each fine-tuned to score all financial text on two dimensions. The first measure is vagueness—is the company being specific with its language or hedging? The second measures complexity—is this a genuine technical disclosure, or is bad news being buried in complexities? The two-pronged system is purposeful; a company’s challenges can be wrapped in vagueness or complexity, sometimes both. That is why the score of a single variable cannot tell you enough.
What matters most is deviation from a benchmark. We benchmark every company against its sector peers and against its own filing history, identifying declining trends and sector outliers. Evaluating from absolute scores can present bias in the results of our models. By measuring deviation from peer averages instead, we provide a safeguard which cancels out the potential of any bias.
These classified sentences populate a knowledge graph connecting each company to its industry peers, their filings, and its own filing history. This lets the system move beyond asking whether a risk factor section has changed at all, to a more precise question: has the company’s disclosure on a specific risk topic shifted, relative to both its peers and its own prior filing? A lightweight model makes the first interpretive pass over the extracted sections, working alongside the vagueness and complexity scores. At roughly 97% lower cost per token than a frontier model, it is cheap enough to run across the defined universe. Only where that first pass identifies a genuine shift is the filing escalated to a frontier model for the deeper read.


