Below is a formal, numeric, weighted scoring model you can run on every WOT pull. It outputs:
- 0–100 Overall Score
- SAFE / CAUTION / STOP
- Component subscores you can graph over time
It’s built to be knock- and safety-dominant (because that’s what keeps EJ205s alive).
Black Pearl Pull Scoring Model v1.0
1) Overall Score (0–100)
Soverall=0.35Sknock+0.25Sfuel+0.20Sboost+0.15Sthermal+0.05Srepeat
Why these weights: knock + fueling are the biggest “engine-ending” failure modes on pump gas; boost control and thermal stability drive repeatability; repeatability is important but not more important than safety.
2) Subscores (each 0–100)
A) Knock Score Sknock (0–100)
Use 3 penalties: IAM, FBKC, FLKC.
IAM penalty
- Let IAMstart,IAMend
- ΔIAM=IAMstart−IAMend
PIAM={060ΔIAM=0ΔIAM>0
(Any IAM drop during/after the pull is a major red flag → heavy penalty.)
FBKC penalty
- Let FBKCmin be most negative FBKC during pull (e.g., -1.41, -2.81)
PFBKC=min(60, 20⋅∣FBKCmin∣)
So: -1.41 → 28.2 penalty, -2.81 → 56.2 penalty, -4.22 caps at 60.
FLKC penalty
- Let FLKCmin be most negative learned knock in the pull region
PFLKC=min(40, 15⋅∣FLKCmin∣)
Knock ScoreSknock=max(0, 100−(PIAM+PFBKC+PFLKC))
B) Fuel Score Sfuel (0–100)
This score cares about AFR error + injector duty headroom.
AFR tracking penalty
You need: measured wideband AFR AFRmeas and commanded/target AFR AFRtgt (or OL target if available).
Compute error over the pull window (e.g., 3500–6500 rpm):
- EAFR=median(∣AFRmeas−AFRtgt∣)
- EAFR,max=max(∣AFRmeas−AFRtgt∣)
PAFR=30⋅EAFR+10⋅EAFR,max
(Example: median error 0.2 and max 0.5 → PAFR=30(0.2)+10(0.5)=11.)
IDC penalty
Let IDCmax be peak injector duty cycle (%).PIDC=⎩⎨⎧02⋅(IDCmax−85)40IDCmax≤8585<IDCmax≤95IDCmax>95
Fuel ScoreSfuel=max(0, 100−(PAFR+PIDC))
C) Boost Control Score Sboost (0–100)
Reward accurate tracking; punish overshoot and oscillation.
You need boost target Btgt and actual Bact (same units).
Compute:
- Peak overshoot: O=max(Bact−Btgt)
- Mean absolute tracking error: EB=mean(∣Bact−Btgt∣)
- Oscillation proxy: J=std(ΔBact) (std of boost “rate of change”)
Povershoot=25⋅O Ptrack=20⋅EB Posc=10⋅J
Boost ScoreSboost=max(0, 100−(Povershoot+Ptrack+Posc))
(If you don’t have a clean J, skip it and redistribute weight inside boost.)
D) Thermal Score Sthermal (0–100)
We’re scoring IAT and heat soak sensitivity.
Let:
- IATstart,IATend
- ΔIAT=IATend−IATstart
PIATlevel=⎩⎨⎧00.5⋅(IATstart−90)30IATstart≤90F90F<IATstart≤130FIATstart>130F PIATrise=2⋅ΔIAT
Thermal ScoreSthermal=max(0, 100−(PIATlevel+PIATrise))
(If you log °C, adjust thresholds accordingly.)
E) Repeatability Score Srepeat (0–100)
This only makes sense once you have two pulls under similar conditions.
Let:
- ΔBpeak = |peak boost pull1 – pull2|
- ΔAFR = median |AFR error pull1 – pull2|
- ΔFBKC = |FBKCmin pull1 – pull2|
Prep=20⋅ΔBpeak+50⋅ΔAFR+10⋅ΔFBKC Srepeat=max(0, 100−Prep)
3) Classification Rules (hard gates + score bands)
Even if the weighted score looks okay, these gates override:
STOP (immediate)
- ΔIAM>0 (IAM drop)
- FBKCmin≤−2.8 in the WOT load cells
- AFR goes lean beyond a hard limit you set (example: > 0.8 AFR lean vs target at high load)
- IDCmax>95%
CAUTION
- FBKCmin between -1.4 and -2.8
- Any FLKC in the WOT region
- Boost overshoot > 1.0 psi (or equivalent)
- Thermal score < 70
SAFE
- No IAM drop, minimal/no knock, fueling and boost stable
Score bands
- SAFE: Soverall≥85
- CAUTION: 70–84
- STOP: <70 or any STOP gate triggered
4) How you use it (the money part)
Every revision gets a line item like:
- v1.07: Overall 78 (CAUTION) → “Reduce timing 0.5° @ 4.2g/rev 4200–5200, fix WGDC overshoot”
- v1.08: Overall 89 (SAFE) → “Proceed to small WGDC +1% in midrange”
This turns your tuning into a measurable product and your videos into evidence-based episodes.
Quick probing questions (so we set the right thresholds)
- Are you logging wideband AFR into the ECU/log, or is it external only?
- What units are you using for boost (psi or kPa), and do you have boost target logged?
- What’s your typical fuel (91/93, ethanol blend, etc.)?
Answer those and I’ll tailor the hard limits + coefficients so the scoring matches your exact setup.
Fuel Profiles (choose one per pull/session)
Profile A — 91 Pump (most conservative)
- Knock penalties harsher
- Lean events less tolerated
- IDC headroom more protected
Profile B — 93 Pump
- Moderately conservative
Profile C — Ethanol Blend (assume E30 unless you specify)
- Knock tolerance can be slightly wider
- Still zero tolerance for IAM drops and major knock
- Fuel system limits matter more (ethanol increases fuel demand)
1) Weights (slightly revised for ethanol)
91 / 93
Soverall=0.38Sknock+0.25Sfuel+0.20Sboost+0.12Sthermal+0.05Srepeat
Ethanol blend (E30 default)
Soverall=0.34Sknock+0.30Sfuel+0.18Sboost+0.13Sthermal+0.05Srepeat
Why: ethanol usually improves knock margin, but it stresses fueling capacity, so fueling gets more weight.
2) Hard STOP Gates (these do not negotiate)
All fuels (91/93/E-blend)
STOP immediately if any:
- IAM drops during/after pull
- FBKC ≤ -2.8 in WOT/load region
- IDC > 95%
- Boost overshoot > 2.0 psi (or equivalent) with oscillation
Fueling STOP (AFR error vs your target)
This uses error vs commanded, not absolute AFR.
- 91: STOP if max error ≥ +0.6 AFR lean
- 93: STOP if max error ≥ +0.7 AFR lean
- E30: STOP if max error ≥ +0.8 AFR lean
(Still not “safe,” just slightly more tolerant before hard stop.)
3) Knock Score Sknock (fuel-adjusted penalties)
IAM penalty (unchanged)
PIAM={070ΔIAM=0ΔIAM>0
FBKC penalty coefficient by fuel
Let FBKCmin be most negative value.
- 91: PFBKC=min(70, 25⋅∣FBKCmin∣)
- 93: PFBKC=min(65, 22⋅∣FBKCmin∣)
- E30: PFBKC=min(60, 18⋅∣FBKCmin∣)
FLKC penalty coefficient by fuel
- 91: PFLKC=min(50, 18⋅∣FLKCmin∣)
- 93: PFLKC=min(45, 16⋅∣FLKCmin∣)
- E30: PFLKC=min(40, 12⋅∣FLKCmin∣)
Sknock=max(0, 100−(PIAM+PFBKC+PFLKC))
4) Fuel Score Sfuel (ethanol tightens IDC rules)
AFR penalty (same math, different sensitivity)
Let:
- EAFR=median(∣AFRmeas−AFRtgt∣)
- EAFR,max=max(∣AFRmeas−AFRtgt∣)
- 91: PAFR=35EAFR+12EAFR,max
- 93: PAFR=32EAFR+11EAFR,max
- E30: PAFR=30EAFR+10EAFR,max
IDC penalty (this is where ethanol gets strict)
Let IDCmax be peak IDC.
91 / 93
- 0 penalty ≤ 85%
- linear penalty 85–95%
- hard cap >95%
PIDC=⎩⎨⎧02.2⋅(IDCmax−85)45IDCmax≤8585<IDCmax≤95IDCmax>95
E30 (more fuel required → protect headroom)
- 0 penalty ≤ 82%
- linear penalty 82–92%
- hard cap >92% (because you’ll run out of injector fast with E content swings)
PIDC,E30=⎩⎨⎧02.8⋅(IDCmax−82)55IDCmax≤8282<IDCmax≤92IDCmax>92 Sfuel=max(0, 100−(PAFR+PIDC))
5) Boost Score Sboost (keep it tight on all fuels)
Same structure, but overshoot matters slightly less on ethanol only if knock is clean (still not a free pass).
- All fuels:
Povershoot=25O,Ptrack=20EB - Oscillation penalty stays:
Posc=10J
Sboost=max(0, 100−(Povershoot+Ptrack+Posc))
6) Thermal Score Sthermal (ethanol still heat-soaks)
Keep thermal strict. Ethanol helps knock, not physics.
Use your existing IAT-based penalties, but trigger CAUTION earlier if:
- Thermal score < 75 (all fuels)
- Or IAT rise is steep pull-to-pull
7) Classification Bands (same, but smarter)
- SAFE: Soverall≥85 and no gates triggered
- CAUTION: 70–84
- STOP: <70 or any STOP gate
The one detail I need to lock this down
When you say ethanol blend, are you usually:
- E20–E30, or
- E40–E60, or
- “whatever the pump gives” (variable)?
Because IDC limits and AFR tolerance need different ceilings once you push past ~E30. If you tell me your typical blend range, I’ll finalize the E-profile into E30 vs E50 with correct IDC headroom rules.
🔵 Fuel Profile 1 — 91 Octane (Most Conservative)
Intended Use
- Daily driving
- Hot weather
- Long pulls
- Worst-case fuel quality
Target Philosophy
- Stability > output
- Slightly richer under load
- Lower peak boost
- Conservative timing
Recommended Calibration Envelope (EJ205 Safe Bias)
- Peak Boost: ~15–16 psi (VF22 dependent)
- WOT AFR target: 10.8–11.0
- Timing ramp conservative midrange
- Zero tolerance for repeat knock
- Injector duty ceiling: 90%
Scoring Sensitivity
- Highest knock penalty
- Tightest AFR lean tolerance
- CAUTION if any FLKC in WOT
Use this profile when ambient temps are high or fuel quality is questionable.
🔵 Fuel Profile 2 — 93 Octane (Primary Power Target)
Intended Use
- Performance street
- Controlled pulls
- Main 305whp attempt baseline
Target Philosophy
- Controlled midrange torque
- Smooth boost ramp
- Clean combustion
Recommended Calibration Envelope
- Peak Boost: ~17–18 psi (depending on turbo efficiency)
- WOT AFR target: 10.8–11.2
- Timing modest but progressive
- Injector duty ceiling: 92–93%
Scoring Sensitivity
- Moderate knock penalty
- AFR tracking must stay tight
- Boost overshoot tolerance slightly higher than 91
This should be your primary tuning fuel for developing the 305whp calibration.
🔵 Fuel Profile 3 — E30 Blend (Controlled Ethanol Strategy)
This is where things get serious — but also risky if fuel system isn’t upgraded.
Intended Use
- Maximum safe pump-based output
- Knock resistance increase
- Thermal stability improvement
Target Philosophy
- Maintain knock margin
- Protect fuel system headroom
- Do not chase timing aggressively
Recommended Calibration Envelope
- Peak Boost: ~18–19 psi (only if airflow supports it safely)
- WOT AFR target: 11.3–11.5 equivalent gasoline scale
- Timing slightly increased vs 93, but incremental
- Injector duty ceiling: 90–92% max (ethanol consumes more fuel)
Critical Rule
If IDC exceeds 92% at E30 → stop increasing boost immediately.
Ethanol gives knock headroom.
It does NOT give fuel system headroom.
⚠️ Fuel Strategy Doctrine
Never Tune on Mixed Unknown Fuel
If you don’t know ethanol content, treat it as 93.
Never Increase Timing and Boost in the Same Revision
Especially on E blends.
Always Log Before Power Escalation
Fuel trims, IAM stability, and IDC must be clean first.
🧠 Strategic Recommendation
For Project Black Pearl:
- Develop base stability on 93
- Validate repeatability
- Then introduce controlled E30 map
- Compare log scores side-by-side
That gives you:
- Content
- Data
- A monetizable comparison framework
- A safety buffer
Black Pearl Fuel Doctrine (Injector-Limited Edition)
✅ Allowed Operating Profiles (with 440cc injectors)
1) 91 Octane Map (Daily / Hot Weather / Worst Fuel)
Purpose: survive anything.
- Boost: conservative
- Timing: conservative
- Goal: reliability + knock-free
IDC guardrail: keep ≤ 85–88% at WOT.
2) 93 Octane Map (Primary Performance Map)
This is your best path to ~305whp if the hardware/turbo supports it.
- Boost: moderate-high but controlled
- Timing: incremental
- Fueling: stable and rich enough to protect
IDC guardrail: keep ≤ 90–92% (absolute).
3) “Light Ethanol” Blend Only (E10–E20 max)
This is the only ethanol strategy that makes sense on 440s unless you accept high risk.
Target range: E10–E20
- Use it for knock margin and consistency
- Not for turning the boost knob to the sky
IDC guardrail: keep ≤ 88–90%.
E30? On 440s: not recommended for WOT tuning unless you’re okay with living on the edge.
🚫 Prohibited Profile (for your current setup)
E30 “Power Map” on 440cc injectors
Hard no as a repeatable strategy.
If you do it anyway, the scoring model should treat:
- IDC > 92% as STOP
- Any lean deviation as STOP
- Any IAM drop as STOP
Because you have no headroom, and ethanol content variation will bite you.
Update to the Scoring Model for Your Setup
Injector Duty STOP Gates (tightened)
Because injectors are old and small:
- STOP if IDC > 92% (all fuels)
- CAUTION if IDC 88–92%
- SAFE zone ≤ 88%
(Yes, this is stricter than before — that’s what “20-year-old 440s” demands.)
Fuel Profile Weights (injector-limited)
Even on pump gas, fueling deserves more weight because you’re near the ceiling.Soverall=0.36Sknock+0.30Sfuel+0.18Sboost+0.11Sthermal+0.05Srepeat
What this means for your 305whp target (realistic)
With 440cc injectors, the build is usually capped by:
- IDC headroom
- AFR stability at high airflow
- consistency between cylinders (old injectors)
You can still build a fast WRX, but 305whp is “possible but not guaranteed” depending on turbo efficiency, intercooling, and your boost curve.
If you want 305whp reliably and safely, injectors are the next mandatory move.
The smartest money move (ROI)
Option A — Replace injectors with something modern
- STI “pinks” (565cc) if you want simple and proven
- ID1050x / similar if you want future flex / bigger turbo headroom
Option A is the move that prevents you from wasting time “tuning around” injector limits.
Option B — Keep 440s and cap the mission
- Focus on response and midrange
- Target a lower whp goal but very reliable
- Build the rally drivability angle