At a glance

<$50K
2025
2 to 4 months
Completed
CivicTheme, GovCMS, OpenFisca, Drupal
Federal government
GovTech, Whole of government, Rules As Code, Drupal Planet
User needs, Multidisciplinary teams, Agile delivery, Open source, Digital adoption

Overview

Note: This simulation experiment was developed by the GovCMS and Salsa Digital teams using publicly available information, legislation and regulations. It does not reflect, represent or replace ATO policy on alcohol excise.

GovCMS’ challenge

With the Rules as Code sandpit program coming to an end, GovCMSExternal Link was keen to explore a proof of concept looking at policy modelling. It was of particular interest given OpenFiscaExternal Link ’s simulation capabilities hadn't been explored during the first 14 prototypes.

GovCMS’ transformation

Salsa worked with the GovCMSExternal Link Rules as Code team to research different use cases before choosing alcohol excise and recycling costs for beer producers. In this prototype, we include the standard Drupal webform approach, this time letting beer producers fill in details to estimate the alcohol excise and recycling costs payable.

We then extended on this, adding:

  • A comprehensive report outlining 11 policy scenarios to assess their potential impact on the Australian beer brewing industry and the government. The solution shows the outcomes of the different scenarios to support evidence-based decision-making.
  • Dynamic policy modelling, with adjustable levers in an interactive Drupal webform linked to the OpenFiscaExternal Link codebase. Users can explore different policy scenarios. Simulation results are displayed on the website’s results page, with the option to download a comprehensive PDF report. The levers include:
    • Excise rate
    • Container refund rate
    • Free threshold percentage (for alcohol percentage)
    • Number of brewers

Screenshot of dynamic policy modelling user interface showing levers of excise rate, container refund rate, free threshold percentage and total number of brewers.
Interface for dynamic modelling, allowing users to change key parameters.

The outcomes

  • Rules as Code proof of concept sandpit for alcohol excise on beer
  • A policy modelling demonstrator
Screenshot of bar graph showing the overall impact of the Australian beer brewing industry of pre-determined policy changes
Sample visualisation showing the 11 different policy simulations

Detailed case study

GovCMS’ challenge — showcasing policy modelling

The GovCMSExternal Link Rules as Code sandpit program was approaching the last few months of the contract, and GovCMS was keen to explore a policy modelling/simulation use case.

Salsa and GovCMSExternal Link worked together to look at potential use cases. While many different options were considered, in the end we chose alcohol excise on beer and state recycling costs for beer producers.

GovCMS’ transformation — policy modelling demonstrator

The GovCMS RaC sandpits follow a standardised structure and sprints. The work is broken into the following stages:

  • Discovery (rules analysis and logic mapping)
  • OpenFisca build
  • Drupal build
  • QA
  • Showcase and user acceptance testing (UAT)

For this sandpit, we added in an extra OpenFisca build sprint to create the policy simulations (policy modelling) and reports.

Rules analysis

During our discovery, we worked with the GovCMS Rules as Code team. Using a Miro board, we started with rules statements, which are plain English statements that express the rules. Below is a screenshot of some of the rules statements for the alcohol excise calculator.

Screenshot of the rule statements for the alcohol excise Rules as Code policy modelling proof of concept.

The next step was to create the logic mapping. For eligibility logic, this generally starts with ‘Eligible=TRUE if…’ followed by a series of AND/OR statements. For alcohol excise, the visual logic was mapped to excise rates.

The screenshot below shows part of the logic in Miro for alcohol excise.

Visual logic for alcohol excise and recycling costs

Our final process in the rules analysis was to create a spreadsheet for use by both the OpenFisca and Drupal developers. The spreadsheet included the text for the webform questions, the corresponding OpenFisca variables, as well as help text and user journey pathways. The screenshot below shows part of the spreadsheet for alcohol excise on beer.

Screenshot of spreadsheet showing the logic and questions for alcohol excise case study

For this PoC, we also needed to work on the policy ‘levers’ we could pull for policy modelling. During a dedicated discovery session, we looked at options of policy changes that would impact beer brewers and government.

OpenFisca and Drupal build

With the logic mapped we moved onto the build phase of the project.

The OpenFisca build creates the following using Python code:

  • Input variables: All input variables along with their attributes.
  • Formula variables: Formula variables, their attributes and any calculation logic.
  • Parameters: All numerical parameters used in the formulas.
  • Testing scenarios: Coding the test cases from the scenarios on the sheet.

Once the OpenFisca build was done, we created the Drupal website using Launchpad and CivicThemeExternal Link for a quick spin-up solution. The webform was created in Drupal and linked to the OpenFisca API using the Webform OpenFisca moduleExternal Link .

This Rules as Code PoC also included OpenFisca simulations for policy modelling. We provided two modelling options:

  • A set of 11 policy simulations visible in a report
  • Dynamic policy modelling, allowing users to change key policy areas
Set policy simulations

Some of the hypothetical policy changes that we model include:

  • Expanded low alcohol range (low alcohol range expanded to 2%-3.5%)
  • 12.5% excise increase (all excise rates increased by 12.5%)
  • CPI 2% year 5 (CPI adjustment 5 years from 2031)
  • CPI 2% year 10 (CPI adjustment 10 years from 2031)
  • Volume -10% (10% decrease in production volumes)
  • Volume +10% (10% increase in production volumes)
Dynamic policy modelling

For the dynamic policy modelling, users can change different variables using a website interface and then generate a report. In this case they can change:

  • Excise rate
  • Container refund rate
  • Free threshold percentage (for percentage of alcohol)
  • Number of brewers

The outcomes — a policy modelling showcase

The GovCMS Rules as Code Sandpit ProgramExternal Link was designed to let government agencies experiment with Rules as Code and test different use cases. With the sandpit program about to come to an end, we had yet to experiment with policy modelling via OpenFisca’s simulation capabilities.

This sandpit provides a demonstrator for GovCMS to showcase the power of policy modelling in Rules as Code.

A production rollout of any policy modelling Rules as Code tool would provide the following benefits for government, citizens and businesses:

  • Visibility on how policy changes will affect government, citizens and/or businesses
  • The ability to experiment with policy changes before implementation
  • The ability to make evidence-based decisions around policy changes
  • Protection of citizens’ and/or businesses’ best interests through informed decision-making

About GovCMS

The Department of FinanceExternal Link (Finance) owns the GovCMS platformExternal Link , a whole-of-government digital platform for use across all levels of government in Australia. GovCMS is built on Drupal, an award-winning, enterprise-grade CMS that’s easy to use, stable, highly secure and open source (no license fees).