Before a well is spudded, someone has to say how long it will take, where the casing goes, what will go wrong and what it will cost. The best evidence is the wells already drilled nearby. This article works through a pre-spud forecast for a vertical development well from seven offsets: how the analogs are weighted, how their drilling curves become a P10–P90 time–depth fan, and how a leave-one-out backtest tells you how far to trust it.
What an offset forecast answers
A drilling programme, an AFE and a rig schedule all start from the same questions. How many days from spud to TD? Where are the casing points? How fast does each formation drill? Which problems turn up, in which section, and how often? The answers are already in the offset wells: their tops, casing, mud, bit records, daily reports and drilling curves. The work is to decide which offsets matter, combine them honestly, and keep the spread instead of hiding it behind one number.
Three habits spoil most offset studies: taking the nearest well alone, averaging every well in the area whatever its target, and quoting a single P50 with no range. A forecast worth using weighs the analogs, shows the range and tests itself on wells whose answer is known.
The method
The forecast runs in four steps: score each offset as an analog, combine the chosen offsets depth by depth, place the result on the planned trajectory, and check the method against history.
1. Similarity. Each offset gets a weight from five factors, multiplied together. Each factor is raised to an exponent that sets how much it counts; an exponent of zero switches a factor off.
w = e−d/4 km × ftarget1.4 × ftype0.8 × (e−|Δz|/150 m)0.8 × frig0.4
- d
- distance between surface locations, km; the 4 km scale was chosen by the backtest
- ftarget
- 1 for the same reservoir, 0.6 for the same reservoir family, 0.25 for another target
- ftype
- 1 for the same well type (producer, appraisal, exploration), 0.4 to 0.7 otherwise
- Δz
- difference in target depth below sea level between the offset and the plan, m
- frig
- 1 for the same rig, 0.75 for another
Offsets with a weight below 0.01 drop out, and at most eight are used.
2. Weighted quantiles. Every forecast quantity, from a formation top to the days at a given depth, is a weighted quantile across the chosen offsets. The values are sorted. Each one sits at its cumulative weight less half its own weight, divided by the total, and the P10, P50 and P90 are read off that curve by straight-line interpolation. A well with half the weight moves the answer half as much.
3. Time against depth. Offsets never have exactly the same casing points or TD as the plan. Each offset's drilling curve is warped piecewise-linearly so its casing shoes and TD line up with the planned well's, then the days are read every 25 m and combined into the fan. The fan is forced to be non-decreasing, since elapsed time cannot fall with depth.
4. Backtest. Each offset is hidden in turn and forecast from the others using only what a planner knows before spud: location, target, well type, rig, elevation and planned TD. The error is compared with the simplest rule there is, copying the nearest well. The backtest error then sets a floor on the forecast bands: a top's P10–P90 is never narrower than its formation's hindcast error, and the days band never narrower than the days error.
The example well and its offsets
The example is a vertical oil producer set in typical Western Desert, Egypt conditions, targeting the Lower Cretaceous Alam El Bueib sands below the Alamein Dolomite at about 3,190 m. The column above it is the usual one: Miocene Marmarica limestone and Moghra sands at surface, the Dabaa shale, the Apollonia and Khoman carbonates, the Abu Roash, then the Bahariya and Kharita sands and the Dahab shale. Seven offsets have records; six of them have a drilling curve from spud.
| Well | Distance | Target, type | Spud to TD | Technical NPT | Weight |
|---|---|---|---|---|---|
| Offset A | 1.2 km | Alam El Bueib, producer | 20.2 d | 16 h | 0.70 |
| Offset B | 2.0 km | Alam El Bueib, producer | 21.0 d | 14 h | 0.57 |
| Offset C | 3.1 km | Alam El Bueib, producer, other rig | no curve | 11 h | 0.37 |
| Offset D | 4.5 km | Alam El Bueib, producer, other rig | 25.6 d | 58 h | 0.25 |
| Offset E | 5.5 km | Bahariya, producer, TD 2,980 m | 12.9 d | 10 h | 0.0005 |
| Offset F | 7.2 km | Alam El Bueib, appraisal | 24.0 d | 21 h | 0.06 |
| Offset G | 14.1 km | Khatatba, exploration, TD 4,250 m | 32.2 d | 32 h | 0.00 |
The plan is a vertical well from a 214 m rotary table to 3,650 m, drilled with the rig that drilled A and B, at a spread rate of 48,000 USD a day. Five offsets pass the 0.01 weight cut. The shallow Bahariya well and the deep exploration well drop out: a different target, 740 to 800 m away in depth, leaves them almost no weight, however close E is.
A hand check
Two of the engine's numbers can be checked with a calculator.
- Offset A's weight. It is 1.22 km away: e−1.22/4 = 0.737. Same target, type and rig: those factors are 1. Its Alam El Bueib top is 9.3 m deeper below sea level than the plan's: e−9.3/150 = 0.94, and 0.940.8 = 0.952. So w = 0.737 × 0.952 = 0.70.
- The P50 days to TD. Four offsets have curves: A 20.19 d (weight 0.701), B 21.00 d (0.570), F 24.02 d (0.057) and D 25.63 d (0.245). The total weight is 1.574.
- Plotting positions. A sits at (0.701 − 0.351) / 1.574 = 0.223 and B at (1.272 − 0.285) / 1.574 = 0.627. The 0.5 point lies between them.
- Interpolate. 20.19 + (0.5 − 0.223) / (0.627 − 0.223) × (21.00 − 20.19) = 20.75 days, the engine's P50.
Note what the P50 is not. The plain average of the four wells is 22.7 days and the nearest well alone says 20.2. The weighting leans on A and B because they are close, on the same rig and on the same target, and gives D a quarter of the say even though it was the slowest.
The time–depth fan
- P50 forecast
- P10 and P90
- Offset wells A, B, D, F, each warped through its own casing points
DrillIQ's Drill Sight engine on seven invented offset wells; four of the five chosen have a drilling curve from spud. The band at TD is widened by the leave-one-out error (21.5 %); the curves above it are the offsets' weighted quantiles.
Show the data
| MD | P10 | P50 | P90 |
|---|---|---|---|
| 0.0 | 0.0 | 0.0 | 0.0 |
| 50.0 | 0.0 | 0.0 | 0.0 |
| 100 | 0.2 | 0.2 | 0.2 |
| 175 | 0.4 | 0.4 | 0.5 |
| 225 | 0.5 | 0.5 | 0.6 |
| 300 | 0.6 | 0.6 | 0.7 |
| 350 | 0.7 | 0.7 | 0.8 |
| 425 | 0.8 | 0.9 | 1.0 |
| 475 | 0.9 | 1.0 | 1.1 |
| 550 | 1.0 | 1.1 | 1.3 |
| 600 | 1.1 | 1.2 | 1.4 |
| 650 | 1.2 | 1.3 | 1.5 |
| 725 | 3.1 | 3.3 | 3.6 |
| 775 | 3.2 | 3.4 | 3.7 |
| 850 | 3.3 | 3.8 | 4.2 |
| 900 | 3.4 | 3.9 | 4.3 |
| 975 | 3.5 | 4.1 | 4.4 |
| 1,025 | 3.6 | 4.2 | 4.5 |
| 1,100 | 3.9 | 4.5 | 4.7 |
| 1,150 | 4.0 | 4.6 | 4.9 |
| 1,225 | 4.6 | 5.0 | 5.7 |
| 1,275 | 4.8 | 5.1 | 5.9 |
| 1,325 | 4.9 | 5.2 | 6.1 |
| 1,400 | 5.2 | 5.5 | 6.4 |
| 1,450 | 5.3 | 5.6 | 6.5 |
| 1,525 | 5.5 | 5.8 | 6.8 |
| 1,575 | 5.6 | 5.9 | 6.9 |
| 1,650 | 5.8 | 6.1 | 7.1 |
| 1,700 | 6.0 | 6.5 | 7.3 |
| 1,775 | 6.9 | 7.2 | 8.4 |
| 1,825 | 7.1 | 7.5 | 8.7 |
| 1,875 | 7.3 | 7.7 | 8.9 |
| 1,950 | 7.6 | 8.0 | 9.3 |
| 2,000 | 7.8 | 8.2 | 9.6 |
| 2,075 | 8.2 | 8.6 | 10.0 |
| 2,125 | 8.4 | 8.8 | 10.2 |
| 2,200 | 8.7 | 9.1 | 10.6 |
| 2,250 | 8.9 | 9.4 | 10.9 |
| 2,325 | 9.2 | 9.7 | 11.3 |
| 2,375 | 9.4 | 9.9 | 11.5 |
| 2,450 | 12.2 | 12.7 | 14.6 |
| 2,500 | 12.4 | 13.0 | 14.9 |
| 2,550 | 12.7 | 13.2 | 15.1 |
| 2,625 | 13.0 | 13.6 | 15.5 |
| 2,675 | 13.2 | 13.8 | 15.8 |
| 2,750 | 13.5 | 14.1 | 16.2 |
| 2,800 | 13.7 | 14.3 | 16.4 |
| 2,875 | 14.0 | 14.6 | 17.3 |
| 2,925 | 14.2 | 14.8 | 17.6 |
| 3,000 | 14.5 | 15.1 | 17.9 |
| 3,050 | 14.7 | 15.3 | 18.2 |
| 3,100 | 14.9 | 15.6 | 18.6 |
| 3,175 | 16.2 | 16.9 | 20.8 |
| 3,225 | 16.8 | 17.4 | 21.3 |
| 3,300 | 17.4 | 18.0 | 22.0 |
| 3,350 | 18.0 | 18.4 | 22.4 |
| 3,425 | 18.6 | 19.0 | 23.2 |
| 3,475 | 19.0 | 19.4 | 23.6 |
| 3,550 | 19.5 | 20.0 | 24.3 |
| 3,600 | 19.8 | 20.4 | 24.8 |
| 3,650 | 20.2 | 20.8 | 25.3 |
The fan follows the offsets section by section. The 17½″ hole to the 13⅜″ shoe at 669 m takes a P50 of 1.8 days, the 12¼″ hole to the 9⅝″ shoe at 2,383 m 8.3 days, and the 8½″ hole to TD 10.4 days, each counted from the start of its own section. The casing points themselves are weighted P50s of the offsets' shoes: the 9⅝″ shoe has a P10–P90 of 2,372–2,415 m, just above the Bahariya at 2,403 m.
The band widens through the 8½″ section. That is where Offset D lost 16 hours to losses in the Alamein Dolomite and 20 hours stuck in the Kharita, and where the slower TCI runs through the dolomite were made. Before the backtest the band at TD is 20.2 to 25.3 days: the P10 is simply Offset A, the fastest well with weight. Leave-one-out puts the typical days error at 21.5 %, so the engine widens the band to 16.3–25.3 days around the 20.8-day P50. The P10 of 16.3 days is not a well anyone drilled. It says the method itself, tested on these wells, is good to about a fifth.
At 48,000 USD a day, spud to TD costs 0.78 million at P10, 1.00 million at P50 and 1.21 million at P90. That is the time-related spread only; casing, cement, bits and logs come on top in the AFE.
Formation by formation
- Weighted median (P50) of the four offsets with drilling curves
Each offset well between its own tops: the hours-weighted median of its 10 m bins; then the analog-weighted P50 across wells.
Show the data
| P50 ROP | |
|---|---|
| Marmarica Limestone | 20.6 |
| Moghra | 34.7 |
| Dabaa | 39.7 |
| Apollonia | 21.5 |
| Khoman | 26.0 |
| Abu Roash | 14.7 |
| Bahariya | 14.1 |
| Kharita | 16.6 |
| Dahab | 11.7 |
| Alamein Dolomite | 5.0 |
| Alam El Bueib | 8.4 |
On-bottom ROP is worked out the same way for every formation: each offset's median between its own tops, then the weighted median across wells. The shales and sands of the upper hole drill at 35–40 m/h; the Abu Roash and Bahariya at about 14 m/h; the Alamein Dolomite at 5.0 m/h, with a P25–P75 of 4.3–5.9, the widest spread relative to its value in the column. The Alam El Bueib target drills at 8.4 m/h.
Two things follow for the programme. The 55 m of Alamein Dolomite takes about 11 hours on bottom, longer than the 350 m of Dabaa shale (about 9 hours), so bit selection there is worth more than anywhere above it: Offset C ringed out a PDC bit drilling through the dolomite and lost 11 hours. And the 8½″ section is ROP-bound below the dolomite, so a better bit run there moves the P50 more than shaving connection time.
The risk register comes from the same wells. A category's probability is the weight of the offsets that reported it at least once, divided by the weight of the offsets reporting NPT at all.
| Risk | Probability | Where | Offsets |
|---|---|---|---|
| Mud losses | 52 % | 12¼″, Apollonia | A, D, F |
| Pack-off or stuck pipe | 42 % | 12¼″, Dabaa | B, D |
| MWD failure | 39 % | 8½″, Alam El Bueib | A, F |
| Bit or BHA failure | 19 % | 8½″, Alamein Dolomite | C |
Expected technical NPT is 15 hours at P50, 11 at P10 and 40 at P90. The tail is Offset D's 58 hours. With one bad well in five, the P90 is the number to carry into the contingency, not the P50.
Testing the forecast on known wells
A forecast method should be scored on wells whose answer is known before anyone relies on it. Hiding each offset in turn and forecasting it from the rest gives that score.
For formation tops it works well here. Over 62 tops in six wells the engine's mean absolute error is 14.7 m against 21.0 m for copying the nearest well; 61 % of tops land within 20 m, which grades the forecast A. The deep exploration well cannot be scored at all: with it hidden, no other well passes the weight cut.
- P50 forecast with the well hidden
- P10 to P90
- Forecast = actual
Engine MAE 3.8 days (nearest-well rule 3.3); 60 % of the wells inside their P10–P90.
Show the data
| Well | Actual (d) | P10 | P50 | P90 |
|---|---|---|---|---|
| Offset E | 12.9 | 20.2 | 20.6 | 24.8 |
| Offset A | 20.2 | 14.6 | 22.2 | 25.6 |
| Offset B | 21.0 | 15.0 | 22.3 | 25.6 |
| Offset F | 24.0 | 20.2 | 21.0 | 25.6 |
| Offset D | 25.6 | 16.1 | 20.7 | 23.5 |
For days to TD it is weaker, and the chart shows why. Four of the five wells sit within 5 days of their forecast. Offset E does not: it is a 2,980 m Bahariya well, and every analog left to forecast it is a 3,600 m Alam El Bueib well. The warp lines up casing points and TD, so the deeper wells' whole time is stretched onto the shallower hole, and the forecast says 20.6 days for a well that took 12.9. Over the five wells the engine's days error is 3.8 days against 3.3 for the nearest-well rule.
The lesson is the one the weights already encode: time comes from wells of the same depth and design. The planned well has four such offsets, so its fan is sound. A well with none deserves a wide band, and the backtest is how you find out.
Using the forecast
- Read the weights before the numbers. If one offset carries most of the weight, the forecast is that well with a band around it.
- Keep the depth and design alike. Days to TD is the weakest output. Exclude wells of another target depth from time even if they are close; they still help with tops and risks above their TD.
- Carry the P90 into contingency. The difference between the P50 and P90 is what the AFE's contingency and the rig schedule's buffer should cover.
The forecast feeds the rest of the planning. The casing points and section times are the skeleton of the drilling programme, the P50 and P90 days set the slot in the rig schedule, and the NPT categories are the same ones the team will track while drilling.
A checklist for the planning team
- List every offset with its target, depth, well type, rig and data: tops, casing, mud, bits, daily reports, drilling curve.
- Check the analog weights; exclude or pin wells deliberately, and write down why.
- Use as-drilled tops and daily-report NPT hours wherever they exist.
- Take time only from wells of similar depth and casing design.
- Run a leave-one-out backtest and compare it with the nearest-well rule before trusting the P50.
- Quote days, NPT and cost as P10, P50 and P90, and size contingency on the P90.
- Put the top three risks, with their section and formation, into the programme and the pre-spud meeting.
- Track the actual curve against the fan from spud.
How DrillIQ handles it
In DrillIQ, Drill Sight builds this forecast from the offset wells in a project: it reads their records, drilling-curve exports and daily reports, scores them on distance, target, well type, target depth and rig with sliders a planner can change, and forecasts tops, landing depth, casing points, mud windows, ROP and drilling parameters by formation, days to TD as a P10–P90 fan, expected NPT, risks and cost. Every number opens the offsets behind it. A leave-one-out validation compares the engine with the nearest-well rule and widens the bands by its error; scenarios can be saved and compared, a one-page well brief printed, and once the well is drilling, Live compare tracks it against the forecast. Everything above was worked out with the same engine.
Book a demo See all capabilities
References
- Said, R. (ed.) The Geology of Egypt. A.A. Balkema, 1990.
- Bourgoyne, A.T., Millheim, K.K., Chenevert, M.E. and Young, F.S. Applied Drilling Engineering. SPE Textbook Series Vol. 2, 1986.
- Hastie, T., Tibshirani, R. and Friedman, J. The Elements of Statistical Learning, 2nd ed. Springer, 2009. Chapter 7, cross-validation.
- IADC Drilling Manual, 12th ed. International Association of Drilling Contractors, 2015.
About this example. The well in this article is a representative scenario set in typical Western Desert, Egypt conditions and worked through with DrillIQ's engines. It is not a client's well, and its figures are not field results.