← Reports
FlySafair · Confidential — Executive Briefing

Fuel Impact — April Actuals · May Actual Revenue · June Forecast

Prepared 2026-06-11 · for Elmar · source: findash actuals + budget_data.json

Executive summary — budget reframe: April was the real miss vs plan (R43.7M actual vs R208.4M budget — the R164.7M fuel shock from the Iran-war spike). May closed at −R122.0M vs −R64.5M budget (R57.5M worse) — revenue was ahead of plan (R1,160M vs R1,068M = +R92M), but non-fuel cost was the swing. June MTD (days 1-10): 1,227 flights, 177k pax, 76.4% LF, R246M revenue. Project remainder (3,476 flights) at MTD rate → base case R942M revenue, vs R1011M budget. Fuel itself has eased (May R14.67/L); LF is normal, the swing is post-Eid back-end demand.
Material changes detected since 2026-05-07 baseline:
How to read this report & glossary

What this report does: compares 4 months of FlySafair P&L against budget and prior actuals, projects May/June PBT under fuel-R/L scenarios. March + April + May are all closed actuals (X3 GL closed 2026-06-11); June is MTD-anchored (days 1-10 flown at 76.4% LF, R245.7M) with remainder (days 11-30) projected at the MTD rate.

PBT
Profit Before Tax — operating revenue minus all costs before income tax
LF
Load Factor — passengers ÷ available seats, as a %
R/L
Rand per litre of jet fuel delivered (into-plane, all-in price)
Yield
Revenue per passenger (R/pax); excludes surcharges modelled separately
Non-fuel
All costs except fuel: crew, maintenance, leases, overheads, etc.
B4i
Bernd Feucht (fuel buyer) weekly tariff feedback — the source for into-plane price moves
Radixx
Reservation system; revenue data ±1–4% vs GL (X3) at month-end close
X3
Sage X3 — the GL (general ledger); final revenue/cost authority
MTD
Month-to-date — accumulated from the 1st of the month to date
YTD
Year-to-date — accumulated from January
[ACTUAL]
Confirmed closed figure from GL or Radixx flight data
[proj]
Projected — computed from actuals + assumptions (e.g. fuel R/L not yet closed)
[forecast]
Forward estimate — booking-pace or YoY-softened; not yet actual
[stress test]
Tail scenario (<10% probability) — April fuel held flat, no easing assumed
[implied]
Derived from other actuals (e.g. yield implied from revenue ÷ pax)

Headline KPIs — PBT & Budget

Mar PBT (actual)
R127M
10.3% margin
Apr PBT (actual)
R44M
−R164.7M vs budget · budget R208M
May PBT — base (actual rev)
−R122M
−R57.5M vs budget · budget −R65M
June PBT — base (forecast)
−R244M
−R145.7M vs budget · budget −R98M
June best case — still a loss
−R173.2M
opt: R993M rev · fuel R14.50/L
Budget context (management plan): Apr budget R1,321.4M rev / R208.4M PBT. May budget R1,067.8M rev / −R64.5M PBT. Jun budget R1,011.2M rev / −R98.0M PBT. Budget is spine only (revenue + PBT); cost lines are not cross-cast.

PBT & Fuel Cost by Month (R Million)

Consolidated P&L Build-up

LineMar (actual)Apr (actual)Apr BudgetMay (actual rev)May BudgetJun (forecast)Jun Budget
RevenueR1,233.5MR1,427.2MR1,321.4MR1,159.5M [actual]R1,067.8MR942.0M [fcst]R1,011.2M
Fuel costR418.4MR706.5MR601.9MR587.2M
Non-fuel costR717.8MR683.5MR679.7MR598.6M
PBTR127.4MR43.7MR208.4M−R122.0M−R64.5M−R243.8M−R98.0M
Budget spine only (revenue + PBT). Cost budget lines are not cross-cast — per findash-actuals-precedence rule. Budget columns are management budget (signed as reported: revenue positive, PBT profit = positive).

May 2026 — ACTUAL Revenue · April-cost scenarios

Revenue is ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). Only fuel R/L varies across scenarios.

May Optimistic (actual rev) [actual rev]

Revenue: ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). All inputs are factual; only the operating-PBT presentation varies.
  • Fuel R/L: R14.17
  • Revenue: R1,160M [ACTUAL]
  • Fuel: R581M
  • Non-fuel: R680M
  • Flights: 4,929 (actual)
  • Yield: R1,517 (actual)
  • LF: 82.1% (actual)
−R102M
-8.8% margin · Strong demand, soft fuel — opt pairing

May Base — central (actual rev) [actual rev]

Revenue: ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). All inputs are factual; only the operating-PBT presentation varies.
  • Fuel R/L: R14.67
  • Revenue: R1,160M [ACTUAL]
  • Fuel: R602M
  • Non-fuel: R680M
  • Flights: 4,929 (actual)
  • Yield: R1,517 (actual)
  • LF: 82.1% (actual)
−R122M
-10.5% margin · Central; revenue actual, fuel actual — base pairing

May Pessimistic (actual rev) [actual rev]

Revenue: ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). All inputs are factual; only the operating-PBT presentation varies.
  • Fuel R/L: R15.17
  • Revenue: R1,160M [ACTUAL]
  • Fuel: R622M
  • Non-fuel: R680M
  • Flights: 4,929 (actual)
  • Yield: R1,517 (actual)
  • LF: 82.1% (actual)
−R143M
-12.3% margin · Weak demand, sticky fuel — pess pairing

Stress test — fuel held flat (<10% tail) [stress test]

Revenue: ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). All inputs are factual; only the operating-PBT presentation varies.
  • Fuel R/L: R16.00
  • Revenue: R1,160M [ACTUAL]
  • Fuel: R656M
  • Non-fuel: R680M
  • Flights: 4,929 (actual)
  • Yield: R1,517 (actual)
  • LF: 82.1% (actual)
−R177M
-15.2% margin · Stress: fuel R16.00/L held flat + actual revenue

June 2026 — Forecast (MTD + projected remainder)

Revenue: MTD (days 1-10: 1,227 flights, 76.4% LF, R245.7M) + projected remainder (3,476 scheduled flights × MTD rev/flight R200k = R696M). Total ~R942M base. Opt = 82% LF in back-half (school-holiday); pess = 60% LF in back-half. Costs: April basis (R67,872/flt direct + R323.3M overheads flat). Fuel R/L: opt 14.50 / base 15.00 / pess 15.50 / stress May flat.

June Optimistic (forecast) [forecast]

  • Fuel R/L: R14.50
  • Revenue: R993M
  • Fuel: R568M
  • Non-fuel: R599M
  • Flights: 4,703
  • Yield: R1,388 (implied)
  • LF: 80.5% (implied)
−R173M
-17.4% margin · MTD holds + remainder LF 82% (school-holiday back-load) + soft fuel

June Base case — MTD rate holds (forecast) [forecast]

  • Fuel R/L: R15.00
  • Revenue: R942M
  • Fuel: R587M
  • Non-fuel: R599M
  • Flights: 4,703
  • Yield: R1,388 (implied)
  • LF: 76.4% (implied)
−R244M
-25.9% margin · MTD (1,227 flt, R245.7M) + remainder (3,476 flt × MTD R200k/flight) = R942M

June Pessimistic (forecast) [forecast]

  • Fuel R/L: R15.50
  • Revenue: R793M
  • Fuel: R607M
  • Non-fuel: R599M
  • Flights: 4,703
  • Yield: R1,388 (implied)
  • LF: 64.3% (implied)
−R412M
-52.0% margin · MTD holds but remainder LF drops to 60% (demand softens) + sticky fuel

Stress test — May fuel held flat (<10% tail) [stress test]

  • Fuel R/L: R13.26 (Apr actual, no ease)
  • Revenue: R942M
  • Fuel: R519M
  • Non-fuel: R599M
  • Flights: 4,703
  • Yield: R1,388
  • LF: 76.4%
−R176M
-18.6% margin · Stress: May actual fuel held flat (no easing) + base revenue. Symmetry with May stress.
May revenue: ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). May PBT scenario band is −R101.5M to −R142.6M (opt R14.17/L to pess R15.17/L). GL figure is final; Radixx ran within ±1% of GL.
May story: the May operating swing is a revenue-seasonality + non-fuel overrun story. Revenue fell −R268M (seasonal demand, lower LF 82.1% vs Apr 86.2%); fuel HELPED (+R105M relief); non-fuel was broadly flat. At normal pre-Iran fuel (~R19/L), May would be a smaller loss; the residual fuel premium (R14.67 vs R19 = ~R177M) is a swing factor but not the dominant one — non-fuel came in R130M above the April-rate projection, and revenue fell R268M.
Fuel R/L method: delivered R/L = lagged-Platts jet × ZAR/USD + ~R6.40/L fixed delivery differential (into-plane, levy, transport, margin). May actual R14.67 closed in line with the lagged-Platts-plus-differential framework.
Sensitivity: R1/L fuel = R41.0M PBT (May) / R39.1M PBT (June) — i.e. R1/L move × uplift volume = PBT impact. FX note: ZAR/USD is the main overhead+fuel swing — a R1/USD move changes effective R/L by ~R1.35–1.50.
Operating vs reported PBT: April reported +R44M vs operating +R37M — the +R6.5M is non-operating (net finance/other income). May/June figures are operating PBT; do not compare April reported vs May/June operating directly.
Scenario pairing: opt = strong demand + soft fuel; pess = weak demand + sticky fuel. The band is NOT a confidence interval — it represents paired demand+fuel assumptions. "Stress test — April fuel held flat" is a <10% tail, shown for symmetry with May. Base (central) is the headline scenario.
Costs for both months projected off April actuals: R67,872/flight direct (variable) + R323.3M overheads (flat).

April actual → May actual — driver decomposition (operating PBT swing)

May revenue, costs, PBT are ACTUAL (commercial/Radixx + X3 GL closed 2026-06-11). Fuel cost at base R14.67/L. This table decomposes the −R159.2M operating PBT swing into its three drivers. The key insight: fuel HELPED (fell R104.7M) — the swing is driven by the R267.7M seasonal revenue drop and a non-fuel overrun, cushioned only partially by fuel relief.
APR (actual)MAY (actual rev / base fuel)ΔDriver note
RevenueR1,427.2MR1,159.5M [ACTUAL]−R267.7MSeasonal demand drop — fewer and cheaper passengers (LF 81.9% vs Apr 86.2%)
Fuel costR706.5MR601.9M [ACTUAL R14.67/L]+R104.7MFuel HELPED (volume-driven): fewer flights (5,307 → 4,929) drove most of the relief; R/L actually ROSE R13.26 → R14.67. Net fuel cost fell R104.7M
Non-fuel costR683.5MR679.7M [ACTUAL]+R3.8MReduced schedule (5,307 → 4,929 flights) saved variable direct costs; overheads held flat at ~R333M
Operating PBT swingR43.7M (operating)−R122.0M [base]−R159.2MRevenue seasonality drove the swing; fuel + cost savings partially offset
Fuel premium context. At normal pre-Iran fuel (~R19/L), May operating PBT would be ≈ −R299.7M (a R177.6M swing vs actual). The ~R-178M fuel premium (actual vs ~R19/L) is the swing. The story is revenue seasonality + non-fuel overrun + residual fuel premium — revenue fell R267.7M, non-fuel was broadly flat, fuel helped R104.7M.

FX & Fuel Sensitivity

Fuel ≈ USD 1.00/L (Platts-linked), so ZAR/USD is the dominant fuel swing. Sensitivity = fuel volume × R1/L (or USD/ZAR × ~R1.35–1.50 per USD step). Overheads carry additional USD exposure (leases, maintenance) not captured here.

ZAR/USD moveMay PBT impactJune PBT impactNote
−R1.00 (ZAR stronger)+R41.0M+R39.1MFuel FX only; overheads carry additional USD exposure not modelled
−R0.50 (ZAR stronger)+R20.5M+R19.6MFuel FX only; overheads carry additional USD exposure not modelled
Base (R17.67)Base assumption
+R0.50 (ZAR weaker)−R20.5M−R19.6MFuel FX only; overheads carry additional USD exposure not modelled
+R1.00 (ZAR weaker)−R41.0M−R39.1MFuel FX only; overheads carry additional USD exposure not modelled

Fuel R/L sensitivity (holding revenue fixed)

R/L moveMay PBT impactJune PBT impact
−R2.00/L+R82.1M+R78.3M
−R1.00/L+R41.0M+R39.1M
−R0.50/L+R20.5M+R19.6M
Base
+R0.50/L−R20.5M−R19.6M
+R1.00/L−R41.0M−R39.1M
+R2.00/L−R82.1M−R78.3M

Caveats & Methodology

NOTE — findash reconciliation gap > R15M (warn threshold)
Non-operating IS items (finance costs, tax, other income) likely explain the gap. Gap = published PBT − (revenue − total costs).
Methodology notes & assumptions
  • March + April + May fuel costs are ACTUALS — pulled from kpi_data.json fuel_r / fuel_uplift / avg_fuel_per_liter_uplifted / total_costs / pbt_r. No estimates or back-solves used for these months.
  • Non-fuel/flight (R127,276) derived at runtime from April actuals: (total_costs − fuel_r) / flights. Used as the May cost base.
  • April delivered R/L (R13.26) was the fuel price anchor. May actual delivered R/L = R14.67 (kpi_data fuel_r / fuel_uplift) — fuel has eased from April.
  • May L/flight (8,324) derived from April actual uplift ÷ flights. Stage-length mix shift could vary this ±2-3%.
  • Hedging not modelled — assumes spot pass-through.
  • May revenue, yield, LF, pax are ACTUAL (commercial/Radixx · X3 GL closed 2026-06-11). Only May fuel R/L was a projection (now confirmed at R14.67). June revenue, yield, LF are MTD (days 1-10) + projected remainder (days 11-30 at MTD rate). MTD LF 76.4% is the binding number — not the 52% full-month forward-booking average (which conflates flown with unbooked).

Generated 2026-06-11 by build_report.py (fuel-impact-report skill, MC-3483/v3) · IATA fuel: Data Fuel.xlsx · Ops: kpi_data.json · Budget: budget_data.json · B4i: ~/PKA/SecondBrain/wiki/concepts/Fuel-Prices-B4i.md (updated 2026-06-09) · Surcharge: ~/PKA/SecondBrain/wiki/concepts/fuel-surcharge-data/surcharge_history.json (updated 2026-06-09)

Mar → Apr Deep-dive — Fuel Shock Absorption Analysis

April fuel hike: how much was absorbed vs dropped to PBT · closed actuals · kpi_data.json

Fuel hike (Mar→Apr)
R288M
additional fuel cost in April vs March
Absorbed by fares + cost cuts
79%
194M fares + 34M cost savings
Dropped to PBT
84M
the residual not recovered

Operating Metrics

MetricMar 2026Apr 2026Δ Mar→AprMay 2026 (actual rev)
Flights5,6405,307−5.9%4,929
Pax953,355864,006−9.4%764,240
Seats1,062,072999,135−5.9%930,865
Load Factor89.8%86.5%−3.3pp82.1%
Yield (R/pax)R1,329R1,628+22.5%R1,517
RevenueR1,233.5MR1,427.2M+15.7%R1,159.5M

Cost Build-up

LineMarAprΔ Mar→AprMay (actual rev)
Fuel volume (L)57.2M53.3M−6.9%41.0M
Fuel R/L deliveredR7.31R13.26+81%R14.67
Fuel costR418MR707M+R288MR602M
Non-fuel costR718MR684M−R34MR680M
Total costR1,136MR1,390M+R254MR1,282M
PBTR127MR44M−R84M−R122M

Cost Mix

Fuel % of revenueFuel % of total costs
Mar33.9%36.8%
Apr49.5%50.8%
May (proj)51.9%47.0%
Pre-spike norm~22%~25%

Recovery Analysis

Per-pax basis (cleanest — strips volume effects)

MarAprΔ Mar→AprMay (actual rev)
Yield (R/pax)R1,329R1,628+R299R1,517
Fuel/paxR439R818+R379R788
Yield recovery: R299 of R379 = 79%

Per-flight basis

MarAprΔ Mar→AprMay (actual rev)
Revenue/flightR219KR269K+R50KR235K
Fuel/flightR74KR133K+R59KR122K
Recovery: R50K of R59K = 85%

Total network basis — full reconciliation

MarAprΔ Mar→AprMay (actual rev)Effect
RevenueR1,234MR1,427M+R194MR1,160MFares hiked → recovers fuel
Fuel costR418MR707M+R288MR602MThe hit being absorbed
Non-fuel costR718MR684M−R34MR680MFewer flights (5,640→5,307) saved costs
Other IS movementR30MR7M−R24MFinance costs / tax / non-op items (non-operating IS) — not projected for May
Net to PBTR127MR44M−R84M−R122MWaterfall: 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%.
May (proj) columns show the Base-case projection (SummaryExcel revenue + QV fuel burn + anchored B4i fuel R/L) — not a closed month. The fuel-hike absorption % above is a March→April measure: April→May fuel falls (smaller, lower-volume month + B4i easing), so there is no hike to absorb into May.

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%
Reading these 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.

B4i Fuel — Weekly Tariff History appendix

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

Loading…

Route-Level Fuel Surcharge (Radixx) appendix

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
-40.9%
2026-04-07 → 2026-06-02

Top 6 routes — surcharge trajectory

Full route × week table

Route03-3104-0704-1405-0505-1206-02
BFN-JNBR212R397R391R360R347R233
CPT-BFNR338R635R627R576R555R374
CPT-DURR447R841R830R762R735R496
CPT-ELSR329R619R611R561R542R365
CPT-GRJR202R381R376R345R334R224
CPT-HDSR532R999R987R906R874R589
CPT-HLAR439R825R814R749R721R486
CPT-JNBR444R833R822R756R728R491
CPT-MQPR532R999R987R906R874R589
CPT-PLZR278R523R516R475R458R268
CPT-WDHR375R704R694R638R615R477
DUR-ELSR253R476R469R431R416R281
ELS-HLAR329R619R611R561R542R365
ELS-JNBR313R587R580R532R513R346
GRJ-HLAR422R794R783R720R693R468
GRJ-JNBR389R730R720R662R638R430
HLA-DURR253R476R469R431R416R281
JNB-DURR245R460R454R417R403R271
JNB-HRER323R607R599R551R531R358
JNB-MRUR771R1,448R1,429R1,314R1,267R854
JNB-VFAR316R593R585R538R519R350
JNB-ZNZR654R1,228R1,212R1,114R1,074R724
MQP-JNBR194R365R360R331R320R215
PLZ-DURR288R539R532R489R472R319
PLZ-HLAR363R682R673R619R597R403
PLZ-JNBR338R635R627R576R555R374
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

Year-to-Date Fuel Impact — 2026 vs 2025 appendix

Calendar YTD (Jan–Apr) · closed-month actuals only · source: kpi_data.json

The fuel shock is cumulative — this is the running total for the year so far. Two headline numbers: how much extra we have spent on fuel versus the same months last year, and how much of that has actually fallen through to PBT after fare and capacity recovery.
YTD extra fuel spend vs 2025
+R387M
Jan–Apr 2026: R1,727M vs R1,340M
YTD PBT vs 2025
−R276M
Jan–Apr 2026: R256M vs R533M
Fuel hike absorbed (not in PBT)
R110M
extra fuel offset by fares + capacity

Monthly fuel cost — 2026 vs 2025 (R Million)

Monthly PBT — 2026 vs 2025 (R Million)

YTD comparison (Jan–Apr)

Metric20262025ΔΔ %
Fuel costR1,727MR1,340M+R387M+28.9%
Fuel volume214.7M L101.8M L+112.9M L+110.9%
Blended fuel R/LR8.04R13.16−R5.12−38.9%
Fuel cost / paxR487R395+R92+23.2%
RevenueR4,633MR4,395M+R239M+5.4%
PBTR256MR533M−R276M−51.9%
Pax3,544,4993,389,985+154,514+4.6%
Flights21,24520,072+1,173+5.8%

Apr 2026 vs Apr 2025

Latest closed month, year-on-year · actuals

Apr fuel cost
R707M
+103.4% vs R347M LY
Apr fuel R/L delivered
R13.26
+4.7% vs R12.66 LY
Apr fuel cost / pax
R818
+117.2% vs R377 LY
Apr PBT
R44M
−82.9% vs R255M LY
Apr revenue
R1,427M
+11.9% vs R1,275M LY

Apr: 2026 vs 2025 (R Million)

MetricApr 2026Apr 2025ΔΔ %
Fuel costR707MR347M+R359M+103.4%
Fuel R/LR13.26R12.66+R0.60+4.7%
Fuel cost / paxR818R377+R441+117.2%
RevenueR1,427MR1,275M+R152M+11.9%
PBTR44MR255M−R211M−82.9%
Pax864,006922,438−58,432−6.3%
All figures are closed-month actuals from kpi_data.json. No estimates, no MTD month — the in-progress month is excluded so the comparison stays like-for-like. See the methodology markdown for the full input log.