Building Judgment into Financial Models

Financial models are built on formulas, but many decision points can’t be reduced to a clear formula with clean inputs. Will this client renew? Will this borrower prepay? These decisions depend on a mosaic of context that calls for judgment.

Super-fast decision models like Jev from TypeSafe AI or GPT-6 Luna through OpenAI’s Decisions API can make these decisions from messy underlying data, including unstructured sources like CRM notes. Combined with Orcaset, they let financial models apply that judgment across thousands of decisions in seconds.

Example Scenario: Contract-Level Revenue Projections

Traditional revenue forecasts rely on manager input or historical retention rates to estimate contract renewals and sizing. Neither approach is both fast and granular.

  • Bottom-up by client: Produces the most detailed near-term projections, but takes days or weeks to collect from sales managers and isn’t an option in many M&A or investment scenarios.

  • Historical estimates: Rely on backward-looking averages. History may be too thin, or too different from current conditions, to support forward-looking projections.

With a decision model, firms can skip the sales managers survey. They can use data they already have in their CRM, product logs, and finance systems to build client-level renewal estimates for thousands of contracts directly into their revenue models.

Example Implementation

Consider an enterprise software company that sells multi-year licenses. It has 1,000 clients with an average ACV of $57,324. Each client has CRM notes, usage trends, and contract details sourced from Salesforce and product logs. For this demo, details for all 1,000 clients were generated with the following content format.

Field

Value

Client name

Axiom Grid

Current term

2022-09-01 to 2027-09-01

ACV

$275,000

Client since

2015

TTM usage growth

-4%

CRM note 2026-01-09

Enterprise IT is consolidating vendors; we are on the keep list so far.

CRM note 2026-04-16

A small business unit was divested and those seats came off the contract.

CRM note 2026-07-23

No champion risk. Ops lead has used the product since the 2015 original deal.

CRM note 2026-09-10

Renewal is a year out. They expect flat scope unless the divestiture reverses.

The data for Axiom Grid shows a slight decrease in usage but a clear CRM signal for renewal in 2027. Given the client’s long tenure and the CRM notes, it’s reasonable to project that Axiom will renew next year at a similar ACV.

At each contract’s renewal date, the Orcaset revenue model asks Jev for a renewal decision based on the client’s data. If the client renews, Jev also estimates the change in ACV. If it terminates, Jev classifies the most likely reason.

Renewal decision for a single contract

Adding up all contracts gives total revenue, shown here by client cohort based on the year each client first signed.

Revenue by client cohort
Start             2025-12-31     2026-12-31     2027-12-31
End               2026-12-31     2027-12-31     2028-12-31
  2015 cohort        371,400        363,262        362,800
  2016 cohort        497,347        529,393        496,930
  2017 cohort        692,112        646,615        578,578
  2018 cohort      2,356,891      2,489,442      2,381,779
  2019 cohort      2,294,997      2,517,738      2,538,790
  2020 cohort      2,861,635      3,030,514      2,933,895
  2021 cohort      4,269,809      4,530,733      4,212,813
  2022 cohort      4,986,347      5,275,485      5,352,113
  2023 cohort      7,988,854      8,669,171      8,208,467
  2024 cohort      6,977,166      8,059,862      8,098,575
  2025 cohort      6,786,025      8,235,372      8,170,201
  2026 cohort      5,210,372     10,345,574     10,113,900
---

Revenue by client cohort
Start             2025-12-31     2026-12-31     2027-12-31
End               2026-12-31     2027-12-31     2028-12-31
  2015 cohort        371,400        363,262        362,800
  2016 cohort        497,347        529,393        496,930
  2017 cohort        692,112        646,615        578,578
  2018 cohort      2,356,891      2,489,442      2,381,779
  2019 cohort      2,294,997      2,517,738      2,538,790
  2020 cohort      2,861,635      3,030,514      2,933,895
  2021 cohort      4,269,809      4,530,733      4,212,813
  2022 cohort      4,986,347      5,275,485      5,352,113
  2023 cohort      7,988,854      8,669,171      8,208,467
  2024 cohort      6,977,166      8,059,862      8,098,575
  2025 cohort      6,786,025      8,235,372      8,170,201
  2026 cohort      5,210,372     10,345,574     10,113,900
---

Revenue by client cohort
Start             2025-12-31     2026-12-31     2027-12-31
End               2026-12-31     2027-12-31     2028-12-31
  2015 cohort        371,400        363,262        362,800
  2016 cohort        497,347        529,393        496,930
  2017 cohort        692,112        646,615        578,578
  2018 cohort      2,356,891      2,489,442      2,381,779
  2019 cohort      2,294,997      2,517,738      2,538,790
  2020 cohort      2,861,635      3,030,514      2,933,895
  2021 cohort      4,269,809      4,530,733      4,212,813
  2022 cohort      4,986,347      5,275,485      5,352,113
  2023 cohort      7,988,854      8,669,171      8,208,467
  2024 cohort      6,977,166      8,059,862      8,098,575
  2025 cohort      6,786,025      8,235,372      8,170,201
  2026 cohort      5,210,372     10,345,574     10,113,900
---

Running this report, including the calls to Jev for all 1,000 contract renewals, takes only about 2.3 seconds.

Orcaset exposes calculation traces for review. As a gut check, the trace for Axiom shows that Jev projects a 2027 renewal at a flat ACV, which is a reasonable assumption given the client information above.

Axiom renewals  
2027-09-01 to 2030-09-01  275,000  +0

Axiom renewals  
2027-09-01 to 2030-09-01  275,000  +0

Axiom renewals  
2027-09-01 to 2030-09-01  275,000  +0

Since Jev also classifies the reason for each termination, it’s simple to break down projected churn by cause. Traditional statistical approaches can’t provide this kind of breakdown because they don’t look at individual client details.

Cumulative revenue churn by termination reason
Start                            2025-12-31    2026-12-31    2027-12-31
End                              2026-12-31    2027-12-31    2028-12-31
  budget_cut                      1,134,000     2,338,100     2,766,600
  lost_champion                     515,300     1,297,000     1,612,500
  competitor                        468,300       831,700     1,046,300
  low_adoption                       97,200       278,900       617,300
  unclear                           277,700       464,800       516,300
---

Cumulative revenue churn by termination reason
Start                            2025-12-31    2026-12-31    2027-12-31
End                              2026-12-31    2027-12-31    2028-12-31
  budget_cut                      1,134,000     2,338,100     2,766,600
  lost_champion                     515,300     1,297,000     1,612,500
  competitor                        468,300       831,700     1,046,300
  low_adoption                       97,200       278,900       617,300
  unclear                           277,700       464,800       516,300
---

Cumulative revenue churn by termination reason
Start                            2025-12-31    2026-12-31    2027-12-31
End                              2026-12-31    2027-12-31    2028-12-31
  budget_cut                      1,134,000     2,338,100     2,766,600
  lost_champion                     515,300     1,297,000     1,612,500
  competitor                        468,300       831,700     1,046,300
  low_adoption                       97,200       278,900       617,300
  unclear                           277,700       464,800       516,300
---

Categorization like this lets analysts dissect financials using unstructured data, such as CRM notes and company profiles, that traditional models can’t use.

Zooming Out

Contract renewals are just one example. The same approach works for any judgment call that can’t be reduced to a clean formula. Decision models let financial models draw directly on notes, emails, and other context that analysts would otherwise weigh by hand.

Because Orcaset models are code, each call to Jev sits alongside the rest of the calculation, where it can be traced and reviewed like any other assumption.

The full model and client data are available on GitHub.