Fault Tree

OBD-II differential diagnosis

A trouble code is a symptom report from one sensor, not a diagnosis, but it gets read as one. P0420 says catalyst efficiency below threshold and the driver is quoted $1,400.00 for a converter, when the cause is more often a $118.00 oxygen sensor. This takes a code plus the freeze frame the ECU captured when it set, and produces a ranked differential with prices attached.

Code structure decoder

SAE J2012 codes are structured, not arbitrary: the letter is the system, the first digit says whether the definition is generic or manufacturer-specific, and the third character selects the subsystem. Any well-formed code decodes even when no repair data is loaded for it.

Diagnosis

P0455 minor will fail emissions
Evaporative emission system leak detected (large)
The fuel vapour system is not holding pressure. The single most common cause is a gas cap that was not tightened, which is why this one is worth checking before it is worth paying for.
Vehicle
2019 Toyota RAV4 LE · 2.5L I4 · 51,220 mi
Complaint
light came on after refuelling
Scanned
2026-07-23 04:35
Code family
Powertrain · generic SAE
Subsystem
Auxiliary emission controls

Most likely cause, given the freeze frame

Fuel cap loose, cracked or wrong — 42% likely
Tighten until it clicks, clear the code, drive two drive cycles. Free to test.
parts $22.00 + labour 0.1h @ $142.00/h = $36.20

Full ranked differential

CausePriorUpdatedRepair
Fuel cap loose, cracked or wrong 42% 42% $36
Cracked EVAP hose 24% 24% $162
Purge valve stuck open 19% 19% $173
Vent valve or canister failure 15% 15% $350
The prior column is what the code alone tells you. The updated column is after conditioning on the freeze-frame values below. Green moved up on the evidence, red moved down.

What the diagnosis is worth

Work the ranked path, stop when fixed $241 expected
Replace vent valve or canister failure first $350
Expected cost sums each cause's probability against the cumulative cost of reaching it in order. On this scan the ranked path expects $241 against $350 for going straight at the expensive component, which is the quote most people are handed.

Freeze frame — sensor state when the code set

PIDParameterValue
MAF Mass air flow rate 7.1 g/s
RPM Engine RPM 1560 rpm
SPEED Vehicle speed 58 km/h
O2_B1S1 O2 sensor, bank 1 sensor 1 0.49 V
O2_B1S2 O2 sensor, bank 1 sensor 2 0.63 V
LONG_FT1 Long-term fuel trim, bank 1 1.2 %
SHORT_FT1 Short-term fuel trim, bank 1 0.8 %
ENGINE_LOAD Calculated engine load 28 %
INTAKE_TEMP Intake air temperature 26 °C
COOLANT_TEMP Engine coolant temperature 90 °C