← Reports

Fuel Impact Analysis — April 2026 & May Projection

FlySafair · prepared 2026-05-15 · for Elmar

NOTE — findash reconciliation gap > R15M (warn threshold)
Non-operating IS items (finance costs, tax, other income) likely explain the gap.
TL;DR KPIs Fuel Trend Mar vs Apr Recovery May Projection Caveats

TL;DR

March actuals: fuel R418M (R14.62/L delivered), PBT R127M. April actuals: fuel R707M (R26.52/L delivered), PBT R44M — full pass-through of the Iran-spike. All cost figures are findash IS actuals (MC-3517). FlySafair absorbed 79.2% of the R288M fuel shock: R194M absorbed by higher fares + R34M absorbed by fewer flights. Only R84M fell to PBT.
Material changes detected since 2026-05-07 baseline:

Headline KPIs

Mar PBT
R127M
10.3% margin
Apr PBT
R44M
3.1% — fuel doubled
May Base PBT (MTD run-rate)
R-93M
-7.7% · LF 80.2% MTD
Fuel hike absorbed
R288M
Apr vs Mar additional fuel cost
Yield recovery
79%
on per-pax basis
Sensitivity upside
R2.5M
if LF matures +6.4pp to 86.6%

Fuel Price Trend (IATA Weekly, USD/bbl)

Chart shows IATA jet fuel index (USD/bbl). Massive spike began week of 6 March 2026, driven by Iran-related supply disruption. Crack spreads also surged. Data from Data Fuel.xlsx refreshed by iata-fuel-update task.

March vs April Detailed Comparison

Operating Metrics

MetricMar 2026Apr 2026Δ
Flights5,6405,307-5.9%
Pax952,408864,907-9.2%
Seats1,062,072999,135-5.9%
Load Factor89.7%86.6%-3.1pp
Yield (R/pax)R1,329R1,628+22.5%
RevenueR1,233.5MR1,427.2M+15.7%

Cost Build-up

LineMarAprΔ
Fuel volume (L)28.6M26.6M-6.9%
Fuel R/L deliveredR14.62R26.52+81%
Fuel costR418MR707M+R288M
Non-fuel costR718MR684M−R34M
Total costR1,136MR1,390M+R254M
PBTR127MR44MR-84M

Cost Mix

Fuel % of revenueFuel % of total costs
Mar33.9%36.8%
Apr49.5%50.8%
Pre-spike norm~22%~25%

Recovery Analysis

Per-pax basis (cleanest — strips volume effects)

MarAprΔ
Yield (R/pax)R1,329R1,628+R299
Fuel/paxR439R817+R378
Yield recovery: R299 of R378 = 79%

Per-flight basis

MarAprΔ
Revenue/flightR219KR269K+R50K
Fuel/flightR74KR133K+R59K
Recovery: R50K of R59K = 85%

Total network basis — full reconciliation

MarAprΔEffect
RevenueR1,234MR1,427M+R194MFares hiked → recovers fuel
Fuel costR418MR707M+R288MThe hit being absorbed
Non-fuel costR718MR684M−R34MFewer flights (5,640→5,307) saved costs
Other IS movementR30MR7M−R24MFinance costs / tax / non-op items (non-operating IS)
Net to PBTR127MR44M−R84MWaterfall: rev Δ − fuel hike + nonfuel saving + other IS = PBT Δ

How the R288M fuel hike was absorbed

194M fares
34M cost
84M PBT
R288M fuel increase absorbed via: R194M higher fares + R34M fewer-flight cost savings + R24M other IS items + R84M dropped to PBT.
Total absorption check: R288M ≈ R288M ✓ (revenue + nonfuel saving + other IS + PBT drop = fuel hike).
Operating recovery (revenue + cost savings): R228M of R288M = 79.2%.

Three views of "recovery"

DefinitionNumeratorDenominator%
Revenue ÷ fuel hike (gross)+R194M revenueR288M fuel hike67.2%
Revenue ÷ net cost increase+R194M revenueR254M net (288−34)76.3%
Total absorption (rev + cost cuts) ÷ fuel hike+R228M (194+34)R288M79.2%
Reconciling the views. The revenue-only bar understates the real picture — it ignores the non-fuel cost saving from flying fewer flights.

Per-pax recovery is highest because it strips volume effects. Total absorption is the most complete view — it captures both fare recovery and cost reduction. The residual is what actually dropped to PBT.

May 2026 Projection — Updated MTD

Updated 2026-05-15 with MTD signals. Schedule: 5,640 March flights → 5,307 April → 5,031 May. Fuel tariffs easing per latest B4i.

May MTD signals

MetricValueRead
Schedule (full month)5,031 flights · 950,475 seatsSlightly below April (5,307)
MTD periodMay 2026 MTD (14 days, through 14 May)Live from dashboard_data.json
MTD flights2,222Flown through period
MTD pax336,517Flown through period
MTD revenueR531.8MFlown revenue
MTD yieldR1,580Easing vs Apr R1,628 as surcharges drop
MTD LF80.2%vs April 86.6%

May Inputs (revised)

DriverAssumptionSource
IATA latest week$162.89/bblData Fuel.xlsx
FX~16.80 (flat)Apr trend
Fuel R/L base caseR25.72 (auto-derived from MTD)B4i tariff easing + Radixx surcharges
Flights5,031May schedule (live)
Yield baseR1,580 (auto-derived from MTD)MTD blend + recovery as surcharges normalise
LF base80% (auto-derived from MTD)Apr-style demand

Three Scenarios (revised)

Optimistic [live MTD]

  • Fuel R/L: R24.22
  • Yield: R1,628
  • LF: 82.2%
  • Flights: 5,031
  • Revenue: R1,272M
  • Fuel: R612M
  • Non-fuel: R648M
R12M
1.0% margin · contracts ease further, yields hold

Base — May MTD run-rate [live MTD] · headline Base

  • Fuel R/L: R25.72
  • Yield: R1,580
  • LF: 80.2%
  • Flights: 5,031
  • Revenue: R1,204M
  • Fuel: R649M
  • Non-fuel: R648M
−R93.1M
-7.7% margin · data-derived: yield/LF from May MTD; fuel from Apr actual × IATA ratio

Sensitivity: if May LF matures to April's 86.6% (requires +6.4pp vs MTD 80.2%) [full-month proj]
LF 86.6% Revenue R1,300M
PBT R2.5M Margin 0.2%
Sensitivity upside: bookings mature to April-like close. Not the reported Base.

Pessimistic [live MTD]

  • Fuel R/L: R27.72
  • Yield: R1,533
  • LF: 78.2%
  • Flights: 5,031
  • Revenue: R1,139M
  • Fuel: R700M
  • Non-fuel: R648M
−R209M
-18.3% margin · sustained pressure, demand soft
Headline Base [live MTD run-rate]: 5,031 flights × 5,019 L/flight (Apr actual uplift÷flights) = 25.25M L × R25.72 = R649.5M fuel. 950,475 seats × 80.2% LF × R1,580 yield = R1,204.4M revenue. Non-fuel = 5,031 × R128,797 (Apr actual) = R648.0M. PBT = R-93.1M.
Sensitivity [full-month proj]: Same fuel/flights/non-fuel; LF projected to 86.6% (Apr actual full-month close as maturity proxy, requires +6.4pp vs MTD). 950,475 seats × 86.6% × R1,580 = R1,300.0M revenue. Sensitivity PBT = R2.5M.

Caveats & Methodology Notes

Generated 2026-05-15 by build_report.py (fuel-impact-report skill, MC-3483) · IATA fuel data: Data Fuel.xlsx · Operational data: FinDash kpi_data.json · B4i: ~/PKA/SecondBrain/wiki/concepts/Fuel-Prices-B4i.md (last updated 2026-05-12) · Radixx surcharge: ~/PKA/SecondBrain/wiki/concepts/fuel-surcharge-data/surcharge_history.json (last updated 2026-05-09)

B4i Fuel — Weekly Tariff History

Live note from SecondBrain · last updated 2026-05-12 · source: ~/PKA/SecondBrain/wiki/concepts/Fuel-Prices-B4i.md

Loading…

Route-Level Fuel Surcharge (Radixx)

Per-pax surcharge values loaded into Radixx booking system, ZAR incl VAT · Source: Pieter Richards weekly XLSX · auto-updated by flysafair-fuel-surcharge-update task

Peak week
2026-04-07
all routes highest
Cheapest route (peak)
R365
MQP-JNB
Most expensive (peak)
R1,448
JNB-MRU
Eased since peak
-9.3%
2026-04-07 → 2026-05-05

Top 6 routes — surcharge trajectory

Full route × week table

Route03-1703-2403-3104-0704-1405-05
BFN-JNBR101R145R212R397R391R360
CPT-BFNR161R232R338R635R627R576
CPT-DURR214R307R447R841R830R762
CPT-ELSR158R227R329R619R611R561
CPT-GRJR97R139R202R381R376R345
CPT-HDSR254R366R532R999R987R906
CPT-HLAR209R301R439R825R814R749
CPT-JNBR212R305R444R833R822R756
CPT-MQPR254R366R532R999R987R906
CPT-PLZR133R191R278R523R516R475
CPT-WDHR179R257R375R704R694R638
DUR-ELSR121R174R253R476R469R431
ELS-HLAR158R227R329R619R611R561
ELS-JNBR150R215R313R587R580R532
GRJ-HLAR201R290R422R794R783R720
GRJ-JNBR185R267R389R730R720R662
HLA-DURR121R174R253R476R469R431
JNB-DURR117R168R245R460R454R417
JNB-HRER154R222R323R607R599R551
JNB-MRUR368R530R771R1,448R1,429R1,314
JNB-VFAR151R217R316R593R585R538
JNB-ZNZR312R449R654R1,228R1,212R1,114
MQP-JNBR93R133R194R365R360R331
PLZ-DURR137R197R288R539R532R489
PLZ-HLAR174R250R363R682R673R619
PLZ-JNBR161R232R338R635R627R576
Reading: Surcharges tripled 17 Mar → 7 Apr peak. Easing since as B4i tariffs came down. Each weekly file flows: B4i tariffs → fuel R/L → litres burned per route × R/L = surcharge per flight ÷ pax = surcharge per pax.

Full structured data: ~/PKA/SecondBrain/wiki/concepts/fuel-surcharge-data/surcharge_history.json