What is Rgogo?
Rgogo is a software framework for life insurance actuarial modeling. It is an R package comprising a collection of classes and tools that are designed for actuarial modeling. These classes and tools are building blocks that allow actuaries to build and run complex actuarial models with ease and flexibility.
Development of Rgogo framework has the following two groups of modelers in mind:
- Modelers with limited R programming skills
With basic knowledge in R, modelers can utilize the building blocks provided by Rgogo to build and run complex actuarial models easily and quickly.
- Modelers proficient in R
By taking advantage of the object-oriented architecture of Rgogo, modelers skilled in R programming can customize and extend Rgogo building blocks to meet advanced modeling needs.
Rgogo is developed in R programming language. Modelers are required to use R as the modeling language in order to use Rgogo.
Rgogo is cross-platform. You can install Rgogo in all operating systems that are supported by R including Windows, MacOS or Linux. This makes actuarial models portable and shareable. Any model that is built on one platform can also run on a different platform without code changes.
The design of Rgogo adopts object-oriented programming (“OOP”) principles. OOP principles allow Rgogo to separate actuarial logic and computing algorithm. Each Rgogo object represents a modeling component that an actuary is familiar with such as a product, a policy, an assumption or a table. The complex calculation formulae implemented for the modeling component are encapsulated inside the class design and isolated from modelers. This allows a modeler to focus on actuarial principles and business logic without being stuck in programming details when conducting a modeling exercise.
Rgogo is designed to achieve the following objectives:
Ease of Use. Rgogo is for modelers of varying levels of programming skill. With basic knowledge in R, a modeler can use Rgogo to build and run a complex actuarial model easily and quickly.
Customizability. Rgogo provides flexibility in customizing model components to meet an individual modeler’s special needs when required by innovative ideas.
Transparency. Rgogo ensures model clarity and auditability by adopting open-source approach and promoting consistent coding styles. It allows anyone to inspect the codes and validate the calculation.
Scalability. Rgogo is designed to accommodate modeling projects of all sizes, ranging from stand-alone projects of solo modelers to large projects requiring team collaboration.
Areas of Application
Rgogo is designed for complex actuarial modeling involving life contingency. The primary areas of application of such models are life insurance and pension.
Common types of project that can be done with Rgogo include:
Each programming language has its pros and cons with respect to design concept, syntax, performance. Choice of language is also highly dependent on areas of application and personal preference.
Rgogo Project choose R as the programming language to develop an actuarial modeling framework for the following reason:
• R has language features that can make actuarial modeling process very efficient. These features include vectorized operation, object-oriented programming and parallel processing. More importantly, these features can be learned and used by actuaries without specialized knowledge in information technology.
• R has been used by scientists, researchers and professionals including actuaries in many fields. Existing areas of actuarial application include statistical analysis, business analytics and experience study. Therefore, using R has the synergistic benefit that the knowledge and skills are portable among application fields.
Why Open Source?
Rgogo was initially developed by Edward Kuo, a Canadian actuary, and used as an internal software tool for actuarial analyses. The initial working version of Rgogo was completed in 2017, and the functions have been gradually expanded and improved since then.
At October 6, 2020, Rgogo was officially launched as an open source project. It is licensed under GNU General Public License Version 3 (GNU GPLv3). With this license, the following four freedoms are guaranteed for anyone who is interested in Rgogo:
Freedom to use Rgogo for any purpose, whether personal or commercial.
Freedom to study Rgogo source code.
Freedom to share Rgogo with anyone.
Freedom to modify the source code of Rgogo.
By putting Rgogo in a public domain, our aim is to invite as many people as possible worldwide to grow a community focusing on using and developing an actuarial modeling tool on a transparent and collaborative basis.