Predictika · Financial data terminal subscription quotes

An AI sales agent's Workstation subscription quote, checked before it goes out

An AI sales agent prepares a quote for a FactSet Workstation subscription with add-ons, data feeds and a contract term. Before it goes out, the agent sends it to Predictika, which checks it against a declarative model of the editions and add-ons and returns a verdict, every reason and the list, net and contract figures it computed.

Scope: FactSet Workstation subscriptions: four editions, the StreetAccount, Ownership, Transcripts and Axioma Risk add-ons, Data Feeds, seats, a term of one to three years and the discount. See everything this validator covers

This validator models Workstation subscription quotes, not just the scenarios shown below.

  • Editions and add-ons — Workstation, Workstation with Estimates, Workstation with Analytics and Enterprise/API, and which add-ons each edition can carry or already includes.
  • Data Feeds, seats and term — the feeds that need the Enterprise/API edition, the seat minimum, the maximum number of feeds, and a term of one to three years.
  • Discount and stated figures — the discount against the level a seller can give, and the annual list price, net annual price and contract value the quote states against the computed ones.

Any Workstation subscription quote that touches these rules is in scope — not only the scenarios pictured here. Not covered: other FactSet products, negotiated terms, renewals and usage-based charges. The edition names are as reported by a third-party site and may differ from FactSet's current names; the edition contents, rules and every price are modeled, not published by FactSet.

The AI sales agentBuilds the subscription quote from the conversation and says it is ready.
Predictika validatorChecks every rule at once and returns the verdict, each finding, and the computed figures.

5 scenarios in 3 groups · each group runs from the agent’s first attempt to the outcome · click one to switch

What the agent proposes

The AI sales agent says

Illustrative agent statement. The validator receives the structured request below.

Proposing agent: AI sales agent (scripted)

Before sending, the agent must call Recorded run

Predictika validator


      
Waiting for the call.

Where rules-based CPQ gets it wrong

Click to expand

Our assessment of what a typical rules-based CPQ (product rules, price rules and validation rules, as in Salesforce CPQ) does with the same cases. It is a judgment about effort and reliability, not a claim that nothing can be built.

What the validator caughtTypical rules-based CPQPredictika
Add-ons that depend on the editionOnly with care
Each add-on needs a rule that checks the edition, and the list grows with every edition and add-on.
The edition and every add-on are in one request and checked together on every call.
Data feeds that need one edition and a seat minimumOnly with care
The feed rule and the seat rule are separate checks that have to be kept in step with the edition list.
Edition, seats and feeds are fields of one request and are checked on every call.
A stated contract value that must match the computed valueOnly with workarounds
The value is built from seats, price, discount and term, so a separate rule is needed to recompute it and compare it with the stated figure.
The stated figures are fields of the request and are compared with the computed ones on every call.
A discount over the limitOnly with care
The hard limit and any approval levels each need their own rule beside the price rules.
The discount is a field of the request and is checked on every call.
Every problem returned in one answerOnly with workarounds
Rules tend to fire as the quote is saved or a step is completed, so a rep often fixes one error and meets the next.
All findings come back together, whatever order the choices arrived in.

What this validator catches: findings from its test cases

Click to expand

Every rule is checked on every call, in any order the choices arrive; one problem never hides another. Blocking findings stop the quote; approval findings need a person to sign off; everything else is computed.

1A subscription quote needs at least one seat.
20 seat(s) is a very small order; a person should confirm the sale is worth quoting.
3The term is 4 years; this model covers terms of 1 to 3 years.
4The term is 0 years; this model covers terms of 1 to 3 years.
5StreetAccount is already part of this edition in the model; remove the StreetAccount add-on.
6The Axioma Risk add-on needs the Workstation with Analytics or Enterprise/API edition.
71 Data Feed(s) on the quote need the Enterprise/API edition.
84 Data Feeds is more than 3; a person should confirm delivery scope with solutions engineering.
910 Data Feeds is more than 3; a person should confirm delivery scope with solutions engineering.
1011 Data Feeds is more than the 10 this model quotes; send to solutions engineering.
11The Enterprise/API edition is modeled with at least 3 seats; the quote has 2.
12A discount of 6 percent on 24 seats is over the level a seller can give alone (5 percent under 25 seats, 10 percent from 25 seats) and needs sales management sign-off.
13A discount of 11 percent on 25 seats is over the level a seller can give alone (5 percent under 25 seats, 10 percent from 25 seats) and needs sales management sign-off.
14A discount of 20 percent on 100 seats is over the level a seller can give alone (5 percent under 25 seats, 10 percent from 25 seats) and needs sales management sign-off.
15A discount of 21 percent is over the 20 percent maximum used in this model.
161 seat(s) is a very small order; a person should confirm the sale is worth quoting.
172 seat(s) is a very small order; a person should confirm the sale is worth quoting.
18The quote states an annual list price of 150,000 dollars; seats, add-ons and feeds give 180,000 dollars.
19The quote states a net annual price of 450,000 dollars; the list price less the discount gives 405,000 dollars.
20The quote states a contract value of 180,000 dollars; the net annual price times the term gives 540,000 dollars.
21A discount of 15 percent on 5 seats is over the level a seller can give alone (5 percent under 25 seats, 10 percent from 25 seats) and needs sales management sign-off.
222 Data Feed(s) on the quote need the Enterprise/API edition.
23A discount of 25 percent is over the 20 percent maximum used in this model.
2412 Data Feed(s) on the quote need the Enterprise/API edition.
2512 Data Feeds is more than the 10 this model quotes; send to solutions engineering.
26The quote states a net annual price of 60,000 dollars; the list price less the discount gives 68,000 dollars.
27A discount of 12 percent on 20 seats is over the level a seller can give alone (5 percent under 25 seats, 10 percent from 25 seats) and needs sales management sign-off.
285 Data Feeds is more than 3; a person should confirm delivery scope with solutions engineering.
29The quote states a contract value of 900,000 dollars; the net annual price times the term gives 1,987,200 dollars.

Scenarios and results

Click to expand

The recorded result of the validator for each scenario on this page: the request the AI agent sent, the verdict, and every finding, in the order they appear above.

1. Editions, add-ons and discount: A 30-seat Workstation with Estimates quote with Axioma Risk, Data Feeds and a discount

The agent's request. Please quote 30 seats of Workstation with Estimates on a 1-year term with Axioma Risk and 2 Data Feeds, with a 25 percent discount, for an annual list price of 820,000 dollars, a net annual price of 615,000 dollars and a contract value of 615,000 dollars. It is ready to send.

Verdict: Blocked.

  • Axioma Risk needs an analytics edition. The Axioma Risk add-on needs the Workstation with Analytics or Enterprise/API edition.
  • Data Feeds need the Enterprise/API edition. 2 Data Feed(s) on the quote need the Enterprise/API edition.
  • Discount over the maximum. A discount of 25 percent is over the 20 percent maximum used in this model.

2. Editions, add-ons and discount: The agent resubmits after fixing the errors

The agent's request. Please quote 30 seats of Enterprise/API on a 1-year term with Axioma Risk and 2 Data Feeds, with a 10 percent discount, for an annual list price of 1,300,000 dollars, a net annual price of 1,170,000 dollars and a contract value of 1,170,000 dollars. It is ready to send.

Verdict: Allowed.

  • Price summary. 30 seats, 1,300,000 dollars annual list, 1,170,000 dollars net annual, 1,170,000 dollars contract value over 1 year(s).

3. Stated contract value: A 40-seat Workstation with Estimates quote on a three-year term with a discount

The agent's request. Please quote 40 seats of Workstation with Estimates on a 3-year term, with a 8 percent discount, for an annual list price of 720,000 dollars, a net annual price of 662,400 dollars and a contract value of 900,000 dollars. It is ready to send.

Verdict: Blocked.

  • Stated contract value does not match. The quote states a contract value of 900,000 dollars; the net annual price times the term gives 1,987,200 dollars.

4. Stated contract value: The agent resubmits after fixing the errors

The agent's request. Please quote 40 seats of Workstation with Estimates on a 3-year term, with a 8 percent discount, for an annual list price of 720,000 dollars, a net annual price of 662,400 dollars and a contract value of 1,987,200 dollars. It is ready to send.

Verdict: Allowed.

  • Price summary. 40 seats, 720,000 dollars annual list, 662,400 dollars net annual, 1,987,200 dollars contract value over 3 year(s).

5. Seat minimum: A two-seat Enterprise/API quote with a net annual price

The agent's request. Please quote 2 seats of Enterprise/API on a 1-year term, for an annual list price of 68,000 dollars, a net annual price of 60,000 dollars and a contract value of 68,000 dollars. It is ready to send.

Verdict: Blocked.

  • Enterprise/API minimum seats. The Enterprise/API edition is modeled with at least 3 seats; the quote has 2.
  • Stated net annual does not match. The quote states a net annual price of 60,000 dollars; the list price less the discount gives 68,000 dollars.

Narration transcript

Click to expand

The text of the narrated walkthrough, step by step.

  1. Welcome to a demo of Predictika's Validator. An AI sales agent prepares a quote for a FactSet Workstation subscription with add-ons, data feeds and a contract term. Before it goes out, the agent sends it to Predictika, which checks it against a declarative model of the editions and add-ons and returns a verdict, every reason and the list, net and contract figures it computed.
  2. I will start with the first request by the agent.
  3. The agent says. Please quote 30 seats of Workstation with Estimates on a 1-year term with Axioma Risk and 2 Data Feeds, with a 25 percent discount. It is ready to send. The rest of the request is on screen.
  4. Before it goes out, the agent calls the validator.
  5. Blocked, with three findings, all in one answer. The Axioma Risk add-on needs the Workstation with Analytics or Enterprise/API edition. 2 Data Feed(s) on the quote need the Enterprise/API edition. A discount of 25 percent is over the 20 percent maximum used in this model.
  6. The validator returned three blocking findings in one answer. A check that reads one field at a time would pass most of this; it shows only when the choices in the quote are checked against each other.
  7. What this shows: for data feeds that need one edition and a seat minimum, a rules-based CPQ is error-prone for this.
  8. Now the agent resubmits.
  9. The corrected request. It changes the edition to Enterprise/API, the discount to 10 percent, the annual list price stated on the quote to 1,300,000 dollars, the net annual price stated on the quote to 1,170,000 dollars and the contract value stated on the quote to 1,170,000 dollars.
  10. It calls the validator again.
  11. This time the validator clears it.
  12. All three earlier findings are cleared.
  13. Three problems caught in one call, fixed in one pass, and a clean quote. That is the value of Predictika's validator: catching mistakes before they reach the customer. Now you can try the other scenarios yourself.