Temporal Reasoning in Oracle Intelligent Advisor – An Introduction

This post started life in an elevator, as a conversation with someone who has been working with Intelligent Advisor for about a year now, and who struggled a bit with Entities and Relationships, but who generally speaking was quite comfortable with building rules and calculations. The business had presented a new requirement, and upon seeking advice from a colleague, it became clear that Temporal Reasoning was needed.

The individual was, to put it simply, quite stressed. Temporal reasoning had been presented as some sort of magical, dangerous thing. “You probably won’t need this for much, so let’s just leave it for now” was how it had been mentioned originally. And this mystery had grown over time. It’s complicated!!! It’s weird!!!

So I wanted to spend 10 minutes or so chatting about it. And this is the conversation I had, reproduced in WordPress Post format. I hope it helps others who are perhaps wondering about temporal reasoning or are struggling with the concept.

In Intelligent Advisor, everything is temporal, if you want it to be. Consider the following simple rule:

the benefit amount = the number of children * the rate

So, if you have two children and the rate is 300, then the benefit amount is 600. Check it in the Debugger!

Great. But you have two children today, maybe tomorrow you will have three. And didn’t the rate change a few times over the years?. Both of these changes illustrate the fact that your rule, as it currently stands, works fine for static values – but these values change over time. So what does it take to change your rule into a magic, wonderful temporal rule?


Your rule remains as it is. The input data and the output data change. So let’s do it. Change the input information for the number of children (feel free to change the dates or number of children).

Temporal Reasoning Input Image

In the above example, I’ve added three children (who are now most definitely adults!) according to their dates of birth. The number of children starts at 0, and continues from there. So now our benefit amount looks like this, assuming that the rate does not change :

Temporal Reasoning Output Image

The benefit amount has become (tada!) a temporal attribute. Not really. It’s the attribute value that is now temporal. Your attribute could always handle it, you just didn’t use it before. Now let’s go and change the rate as well. Edit the rate input value in the Debugger:

Temporal Reasoning Final Image

Obviously feel free to change the dates and the rate values. Now your rule is 100% temporal – two sets of input values, and a set of output values. No rule modification required. And that’s the beauty of Intelligent Advisor reasoning – whether you need temporal reasoning or not, it’s right there ready to go.

Thanks for reading and see you soon! If you want to formalize your Temporal Reasoning learning experience, check out our new Oracle Intelligent Advisor Temporal Reasoning training class. In the meantime, here are hopefully some more relevant articles on the same subject.

Author: Richard Napier

After 8 years in case management and ERP software roles, Richard Napier joined Siebel Systems in 1999 and took up the role of managing the nascent Siebel University in Southern Europe. He subsequently was Director of Business Development and Education for InFact Group (now part of Business & Decisions) for 8 years. He now runs Intelligent Advisor IT Consulting OÜ. Owner of intelligent-advisor.com, he also is Co-Founder of the Siebel Hub.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Intelligent Advisor IT Consulting Serving Customers Worldwide
Hide picture