bxp implements these rules through the MetaData module which can be schedule to run out of hours. When the contact arrives during the day it is a simple lookup exercise to see what BNA has been applied to the rules for this record.
Pros
* Requires the data to be accurate or the wrong rules will be applied
* Lookups / copies of data must be available for real time interrogation
=== Scenario 3: Doing your homework in class ===
The most dynamic solution of all is that the BNA is calculated as the agent is able to ask the customer questions to compensate for lack of data. The data added is in real time run through the rule sets and a NBA calculated live.
bxp using logic management within its forms to dynamically alter the script. As options are selected they can be easily interpreted by a set of JavaScript rules which provide the BNA when enough data is available.