Why raw prices are not enough

Knowing that a particular service station is selling ULP for 189.9 cents per litre tells you the price — but it does not tell you whether that is a good deal, whether it is about to rise tomorrow, or how it compares to the suburb around it. Raw numbers in isolation are only the starting point.

EconomicWatch applies a range of statistical and technical analysis tools on top of the raw FuelWatch data and the live Brent crude and commodity price feeds. Some of these measurements are straightforward descriptive statistics (averages, minimum and maximum values); others are the same indicators that professional commodity traders and financial analysts use every day to forecast price direction and assess market momentum.

This article explains every single metric that appears on EconomicWatch in plain English, with enough detail that you can understand precisely what each number means, how it is calculated, and — critically — how to act on it the next time you are deciding where and when to fill up.

💡

No maths degree required. Each section starts with a one-sentence summary and then builds into deeper detail. Read as much or as little as you need.

Part 1 — Live station statistics (the dashboard panel)

Across the top of the EconomicWatch fuel price dashboard you will see a row of five tiles. These update every time you change the fuel type, apply a filter, or the data refreshes. Together they give you a rapid snapshot of the current market for whatever fuel type and location you are viewing.

Metric 1

Station count

This simply tells you how many service stations are included in the current view. If you have applied filters (for example, searching for a specific suburb or brand), you will see both the filtered count and the total available — for example, "42 of 418 total". This is important because stats like the average price and the cheapest station are calculated only over the stations currently shown. Narrow your filters and you narrow the statistical sample.

⚠️

Sample size matters. If you filter down to just two or three stations, the "average" shown will be the average of those stations, not the market average. For the most meaningful statistics, start with an unfiltered or lightly filtered view.

Metric 2

Average price (arithmetic mean)

The average price is the single most important benchmark on the dashboard. It is calculated as the simple arithmetic mean of all visible stations' prices for today:

Average = (sum of all station prices) ÷ (number of stations)

For example, if five stations in your view are priced at 185¢, 188¢, 191¢, 194¢, and 197¢, the average is (185 + 188 + 191 + 194 + 197) ÷ 5 = 191¢/litre.

Every other price on the dashboard — the colour coding, the "cheap" or "expensive" labels — is measured relative to this average. The average price is the fulcrum of the entire pricing picture. When it shifts up or down noticeably from day to day, that signals a market-wide move, typically driven by a change in the wholesale terminal gate price or, in Perth's case, the weekly FuelWatch price cycle resetting on Tuesday.

Metric 3

Cheapest and most expensive stations (minimum and maximum)

These two tiles identify the stations at the two extremes of the current price distribution. The cheapest station shows the minimum price and the station name so you can go directly to it. The most expensive shows the maximum price as a warning — if only one station you can reach is well above average, that is useful to know before you drive past a dozen cheaper alternatives.

The spread between minimum and maximum is also informative. A narrow spread (say, 3–5¢) means the market is tightly priced and there is little to gain from shopping around. A wide spread (15–25¢ or more) signals that meaningful savings are available if you are willing to drive a little further. In Perth's Tuesday price cycle, this spread tends to be at its narrowest just after the Tuesday reset and widest in the days leading up to it.

Metric 4

Tomorrow's trend: up, down, unchanged

FuelWatch gives every registered service station the ability to submit their price for tomorrow each day before a cut-off time. EconomicWatch compares each station's price for tomorrow against its price for today:

  • Up (↑): Tomorrow's price is higher than today's price.
  • Down (↓): Tomorrow's price is lower than today's price.
  • Unchanged (—): Tomorrow's price equals today's price (or no tomorrow price has been submitted).

The three counts shown — for example, "↑ 312 · ↓ 47 · — 59" — give you a strong leading indicator of where the market is heading. If a large majority of stations are reporting a price increase for tomorrow, you should seriously consider filling up today. Conversely, if most stations are dropping their prices, waiting until tomorrow could save you money.

💡

Practical tip: In Perth, large co-ordinated price moves tend to happen on Tuesdays when the FuelWatch cycle resets. If you see a very high "Up" count on a Monday evening, that is your signal to fill up before midnight.

Part 2 — Relative price colour coding

Every station card and map marker on EconomicWatch is colour-coded based on how the station's price compares to the current average. This allows you to scan the map or grid instantly and identify cheap clusters without reading individual numbers.

The colour system uses five tiers defined by the difference (in cents per litre) from the average:

≤ −8¢
≤ −3¢
± 3¢
≤ +8¢
> +8¢

Emerald → Green → Amber → Orange → Red  |  Deviation from current average price

ColourDeviation from averageWhat it means
Emerald8 cents or more below averageExceptionally cheap — strong buy signal
Green3–8 cents below averageCheaper than the market — good value
AmberWithin ±3 cents of averageIn line with the market — fair price
Orange3–8 cents above averageMore expensive than the market
RedMore than 8 cents above averageSignificantly overpriced — avoid if possible

Choosing the thresholds of ±3¢ and ±8¢ is deliberate. For a typical 50-litre fill, a 3-cent deviation equals $1.50 in savings or extra cost — meaningful but modest. An 8-cent deviation equals $4.00 — enough to justify a short detour on most trips. Anything beyond 8¢/litre below average represents a significant market anomaly worth acting on immediately.

These relative thresholds automatically adjust as the market moves. On a day when the average price is 190¢, emerald stations are priced at 182¢ or below. On a day when the average is 210¢, emerald stations are at 202¢ or below. The colour system always tells you your position within the current market, not against some fixed historic benchmark.

Part 3 — Distance calculation (Haversine formula)

When you enable location access in EconomicWatch, every station is assigned a distance from your position, and you can sort the station list by distance to find the closest options. The distance calculation uses a mathematical model called the Haversine formula.

Here is why the Haversine formula is used rather than a simple straight-line (Pythagorean) calculation: the Earth is not flat. If you measure two points on a map as though they were on a flat surface, the error is small for very short distances but grows as the distance increases. The Haversine formula accounts for the curvature of the Earth's surface and produces what is called the great-circle distance — the shortest path between two points on a sphere.

Haversine(θ) = sin²(Δlat/2) + cos(lat₁)·cos(lat₂)·sin²(Δlon/2) Distance = 2R · atan2(√a, √(1−a)) where R = 6,371 km (Earth's mean radius) Δlat = difference in latitudes Δlon = difference in longitudes

In practice, for distances relevant to urban driving (0–50 km), the Haversine result is accurate to within a few metres. The formula operates on the GPS coordinates reported by your device alongside the latitude/longitude coordinates of each FuelWatch-registered service station.

Distances under 1 kilometre are displayed in metres (e.g., "650m") for legibility. Distances between 1 and 10 kilometres are shown with one decimal place (e.g., "3.2km"). Distances above 10 kilometres are rounded to the nearest whole kilometre (e.g., "24km").

📍

Note: The distance shown is the straight-line ("as the crow flies") distance, not the driving distance. Actual driving distance and time will differ based on roads, traffic, and route. A station 1.5km away as the crow flies could be 3–4km by road if there is no direct route.

Part 4 — Exponential Moving Averages (EMA5 & EMA20)

Moving averages are among the most widely used tools in financial and commodity analysis. EconomicWatch displays two of them — EMA5 and EMA20 — as coloured lines overlaid on the Brent crude oil and commodity price charts.

What is a moving average?

A moving average smooths out day-to-day price fluctuations (what analysts call "noise") to reveal the underlying trend direction. Instead of looking at a jagged line jumping up and down every day, a moving average gives you a smoother curve that makes the direction of travel much clearer.

Why "exponential"?

A simple moving average (SMA) treats every day in the lookback window with equal importance. A price from 20 days ago counts just as much as yesterday's price. An exponential moving average (EMA) applies a weighting multiplier so that recent prices count more heavily than older prices. This makes it more responsive to current conditions and faster to react to trend changes.

The formula for each data point is:

EMA(today) = Price(today) × k + EMA(yesterday) × (1 − k) where k = 2 ÷ (period + 1) For EMA5: k = 2 ÷ (5 + 1) = 0.333 (33.3% weight on today's price) For EMA20: k = 2 ÷ (20 + 1) = 0.095 (9.5% weight on today's price)

The EMA is initialised once we have enough data points (5 days for EMA5, 20 days for EMA20). Before that point, the line is not shown on the chart.

EMA5 (5-day) — the short-term tracker

The EMA5 (shown in amber on the charts) represents the short-term momentum of the price. Because it only looks back 5 trading days and heavily weights the most recent prices, it tracks the current price very closely. A rising EMA5 indicates that recent sessions have been pushing prices higher; a falling EMA5 indicates recent downward pressure.

EMA20 (20-day) — the medium-term trend

The EMA20 (shown in blue) is a medium-term trend line spanning approximately one calendar month of trading. It is far less sensitive to single-day moves than the EMA5. When the EMA20 is rising, the broad month-long trend in crude oil or commodity prices is upward; when it is falling, the broad trend is downward.

The EMA crossover — a key signal

The most important thing to watch when two moving averages are displayed together is their relationship to each other:

⛽

What this means for pump prices: Because WA pump prices lag global crude prices by 2–4 weeks, a bullish EMA crossover in Brent crude today is an early warning that pump prices are likely to rise a month from now. It is not an immediate signal, but it is a useful planning tool.

Part 5 — Relative Strength Index (RSI)

The Relative Strength Index is a momentum oscillator that measures the speed and magnitude of recent price changes. It was developed by analyst J. Welles Wilder Jr. in 1978 and is one of the most widely used technical indicators in financial markets worldwide. EconomicWatch calculates it over a 14-day period, which is the standard setting.

How RSI is calculated

RSI compares the average size of up-days to the average size of down-days over the last 14 sessions:

Average Gain = sum of gains over 14 days ÷ 14 Average Loss = sum of losses over 14 days ÷ 14 (as absolute values) RSI = 100 − (100 ÷ (1 + Average Gain ÷ Average Loss))

The result is always a number between 0 and 100. An RSI of 50 means up-days and down-days have been roughly equal in size over the past fortnight. An RSI approaching 100 means almost every recent day has been an up-day. An RSI approaching 0 means almost every recent day has been a down-day.

0 — Oversold 30 50 — Neutral 70 Overbought — 100

RSI zoneValue rangeInterpretation
Oversold Below 30 The asset has fallen hard and fast. Sellers may be exhausted; a price recovery or rebound is statistically more likely.
Neutral 30 – 70 Neither extreme. The market is in a balanced momentum state.
Overbought Above 70 The asset has risen hard and fast. Buyers may be exhausted; a price pullback or correction is statistically more likely.

It is essential to understand that "overbought" does not mean "must fall now" and "oversold" does not mean "must rise now." In strong trending markets, the RSI can remain in overbought territory for extended periods. The RSI is a probabilistic indicator, not a guarantee. It tells you whether the current pace of movement is historically extreme, which raises the odds — but not the certainty — of a reversal.

For Brent crude oil and commodity prices, RSI extremes are informative because commodity markets are cyclical by nature. An RSI above 75 on Brent crude following a rapid run-up in oil prices has historically preceded a period of consolidation or pullback, which — with the 2–4 week lag — would eventually translate to some relief at the pump.

Part 6 — Linear regression price forecast

In the technical analysis panel, EconomicWatch shows a forecast price for the next data point. This is calculated using ordinary least squares (OLS) linear regression — one of the oldest and most mathematically sound statistical methods available.

What is linear regression?

Imagine plotting the last 30 days of a price on a graph, with the date on the horizontal axis and the price on the vertical axis. You will see a scattering of dots. Linear regression draws the single straight line that fits through all those dots with the smallest possible total error — the famous "line of best fit." Once you have that line, extending it one step further to the right gives you the projected price for the next day.

Slope (m) = [Σ(i − x̄)(pᵢ − ȳ)] ÷ [Σ(i − x̄)²] Intercept (b) = ȳ − m · x̄ Forecast = b + m · (n) ← next data point (index n)

Where i is the index of each day (0, 1, 2…), pᵢ is the price on day i, x̄ is the mean of all the day indices, ȳ is the mean of all prices, and n is the index for tomorrow.

What the forecast tells you (and what it does not)

The linear regression forecast assumes that the current trend — whether upward, flat, or downward — will continue in a straight line for one more step. It is best thought of as a momentum-adjusted extrapolation: if prices have been gradually climbing over 30 days, the forecast projects one more step up that slope. If prices have been falling, it projects one more step down.

What it does not model is any sudden reversal, news event, or cyclical reset. If OPEC announces an unexpected production cut tonight, the linear regression forecast will not know about it. The forecast value should therefore be read alongside the RSI and EMA signals to form a more complete picture.

The forecast is displayed as a directional difference from the current price — for example, "Forecast: +$0.84" means the model expects the next session to close approximately $0.84 higher than today's close. Green indicates an upward forecast, red indicates a downward one.

Part 7 — Bollinger Bands

Bollinger Bands were developed by John Bollinger in the 1980s and are now standard in virtually every professional trading platform. They consist of three lines plotted around the price and give you an immediate visual sense of whether the current price is within its normal range or at an unusual extreme.

How they are constructed

The three bands are calculated from the last 20 trading days of prices:

Middle Band = 20-day Simple Moving Average (SMA) Standard Deviation (σ) = sqrt [ Σ(p − SMA)² ÷ 20 ] Upper Band = SMA + (2 × σ) Lower Band = SMA − (2 × σ)

The standard deviation (σ) is a statistical measure of how dispersed prices have been around their average. Doubling the standard deviation (2σ) gives bands that, in a normally distributed market, statistically contain approximately 95% of all price observations. Prices touching or breaking through a band are genuinely unusual events — they represent the outer 5%.

Reading the band position

EconomicWatch calculates the current price's position within the bands as a value between 0 and 1, where 0 means at the lower band and 1 means at the upper band. It then displays a label according to this position:

LabelBand positionWhat it means
Near Lower 0 – 0.15 Price is at or near the lower statistical extreme. Historically rare; often followed by a mean reversion upward.
Lower Half 0.15 – 0.40 Price is below the 20-day average but not at an extreme. Mild downward bias.
Mid Range 0.40 – 0.60 Price is near the 20-day average. No statistically significant directional signal.
Upper Half 0.60 – 0.85 Price is above the 20-day average. Mild upward bias.
Near Upper 0.85 – 1.0 Price is at or near the upper statistical extreme. Historically rare; often followed by a mean reversion downward.

The bandwidth — volatility at a glance

The width of the bands is itself informative, even without knowing where the price sits within them. When the bands are wide, standard deviation is high and the market has been volatile — large price swings in both directions. When the bands are narrow (sometimes called a "Bollinger squeeze"), volatility is low and prices have been stable. A squeeze is often followed by a significant breakout in either direction, because extended periods of low volatility in commodity markets are typically unsustainable.

📐

Standard deviation in plain English: If the last 20 days of Brent crude averaged $80 per barrel with a standard deviation of $3, it means roughly 68% of all those daily prices fell between $77 and $83, and roughly 95% fell between $74 and $86. A price of $90 in that environment would be genuinely remarkable — in the outer 2.5% of the distribution — and statistically very likely to revert toward the mean.

Part 8 — Composite BULLISH / BEARISH / NEUTRAL signal

Three independent technical indicators — MACD, the Stochastic Oscillator, and Bollinger Band position — are synthesised into a single headline signal badge shown prominently in the technical analysis panel: BULLISH, BEARISH, or NEUTRAL. RSI plays a supporting role as a guard, not a vote.

↑ Bullish ↓ Bearish — Neutral

How the signal is determined

The composite signal uses a weighted, self-calibrating scoring model built on three indicators that are genuinely independent of each other:

IndicatorWhat it measuresWeight
MACD histogramTrend momentum strength and directionSelf-calibrated*
Stochastic %KPrice position within recent high-low rangeSelf-calibrated*
Bollinger band positionPrice position within statistical volatility envelopeSelf-calibrated*
RSI 14Overbought / oversold guard only — does not vote—

* Weights are derived automatically from each indicator's own historical directional accuracy on that specific asset. An indicator that has been correct 75% of the time on Brent crude will receive a higher weight than one that has been correct 55% of the time. See the methodology detail below.

Why EMA cross is shown but not voted

The EMA5/EMA20 crossover is displayed in the UI because it is a widely understood and visually intuitive signal. However, it is not included as a vote in the composite score because it is highly correlated with MACD — both are derived from exponential moving averages of the same price series, so they nearly always agree. Including both would effectively give EMA-based momentum a double vote, inflating its influence beyond its true informational content.

Why RSI is a guard, not a vote

RSI is one of the most powerful indicators in the toolkit, but it is best used for its original purpose: identifying overbought and oversold extremes. Using RSI < 50 as a “bullish vote” — which was the approach in an earlier version of this system — produces misleading results, because prices in a strong sustained uptrend will consistently have RSI in the 55–68 range, which would generate a bearish vote despite the market clearly rising.

In the current system, RSI acts only as a veto gate:

If RSI ≥ 70: block any BULLISH signal (momentum already overbought — too late) If RSI ≤ 30: block any BEARISH signal (momentum already oversold — too late) Outside those extremes: RSI does not influence the directional score

What to do with the composite signal

The primary use case for the Brent crude signal is forward planning rather than instant action. Because WA pump prices lag global crude prices by 2–4 weeks:

🚨

Important: The composite signal applies to global oil and commodity prices, not directly to individual Perth servo prices. Local pricing is also affected by the Tuesday FuelWatch cycle, which can override global signals entirely on a week-to-week basis.

Part 9 — MACD (Moving Average Convergence / Divergence)

MACD is one of the most widely used momentum indicators in professional trading, developed by Gerald Appel in the late 1970s. It measures the relationship between two EMAs — a fast one and a slow one — and adds a third layer: a smoothed signal line. Together, they create a rich picture of price momentum that is considerably more nuanced than a simple EMA crossover.

Metric 9

MACD (12, 26, 9)

The MACD system consists of three components:

MACD Line = EMA(12) − EMA(26) Signal Line = EMA(9) of the MACD Line Histogram = MACD Line − Signal Line

The MACD Line moves above zero when short-term momentum is stronger than medium-term momentum (the 12-day EMA is above the 26-day EMA). When it is below zero, medium-term momentum is dominant.

The Signal Line is a 9-day EMA of the MACD Line itself — it acts as a secondary smoother. When the MACD Line crosses above the Signal Line, that is a bullish momentum trigger. When it crosses below, that is a bearish trigger.

The Histogram (the bar above or below the zero line) shows the distance between the MACD Line and its Signal Line. A growing histogram (labelled ↑exp on EconomicWatch) means momentum is accelerating in the current direction — a high-confidence signal. A shrinking histogram (↓cont) means momentum is fading, which often precedes a reversal.

Because MACD requires at least 26 + 9 = 35 trading days of data to produce a valid reading, EconomicWatch fetches 90 calendar days (~63 trading days) from Yahoo Finance. Only the most recent 30 days are shown on the price chart, but all available data is used to calculate the indicators, ensuring the warmup period does not degrade accuracy.

💡

What it adds over EMA crossover alone: A simple EMA5/EMA20 crossover gives you a direction signal. MACD adds two extra dimensions: (1) strength — how far apart the EMAs are moving; and (2) acceleration — whether that divergence is growing or shrinking. A bullish MACD with an expanding histogram is a much higher-confidence buy signal than a crossover alone.

Part 10 — Stochastic Oscillator

The Stochastic Oscillator, developed by George Lane in the 1950s, takes a fundamentally different approach to measuring momentum compared to RSI. Rather than looking at the speed of price changes, it asks: where did the price close relative to the high-low range over the past 14 days? This makes it particularly effective in markets that are trading sideways or ranging — conditions where RSI can give misleading signals.

Metric 10

Stochastic %K and %D (14, 3)

%K = (Close − Lowest Low(14)) ÷ (Highest High(14) − Lowest Low(14)) × 100 %D = 3-period Simple Moving Average of %K

%K (shown first) represents the raw stochastic reading: 0 means today's close is at the very bottom of the 14-day range; 100 means it is at the very top. %D (the second number, the signal line) is a 3-day smoothed average of %K.

Zone%K valueInterpretation
Oversold Below 20 Close near the bottom of the recent range. Buyers have historically stepped in near this level.
Neutral 20 – 80 No extreme. The most actionable signal here is %K crossing above or below %D.
Overbought Above 80 Close near the top of the recent range. Selling pressure has historically increased near this level.

The key difference from RSI: Stochastic uses actual price range (high to low) rather than directional price changes. This means it responds differently to volatile, range-bound markets. When RSI and Stochastic both signal the same direction, the combined confidence is substantially higher than either alone.

📈

The crossover signal within Stochastic: When %K crosses above %D from the oversold zone (both below 20), that is a high-precision bullish entry signal. When %K crosses below %D from overbought (both above 80), it is a precise bearish trigger. EconomicWatch uses a tanh-scaled Stochastic score in the composite signal (centred on %K=50; amplified toward the extremes). The detailed %K and %D values are shown so you can apply the more precise crossover technique yourself.

Part 11 — Average True Range (ATR)

The Average True Range, developed by J. Welles Wilder Jr. (the same analyst who created RSI), is not a directional indicator — it does not tell you whether price will go up or down. Instead, it tells you how much price typically moves in a single trading day. This is called volatility, and it is essential context for interpreting every other indicator.

Metric 11

ATR (14-period)

ATR is based on the True Range for each day, which is the largest of three measurements:

True Range = max( High − Low, ← today's intraday range |High − Previous Close|, ← gap up from yesterday |Low − Previous Close| ← gap down from yesterday ) ATR = Exponential Moving Average of True Range over 14 days

This three-way comparison is important because it captures overnight gaps: when a commodity opens significantly higher or lower than it closed the previous day, the gap itself represents price movement that the simple High-Low range would miss.

EconomicWatch displays ATR in two forms: the raw dollar value (e.g., $2.14) and as a percentage of the current price (e.g., 2.7% of price). The percentage is more useful for comparison across different price levels. For Brent crude:

ATR as % of priceVolatility readingImplication for other signals
Below 1.5% Low volatility Markets are compressed. A Bollinger squeeze is likely. Breakout coming; but direction is uncertain.
1.5% – 3% Normal volatility Indicators are most reliable. Trend signals carry standard confidence.
Above 3% High volatility Large daily swings; more false signals. Widen your expectations and reduce confidence in individual signals.

In practical terms: if ATR is $4.00 (say, 5% of a $80 oil price), a BULLISH composite signal with an RSI of 55 should be interpreted with more caution than the same signal at an ATR of $1.50 (1.9%). High ATR means the market is erratic, and any individual session can easily reverse a trend signal.

Part 12 — Price distribution: IQR, standard deviation, and CV

The EconomicWatch dashboard panel now includes a Spread tile that adds statistical depth to the basic average/min/max view. Instead of just knowing the extreme prices, you can see how prices are distributed across the middle of the market.

Metric 12

Interquartile Range (IQR): the p25–p75 band

The IQR is the price range covered by the middle 50% of all stations. Instead of looking at the cheapest and most expensive (which can be outliers), the p25–p75 band tells you what a typical station charges — if you chose any station at random from the market, there is a 50% chance its price falls within this band.

A narrow band (e.g., 182¢–186¢) means prices are clustered tightly and the market is very uniform. A wide band (e.g., 178¢–198¢) means pricing is dispersed and there are meaningful savings to be found by searching.

Standard Deviation (σ)

σ = √[ ∑(price − average)² ÷ n ]

Standard deviation is the most mathematically precise measure of how spread out prices are from the average. A low standard deviation means stations are priced similarly; a high one means prices are all over the place. On EconomicWatch, σ is expressed in cents per litre to keep it in the same units as prices.

Coefficient of Variation (CV)

CV = (σ ÷ Average) × 100%

The Coefficient of Variation expresses standard deviation as a percentage of the average price. This makes it useful for comparing market spread across different fuel types or time periods: a CV of 1.5% means the standard deviation is 1.5% of the average price, regardless of whether the average is 160¢ or 210¢. A CV below 2% is considered a tightly priced market; above 4% indicates significant price dispersion.

Part 13 — Tomorrow magnitude: average ¢ move

The existing Tomorrow tile already told you how many stations are going up, down, or staying the same. The upgraded tile now also tells you by how much.

Metric 13

Average price change magnitude

Avg Up Move = ∑(tomorrowPrice − todayPrice) for rising stations ÷ count of rising stations Avg Down Move = ∑(todayPrice − tomorrowPrice) for falling stations ÷ count of falling stations

This adds crucial context to the raw counts. Consider two scenarios:

  • Scenario A: 300 stations rising by +0.5¢ average. This is a very small, routine daily adjustment. The impact on your weekly budget is negligible.
  • Scenario B: 300 stations rising by +8.2¢ average. This is a significant market-wide jump — the Tuesday FuelWatch cycle is about to reset substantially higher. Filling up today is strongly advisable.

The up count alone (300 stations going up) is identical in both scenarios. Without the magnitude, you cannot distinguish a minor ripple from a major price shock.

Similarly, a large average Down Move (e.g., −5.5¢) on a day when most stations are falling is a genuine market-wide discount signal — far more useful than simply knowing “prices are falling.”

Composite signal: scoring methodology

The composite signal uses a nonlinear, self-calibrating weighted model. Each of the three voting indicators produces a continuous score on a −1 to +1 scale using a hyperbolic tangent (tanh) transform, then scores are combined with data-derived weights.

Step 1 — Nonlinear indicator scores (tanh)

A simple binary approach (“is MACD above its signal? +1, else −1”) discards the most important information: by how much. A tanh transform preserves that magnitude while naturally saturating at the extremes, preventing one very strong signal from dominating unfairly:

MACD score = tanh( histogram ÷ (0.5 × ATR) ) → histogram equal to half-ATR produces score ≈ +0.76 → histogram equal to one full ATR produces score ≈ +0.96 → near-zero histogram produces score near 0 Stoch score = tanh( 2.5 × (50 − %K) ÷ 50 ) → %K = 20 (very oversold) produces score +0.91 → %K = 80 (very overbought) produces score −0.91 → %K = 50 (neutral) produces score 0 BB score = tanh( 3 × (0.5 − bbPosition) ) → bbPosition = 0 (at lower band) produces score +0.91 → bbPosition = 1 (at upper band) produces score −0.91 → bbPosition = 0.5 (midpoint) produces score 0

The amplification factors (2.5 for Stochastic, 3 for Bollinger) are chosen so readings at the conventional extreme zones (%K < 20, bbPos < 0.15) produce scores near ±0.9 — strong but not fully saturated, preserving the gradation between “near extreme” and “at extreme.”

Step 2 — Data-derived weights (rolling accuracy calibration)

Rather than using arbitrary fixed weights, EconomicWatch calculates each indicator's weight from its own historical performance on that specific asset. The algorithm:

For each historical period i (starting after a 30-bar warm-up): 1. Compute the indicator's score at time i 2. Record whether the next bar's price went up or down (the “label”) 3. Count how often the indicator's direction (sign of score) matched the next-bar direction Accuracy = correct_predictions ÷ total_predictions Weight = clamp( 3 × (accuracy − 0.5) + 0.5, min=0.1, max=2.0 ) Examples: accuracy = 50% (random) → weight = 0.5 accuracy = 60% → weight = 0.8 accuracy = 67% → weight = 1.0 (benchmark) accuracy = 75% → weight = 1.25 accuracy = 83%+ → weight = 2.0 (capped)

Only periods where the indicator has a clear opinion are counted (scores with absolute value > 0.1 are included; near-zero “noise” readings are excluded). If fewer than 5 valid samples exist for an indicator, it falls back to a sensible default weight (MACD: 1.5, Stochastic: 1.0, Bollinger: 1.0).

Step 3 — Weighted composite and threshold

Composite = (MACD_score × wₘ) + (Stoch_score × wₛ) + (BB_score × wₙ) Norm score = Composite ÷ (wₘ + wₛ + wₙ) BULLISH if: norm_score ≥ +0.35 AND RSI < 70 BEARISH if: norm_score ≤ −0.35 AND RSI > 30 NEUTRAL if: neither condition met

A normalised score of 0.35 means the weighted average across all active indicators leans 35% toward one direction. This is high enough to filter mid-range noise but low enough to respond to genuine trending conditions without waiting for unanimity.

🔬

Why this is more scientifically sound than a binary vote: Binary (±1) scoring discards the continuous information in the indicators — a histogram of +0.01 and a histogram of +4.50 would both cast an identical +1 vote. The tanh scoring preserves that magnitude. Self-calibrated weights mean an indicator that has been historically unreliable on a particular asset gets downweighted automatically, without requiring manual tuning.


Limitations and how to use these tools responsibly

Every quantitative tool has limitations, and we believe it is essential to be transparent about them so you can use EconomicWatch intelligently rather than blindly.

Technical indicators describe the past

Every indicator on EconomicWatch — EMAs, RSI, Bollinger Bands, linear regression — is calculated on historical price data. They describe what has happened and extrapolate a probable direction. They cannot predict geopolitical events (a sudden OPEC production cut, a refinery explosion, a major hurricane disrupting supply), currency shocks, regulatory changes, or any other discontinuous event that breaks the historical trend.

The fuel market is not a pure free market

Western Australia's FuelWatch system introduces a government-mandated price cycle that has no equivalent in pure financial markets. Prices in Perth reset every Tuesday in a way that is entirely predictable and has nothing to do with technical indicators. Always combine the technical signals displayed on EconomicWatch with your awareness of where you are in the weekly FuelWatch cycle.

The average is only as good as the sample

As noted above, all the relative statistics (colour coding, cheapest, most expensive) are computed against the average of the stations currently visible. If you have applied narrow filters, that average may not represent the broader market. When in doubt, clear all filters and observe the full-market average before narrowing down.

Distance is straight-line, not driving distance

The Haversine distance shown next to each station is the geodetic great-circle distance — essentially how far away the station is as the crow flies. Real driving distance through Perth's urban road network is often one to three times longer, depending on the route. Treat the distance column as a useful relative ranking (station A is closer than station B) rather than an accurate driving time or fuel cost calculation.

A practical decision framework

With all of the above in mind, here is how to use EconomicWatch analytics together for a well-informed fuel decision:

  1. Check the "Tomorrow" trend panel first. If 300+ stations are showing price increases for tomorrow, fill up today wherever is convenient. This is the highest- confidence, most time-sensitive signal on the platform.
  2. Use colour coding to find good value in your area. Filter by your suburb or postcode, then scan for green or emerald-coded stations. A station 8 cents below average is worth a small detour for most people.
  3. Look at the Brent crude composite signal for medium-term planning. A BULLISH signal on crude today suggests filling up more frequently — or running a fuller tank — over the next 2–4 weeks. A BEARISH signal suggests pricing pressures may ease.
  4. Use RSI to check headroom. RSI does not vote in the composite signal, but it does block signals at extremes. A BULLISH signal with RSI at 45 has much more room to run than one where RSI is at 68 (just below the 70 guard threshold). Check the RSI value shown in the panel alongside the headline badge.
  5. Inspect the individual indicator scores for confidence calibration. The composite signal is a weighted blend of MACD, Stochastic, and Bollinger scores. A BULLISH signal is most credible when: (a) the MACD histogram is positive and expanding (↑exp), (b) Stochastic %K is below 50 (ideally below 40), and (c) Bollinger band position is in the lower half of the bands. All three aligned is a high-confidence setup. Two of three is moderate. One of three alone is not sufficient to trigger a BULLISH signal under the ≥0.35 normalised threshold.
  6. Check ATR before acting on the signal. If ATR is above 3% of price, the market is highly volatile and individual sessions can easily reverse a trend. Hold your signals more loosely on high-ATR days.
  7. Cross-reference with the Tuesday cycle. If it is Sunday evening and the average price has been climbing all week, a big move on Tuesday is likely regardless of what the technical indicators say about global crude.
💡

Summary in one sentence: Use the live station statistics and tomorrow's trend for your next fill-up decision; use the technical indicators on crude and commodity widgets to think a few weeks ahead about whether WA pump prices are likely to rise or fall.


The analytics and indicators described in this article are continuously refined as new data becomes available. The goal of EconomicWatch is to give ordinary WA drivers access to the same quality of market analysis that financial professionals use — without requiring a background in statistics or trading to benefit from it.

If you have questions about any specific metric, suggestions for additional indicators, or feedback on how the analysis could be more useful, the EconomicWatch team welcomes it.

See the analytics in action

All of the metrics described in this article are live on the EconomicWatch dashboard right now — updated daily from FuelWatch and global commodity feeds.

← View live fuel prices