Skip to content
Case study · Ternan Energy

A 12-tab spreadsheet, rebuilt as a cable burial risk platform.

Ternan Energy work out how deep an offshore wind export cable has to be buried to survive a ship's anchor. That calculation lived in an Excel workbook that took ten minutes to run, buckled under a hundred thousand rows of vessel data, and needed a second copy every time the seabed changed. We rebuilt it as a CBRA platform on Microsoft Azure — the same Carbon Trust methodology, in Python, behind a React interface.

Client
Ternan Energy
Project
CBRA Platform
Industry
Offshore Wind / Subsea Cable Engineering
Inside the platform

Twelve spreadsheet tabs, one application.

Risk Summary1 / 5
Our approach

Six pillars behind the platform.

The brief was not to redesign the assessment — it was to take a method that already worked and give it somewhere better to live. We decoupled the proprietary logic from Excel and rebuilt around it as a lean MVP, scoped to clear the bottleneck rather than gold-plate around it. Six pillars carry it.

The maths out of Excel, into Python

We mapped the Carbon Trust logic out of the workbook cell by cell and rebuilt it as a Python calculation engine — vessel displacement, anchor mass, penetration and drag lookups, strike probability, return periods — then held it against the original .xls outputs in QA until the numbers agreed.

Vessel data at whatever size it arrives

A year of AIS movements across a cable route might be twenty thousand rows or a hundred thousand, and nobody knows which until the data lands. The engine reads to the end of the file instead of to a row limit somebody had to guess at in advance.

Zones that behave like real geology

Soil profiles became reference data rather than hard-coded columns. A route is split into KP zones, each pointing at its own profile, so one project now covers a cable whose seabed changes along its length — no second workbook, no third.

Depth-of-lowering, answered on the spot

The output engineers actually argue over: return period against burial depth, per zone, plus a burial-depth calculator that turns a target depth straight into a return period rather than another ten-minute run.

Inside their own Microsoft tenancy

Built on Azure with Microsoft Entra ID single sign-on against the Microsoft 365 accounts Ternan already issue, so access starts and ends with the account — which matters when freelance associates join for one project. Ternan own the tenancy and Microsoft bills them directly.

A tool, not a tutorial

Handing over twelve tabs of formulas took a couple of hours. A project list, a six-step setup wizard and tabbed results take minutes, so anyone on the team can pick up a job and run it.

Timeline

A two-week sprint, workbook to platform.

01

Prototype

A clickable model of every workbook tab, agreed before a line was built

02

Week one

Azure, Entra ID single sign-on and the Python calculation engine

03

Week two

React interface, integration and QA against the original workbook

+

Since the MVP

Analytics, audit log, master data and multi-user access

Technologies used

What the platform is built with.

A Python engine doing the maths, a React interface in front of it, and all of it inside Ternan Energy's own Azure tenancy on their existing Microsoft licences.

Microsoft AzurePythonFastAPIReact.jsAzure SQL · MS SQLMicrosoft Entra ID
FAQ

Questions, answered straight.

It works out how deep a subsea power cable has to be buried to survive a dropped or dragged ship anchor. Vessel movements crossing the planned route are combined with the seabed along it — dense sand stops an anchor far faster than soft clay — to give a return period for a cable strike at each burial depth, following Carbon Trust guidance.
The method was sound; the workbook was at its limit. Twelve tabs, around ten minutes per run, sized in advance for a row count that swings from twenty thousand to a hundred thousand depending on the route, and soil profiles you could not change in one zone without changing them everywhere.
That was the acceptance test. The Python engine was validated against the original .xls outputs during QA before handover, and the platform still exports Excel and CSV, so existing reporting and client deliverables carry on unchanged.
In Ternan Energy's own Microsoft Azure tenancy, with single sign-on through Microsoft Entra ID and the Microsoft 365 accounts they already issue. Access follows the account, which matters when freelance associates join for one project and leave at the end of it. Ternan own the tenancy and are billed by Microsoft directly — we add no hosting markup.
The MVP was a fixed-price two-week sprint: Azure, Entra ID and the Python engine in week one; the React interface, integration and QA in week two. It was deliberately scoped to clear the bottleneck first rather than build everything at once.
Let’s talk

Have an outcome in mind? We'll help you ship it.

  • You're building a data product and need a team that can deliver.
  • You want to get AI-ready — pragmatically, not theoretically.
  • Your reporting is a mess and you need a real platform underneath it.