fbpx

Building modular models with Coherent Spark

Building modular models with Coherent Spark

Microsoft Excel has many qualities, but it truly shines when it comes to flexibility and readability. Business users can readily create mathematical models without learning a specialist programming language, and their colleagues can easily understand how these models work. 

However, it can be challenging to connect work done in Excel with other systems. This is where Coherent Spark can help, as it instantly transforms Excel models into fast running code, with API connectivity to other systems. Spark is also proven to work with super-sized models of great complexity, making it the perfect tool to connect all your Excel assets to critical business system. However, does its simple and effective connectivity encourage ‘bad code’? 

All programming languages can allow for badly written code. The view that only languages such as Python, R or C are ‘proper’ programming languages ignores the truth that there is plenty of ‘bad code’ written in all these languages. 

Coherent Spark actually supports Excel users to write and deploy better ‘code’. Structuring Excel models in a modular format means: 

  • The models become easier to ‘read’; and also 
  • Easier to manage because the component modules can be reviewed and tested separately. 

There are also additional functions that support modularity, like: 

  • Our “Xparameter” functionality, which allows model parameter or assumption sets to be held and managed separately on Spark and then accessed by any Spark model. 
  • Our “Xcall” functionality, which allows a Spark model to call any other models in Spark. 

These features enable modelers to set up Excel models in a very structured format and deploy them at speed via Spark. For example, Spark users can: 

  • Hold data and assumptions separately from calculations. 
  • Break down a mathematical model into separate stages for creation and testing. Then connect them up to run the results. 
Spark can connect multiple models for modularized modelling and automated processes
Coherent Spark can connect multiple models for modularized modelling and automated processes. Parameters can be held/versioned separately in Spark to be accessed by multiple models.

Case Study 1: Coherent Spark as a modular product engine 

Insurers are looking to offer more modular product propositions to customers. But to deliver these they need technology that is actually capable of constructing modular products. 

Coherent Spark enables actuaries and product teams to build modular products around a fully modular product engine. Separate models are held on the Spark platform for: 

  • Pricing: The pricing of each product option. 
  • Recommendation logic: For proposing which product options are the best fit for each customer based on the customer data available to the insurer. 
  • Discount logic: For pricing combinations of modules; generally discounting the quotation as the customer selects larger bundles of product options. 
  • Underwriting engine: Identifying which, if any, underwriting questions are required based on the selected product options. 

A Controller Service within Coherent Spark orchestrates all these separate models, including their interaction with the customer interface, backend systems and any external data sources. This all happens in real-time because of Spark’s API-led connectivity. 

Separate spark models combine to form a well-structured modular product engine.
Separate spark models combine to form a well-structured modular product engine.

This modular design enables each of the component pieces to be tested, maintained, and amended separately: without needing to overhaul the whole system for minor changes.

Case Study 2:  Real-time yield data for financial modelling 

Separating assumptions from data and calculations is good practice when building models. But what if models depend on external data such as bond yields or other financial prices? 

Coherent Spark’s API-led functionality makes it easy to make API calls to open or private financial data sources and use the response as an assumption for any model running on the Spark platform. 

Many actuarial models are driven by market bond yields of various durations. Our clients can use Spark to automatically update their assumptions for mark-to-market models. 

Coherent Spark’s “Xcall” function being used to access yield data published in St. Louis Fed website.
Coherent Spark’s “Xcall” function being used to access yield data published in St. Louis Fed website.

Case Study 3: Set up model parameter in Spark’s Modelling Centre extension 

We offer several Spark extensions for specialist functions. Our Modeling Centre includes the capability to upload parameter sets separately from the model that runs the calculations. Parameter sets include financial assumptions, or variables that define the benefits of an insurance product. 

The Spark Modeling Centre enables parameter sets to be: 

  • Loaded separately into Spark, either from a separate Excel file or another data source. 
  • Readily checked by the model owner. 
  • Amended, and versioned, separately from other models. 
A parameter set of policy-year dependent benefit coverages is loaded to the Spark Modeling Centre.
A parameter set of policy-year dependent benefit coverages is loaded to the Spark Modeling Centre. These parameters define the product rules so that different versions of the product can be readily modeled and tested.

Coherent Spark is chosen by modelers for the speed and connectivity that it adds to Excel’s inherent flexibility. There are pros and cons to flexibility when mathematical models get large and complex. Thankfully, Spark users not only benefit from Excel’s flexibility but also have access to functionality that enables enhanced model quality and control. 

For further details of how Coherent Spark can help you create well-structured models, schedule a discussion with our actuarial team. 

Bob Charles

Head of Actuarial, Coherent

Bob Charles is an actuary who enjoyed a 30-year career with Willis Towers Watson, culminating in leading the Asia Pacific business. He subsequently worked with insurance technology start-ups. Bob is currently the Head of Actuarial at Coherent, working with clients on finding great uses-cases and applications for our unique Spark technology.

Related resources

Request a Demo

Request a Demo

Request a Demo


デモをリクエストする