Ershaghi X-Plot — waterflood performance & ultimate recovery

● Production Engineering · May 17, 2026 · 11 min read

For oil wells deep into water cut, conventional decline curve analysis no longer applies. Production rate falls quickly while cumulative oil rises slowly. Ershaghi's X-plot extracts ultimate recovery from this regime using a simple linearization of fractional flow theory — free, fast, and surprisingly defensible.

The mature waterflood problem

Picture an oil well 12 years into production. Water cut is at 88%. Daily oil rate is 60 bopd, dropping 0.3% per month. Forecasting on rate-time decline gives noisy results because most of the production is now water — small swings in water rate dominate the apparent decline.

What the engineer actually wants to know is simpler: how much more oil will this well produce before water cut hits 95%, 98%, or economic shutdown? The answer doesn't depend on time — it depends on cumulative oil and the relationship between water cut and sweep efficiency.

Ershaghi and Omoregie (1978) showed that for systems with constant fractional flow behavior, plotting log((1-WC)/WC) against cumulative oil Np yields a straight line. Extrapolating that line to economic water cut gives ultimate recoverable oil directly.

The X-plot equation

Starting from fractional flow theory in a one-dimensional displacement, water cut at a producer can be written as a function of the saturation profile and mobility ratio. For a wide range of practical waterflood conditions, this collapses to:

Ershaghi X-plot — linearized form log10((1 − WC) / WC) = a × Np + b

where:
  WC = water cut (fraction, not percent)
  Np = cumulative oil production
  a = slope (negative for typical waterflood)
  b = intercept

The slope a is always negative for water-displacing-oil systems. As Np grows, WC approaches 1, the ratio (1-WC)/WC approaches 0, and its log goes to −∞.

Solving for ultimate oil at a target abandonment water cut:

Ultimate oil at abandonment WC Np,ult = (log10((1 − WCabn) / WCabn) − b) / a

For WCabn = 0.95:
log10(0.05 / 0.95) = log10(0.0526) ≈ −1.279
Ershaghi reduces ultimate recovery to a linear regression. Plot log-WC against cumulative oil, fit a line, extrapolate to economic water cut.
+1 0 −1 −2 0 1k 2k 3k 4k Cumulative oil Nₙ (Mbbl) log₁₀((1−WC)/WC) log = −1.279 (WC=95%) Nₙ,ult ≈ 3,660 Mbbl PRE-BT STABLE — FIT WINDOW LATE-LIFE
Figure 1Anatomy of the Ershaghi X-plot. Pre-breakthrough points (left, red) and late-life flattening (right, red) are excluded. The fit runs through the stable middle zone where log-linearity holds. Extending the line down to log = −1.279 (which corresponds to WC = 95%) gives the ultimate recoverable oil — directly readable on the cumulative-production axis.

Why log-linear works

The physical basis traces to the Buckley-Leverett fractional flow model. For waterflood in a system with reasonable layering and constant well bottomhole conditions, water cut at the producer evolves approximately as:

fw = WC = 1 / (1 + (μwo) × (kro/krw))

where kro/krw is the ratio of relative permeabilities at the current saturation.

When relative permeability ratio scales approximately exponentially with average reservoir saturation (true for many sandstone and carbonate systems), the cumulative oil produced becomes a linear function of average saturation. Combining these relationships and taking logs yields the X-plot linearization.

The framework is empirical at the macro level — the line works whether or not the underlying physics is exactly Buckley-Leverett. Decades of field application have shown it holds for most conventional waterfloods past 30-40% water cut.

Step-by-step worked example

A 14-year-old oil well in a sandstone waterflood with the following monthly snapshots:

MonthWC (frac)Np (Mbbl)(1-WC)/WClog10((1-WC)/WC)
240.358201.8570.269
480.521,4850.923−0.035
720.652,0100.538−0.269
960.742,4400.351−0.454
1200.812,7800.235−0.629
1440.873,0400.149−0.826
1680.913,2100.099−1.006

Step 1 — Plot log((1-WC)/WC) versus Np.

Plotting the last two columns yields a clearly linear trend across most of the data. Early points (months 24-48) may show curvature as the displacement pattern was still developing.

Step 2 — Fit the linear portion.

Using least-squares regression on months 72-168 (where the line is stable):

Slope a ≈ −0.000615 (per Mbbl)
Intercept b ≈ +0.97
R² ≈ 0.998

Step 3 — Extrapolate to economic water cut.

For abandonment at WC = 0.95:

log10(0.05/0.95) ≈ −1.279

Np,ult = (−1.279 − 0.97) / (−0.000615)
    = −2.249 / −0.000615
    ≈ 3,660 Mbbl

Interpretation: Current Np = 3,210 Mbbl. Extrapolated ultimate at 95% water cut = 3,660 Mbbl. Remaining recoverable oil ≈ 450 Mbbl. At current rate of ~60 bopd, that translates to roughly 20 years to economic limit — though terminal decline will accelerate near abandonment.

Window selection — the practical decision

The X-plot's biggest pitfall is fitting the wrong window. Three regions need to be distinguished:

Early time (pre-breakthrough)

Before water reaches the well, WC is near zero and (1-WC)/WC is enormous. Log values are large and unstable. Always discard these points.

Transition period (first months after breakthrough)

Water cut rises rapidly but the line hasn't stabilized. Slope changes substantially as the displacement pattern matures. Discard.

Stable depletion regime

The line is straight, slope is consistent, R² > 0.95. This is the fit window. For most conventional fields, the stable regime begins at WC ≈ 30-40% and continues through WC ≈ 90%.

Late-life flattening

Near WC = 1, the line can curve upward (less negative slope) as residual oil saturation dominates. Including these points pulls the extrapolation too optimistic. Fit only the stable middle.

Rule of thumb

Use data with WC between 30% and 90% for the fit. Outside this band, expect linearity breakdown. If the well hasn't reached 30% WC yet, X-plot is premature — wait for enough depletion data.

When auto-fit fails — engineering judgment override

Real wells often have multiple inflection points. A workover, infill drilling nearby, or change in injection support can shift the slope mid-life. An auto-fit blindly applied to all data gives an averaged slope that fits neither regime well.

The practical workflow:

  1. Plot the data and inspect visually
  2. Identify slope changes (typically corresponding to operational events)
  3. Fit only the most recent stable segment — the regime most relevant to current behavior
  4. If R² > 0.95 on the chosen window, use the extrapolation
  5. If R² < 0.85, the well is not in a fittable regime — note "X-plot not currently applicable" rather than force a bad fit

Modern surveillance dashboards provide engineering-override panels that let users pick the Np window manually when auto-fit chooses badly. This is essential — fully automatic Ershaghi tends to over-fit early-time data and under-extrapolate.

Reading the slope

The slope a carries physical meaning:

Slope magnitudeBehaviorInterpretation
Steep negativeRapid WC rise per MbblLimited sweep, early flooding
Moderate negativeTypical waterflood progressionHealthy displacement
Shallow negativeSlow WC rise per MbblExcellent sweep, large reserves remain
Positive slopeWC decreasing while Np risesOperational change (workover, isolation) — refit

Comparing slopes across wells in the same field reveals heterogeneity. Steep slopes flag wells with poor sweep — candidates for workover or pattern realignment.

+1 0 −1 Cumulative oil Nₙ log((1−WC)/WC) STEEP · poor sweep MODERATE · healthy SHALLOW · excellent sweep WC = 95% abandonment low EUR mid EUR high EUR
Figure 2Slope as sweep efficiency. Three wells in the same field with similar starting intercepts but different slopes. The steep red trajectory extrapolates to a small ultimate recovery at WC = 95% — poor sweep, water finding short paths through the reservoir. The shallow green trajectory promises much more remaining oil — efficient displacement, larger swept volume.

Common pitfalls

1. Using WC in percent instead of fraction. The equation requires WC as a fraction (0 to 1). Plugging in 85 instead of 0.85 ruins everything.

2. Forcing the line through early-time points. Pre-breakthrough data has WC near zero, log values explode upward. Fitting them pulls the slope wrong.

3. Ignoring workover events. Any intervention that changes well productivity (recompletion, acid, stimulation) breaks the X-plot continuity. Refit from the event date forward.

4. Trusting R² without inspection. A fit can have R² = 0.92 and still be wrong if the window includes a slope change — the fit averages two slopes into one meaningless slope. Always look at the residual pattern.

5. Assuming the line continues forever. Late-life (WC > 95%) deviates from linearity. Extrapolating to WC = 99% gives an inflated EUR. Use WC = 95% as practical upper bound, then accept that residual recovery beyond that requires a different model.

6. Treating Ershaghi as standalone evidence. Cross-check against conventional DCA, material balance, or volumetric estimates. Wide divergence between methods is a signal that one of them is wrong — usually the one closest to abandonment.

Applicability — does Ershaghi work for this well?

Before fitting an X-plot, screen the well against its drive mechanism. The X-plot is a waterflood tool: it derives from Buckley-Leverett fractional flow under immiscible displacement at near-constant voidage. When that physical setup is violated, the log-linear trend either doesn't form or forms but doesn't mean what Ershaghi intended.

Drive-mechanism screening matrix

Drive mechanism Ershaghi applies? Reason
Active waterflood (organized injection) ✅ Yes — primary use case Buckley-Leverett displacement, stable voidage, predictable fractional flow.
Strong edge/bottom water drive (steady aquifer) ✅ Usually yes Aquifer behaves like an injector. Slope is meaningful if encroachment rate is stable.
Weak/partial aquifer (declining support) ⚠️ With caution Slope drifts as aquifer weakens. Use short rolling windows; expect EUR revisions.
Solution-gas drive (undersaturated → saturated) ❌ No Water cut rises from formation water, not displacement. Use Arps for oil; gas-oil ratio diagnostics for GOR.
Gas-cap expansion ❌ No Recovery driven by gas displacement, not water. Material balance preferred.
Undersaturated depletion (above bubble point) ❌ No No mobile water phase. WC stays at connate level until pressure crosses Pb.
EOR — polymer/surfactant/ASP ❌ No (without recalibration) Fractional flow curve shifts mid-flood. Pre-EOR fit no longer extrapolates.
Thermal recovery (SAGD, CSS, steamflood) ❌ No Viscosity reduction dominates; mobility ratio changes with temperature. Different physics entirely.
Multi-compartment / disconnected blocks ⚠️ With caution Composite WOR behavior. Apply per-compartment if data allows; whole-well fit gives ensemble average only.

Pre-fit checklist

Before running the X-plot, verify:

If any item fails, either skip Ershaghi entirely (use a method matched to the drive mechanism) or apply it with explicit caveats — never report the EUR as final without flagging the violated assumption.

Auto-fit screening logic

In automated tooling (GOWIS handles this) the safest screening logic is to skip Ershaghi when:

When any of these trigger, fall back to Arps DCA (for oil rate) or flag the well for manual review. The principle: a confident-looking line that violates the underlying physics is more dangerous than no fit at all, because it carries authority it doesn't deserve.

Field practice: rolling reassessment

The X-plot is not a one-time calculation. Best practice is to recompute every quarter on all mature wells. As more data accumulates, the line refines. Slope drift between quarters flags wells where behavior is changing — typically due to operational events or reservoir reorganization.

For a field with hundreds of wells, this is automation territory. A surveillance dashboard can fit X-plot on every oil well nightly, flag wells with low R², and present the extrapolated Np,ult alongside engineering-override controls.

Three takeaways

  1. Window selection beats fit quality. A defensible window with R² = 0.92 beats an over-fit on all data with R² = 0.99.
  2. Slope is sweep efficiency. Read the slope as a measure of how well the waterflood is working — not just as a fitting parameter.
  3. Engineering override is essential. Pure auto-fit fails on wells with history. Always allow the engineer to pick the Np window manually.

References & further reading:
Ershaghi, I., Omoregie, O. (1978). A Method for Extrapolation of Cut vs. Recovery Curves. JPT, 30(2), 203–204.
Ershaghi, I., Abdassah, D. (1984). A Prediction Technique for Immiscible Processes Using Field Performance Data. JPT, 36(4), 664–670.
Yang, Z. (2009). Analysis of Production Decline in Waterflood Reservoirs. SPE 124613.
Craig, F. F. (1971). The Reservoir Engineering Aspects of Waterflooding. SPE Monograph Vol. 3.
Willhite, G. P. (1986). Waterflooding. SPE Textbook Series Vol. 3.
Dykstra, H., Parsons, R. L. (1950). The Prediction of Oil Recovery by Waterflood. Secondary Recovery of Oil in the United States, API.

Run Ershaghi on every oil well
Auto-fit with engineering judgment override
GOWIS — the gas and oil well surveillance dashboard from RFour Energy — runs Ershaghi X-plot on every producing oil well in your field, with automatic R² gates, confidence scoring, and manual Np window override for the cases that don't auto-fit well. See remaining recoverable oil per well at a glance.
← Back to rfourenergy.com © 2026 RFour Energy