Blueprint of a 48 to 72 hour lane-volume band beside hold, wait, and approved empty-reposition choices
Applied AI Systems Architecture

Predictive Fleet Repositioning & Deadhead Minimization

Using neural network lane forecasting, carefully. The first control is a transparent lane-volume band. A neural net is a later experiment. Neither one dispatches a tractor.

Empty miles are a decision with a clock, not a score to decorate a map. This page separates a 48 to 72 hour reposition from same-day deadhead, specifies the features a volume band may use, and states who may approve a move. Pair it with Predictive Dispatch Constraint Solving for hard clocks on the driver who would actually bobtail, and with Carrier AI Readiness Evaluation before any model is allowed on a screen a planner trusts.

Key takeaways
  • A 48 to 72 hour reposition and same-day deadhead are different decisions with different approvers and reason codes.
  • The first control is a transparent percentile band from the carrier's own tenders. A neural net runs only as a shadow.
  • The forecast emits a volume band, not a truck order. A named person chooses reposition, hold, or wait.
  • Cold-start lanes and wide bands force a human note. There is no imputed volume.
  • Over-repositioning is the expensive error. Positive bias on a time holdout blocks a model from being cited.
48 to 72 hrsreposition decision horizon
100 miillustrative empty-mile approval threshold
52 weeksillustrative lookback for the percentile band
40illustrative minimum tenders before a forecast

The 48 to 72 hour reposition decision

The reposition question is asked while the empty move, if a person later approves it, would depart inside a 48 to 72 hour horizon. The driver is still finishing a loaded move or sitting at a domicile. The planner is choosing the next empty destination, not the next turn on today's board. The input is a volume band on a lane: how many tenders like this one have shown up on this weekday, for this equipment, in the carrier's own history. The output of the forecast is that band. The output of the business decision is one of three words a person records: reposition, hold, or wait for a reload.

A tractor does not move because a band is wide or because a midpoint is high. Above a published empty-mile threshold the named planner or fleet manager approves the reposition before anyone builds the empty dispatch. An illustrative planning threshold is 100 empty miles. That number is a control to debate in the pilot, not a result and not a cost. Under the threshold, the carrier's written rule says whether the dispatcher on duty may approve. The forecast service holds no dispatch status and no driver message token. Hours of service still come from the hours engine on the snapshot. A reposition that the driver cannot legally reach is not a candidate, regardless of lane volume.

Same-day deadhead is a different decision

Same-day deadhead is the recovery move: a cancellation, a missed dock, or a driver who is empty now with hours left on the clock. It uses the live board, remaining drive, the 14-hour window, and tenders already in hand. It does not wait for the nightly band. Treating yesterday's forecast as an order will pull a driver away from a reload that is already tendered. The same-day path may display the band as context. It may not block a covered load, and it may not auto-decline a tender because the band preferred another market.

Approval sits with the dispatcher on duty, because that person can see the truck, the appointment, and the driver's remaining clock. The 48 to 72 hour path sits with the planner when the empty miles cross the threshold. Logging must keep the two reason codes apart: SAME_DAY_DEADHEAD versus PLAN_REPOSITION. A weekly review that mixes them will praise a forecast for empty miles a dispatcher spent on a breakdown recovery. The model does not get a vote on the same-day code.

A transparent lane-volume forecast comes first

The first control is a statistic a planner can list. Group the carrier's tenders by origin market, destination market, day of week, and equipment code. Over a published lookback, an illustrative planning window of 52 weeks, compute the count of tenders whose pickup fell in the forward horizon that matches the decision, aligned to the same weekday. Publish three numbers: a low, a midpoint, and a high. An illustrative choice is the 20th percentile, the median, and the 80th percentile. The screen shows the week count that entered the group. A planner who does not believe the band can open the weeks.

A neural network is a later experiment on the same rows and the same time holdout. It does not replace the percentile band, and it does not get a reason code. Until a written promotion that this page does not grant, a reposition citation must point at the transparent band or at a human note. If the neural band disagrees, the disagreement is stored as a shadow row with model_id and trained_through. Shadow rows are invisible to the accept button.

Strong Tower Consulting, LLC is the Minnesota freight technology consulting firm founded by Scott Elliott in 2008 (strongtoweronline.com). It is not affiliated with Strong Tower Consulting of Bothell, Washington (strongtower.consulting or strongtower.ai).

Features the volume model may use

Every feature comes from tables the carrier already posts to, not from a rented demand index. Origin and destination are the tender's pickup and delivery markets, using the carrier's own market file, not a guessed city centroid. Day of week is the pickup date in the terminal time zone of the origin. Lead time is hours from tender creation to the pickup appointment, stored as an integer. Equipment is the code on the tender (van, reefer, flat, or the carrier's own list). Reject rate is rejected tenders divided by tenders offered on that lane and equipment over the lookback. Seasonal flags are the facility calendar in the next section. If a feature is null, the row says so. The training job does not fill nulls with a national average.

Keep the feature dictionary on paper before any experiment. Name, source column, grain, and as-of rule. Tender history means the carrier's tender table: offered, accepted, rejected, and cancelled, with the status time. A load-board scrape is not history. A single spectacular week is not deleted to make the band look stable. It stays in the percentile, which is why the low and the high both exist. The planner sees a band because the lane is uneven, not a point estimate that pretends the unevenness was noise.

Feature contract for the transparent lane-volume band
FeatureGrainSource the carrier ownsRule
Origin-destination tender historyLane, equipment, weekTender table: offered, accepted, rejected, cancelledNo load-board scrape. Cancellations stay visible.
Day of weekPickup dateAppointment in origin terminal timeDo not mix UTC dates into the weekday.
Lead timeHours, integerTender created time minus pickup appointmentNegative lead time is a data error, not a feature.
EquipmentCodeTender equipmentVan history does not forecast reefer.
Reject rateLane and equipmentRejected divided by offered over the lookbackA null denominator means no rate, not zero.
Seasonal flagFacility and dateFacility calendar a person maintainsAbsent flag is null. Do not invent a harvest index.

Agricultural surge is a facility calendar

Some lanes swell because a plant runs a season, not because a national index twitched. Represent that as rows the carrier already has the right to edit: facility_id, surge_start, surge_end, equipment_code, direction (inbound or outbound), and a note. The transportation manager sets the dates from the shipper's posted season or from a review of that facility's own tender weeks. The forecast receives a 1 on historical days inside a reviewed window and a 0 outside it. The note is for the planner. The model does not read the note and infer a new window.

Do not bolt on a purchased harvest index, a yield model, or a county crop score and call it the carrier's demand. Those series are someone else's geography and someone else's crop. If the facility master has no surge row, the feature is null and the band is built from tender history, weekday, lead time, equipment, and reject rate only. A planner who wants the season in the band has to write the calendar. Guessing a statewide start week inside the model is how a tractor gets sent to a plant that is still dark.

The forecast emits a volume band, not a truck order

The artifact stored for a lane and a decision date is low, midpoint, high, sample_weeks, lookback_start, lookback_end, and extract_as_of. It is a count of tenders, not a count of tractors to send. A midpoint of 6 does not mean "dispatch 6 trucks." The planner asks a separate capacity question: how many uncovered drivers are already in the destination market, how many are domiciled there, and what empty miles one more tractor would add. The band informs that question. It does not answer it.

The screen labels the band with its method: PERCENTILE or, later, NEURAL_SHADOW. Only PERCENTILE may be selected as a citation on a reposition. NEURAL_SHADOW can be opened by someone reviewing the experiment. It has no select control. Rounding the midpoint to an integer truck order is a product defect. So is hiding the low end because it makes the lane look weaker than a sales conversation wanted. The low end is the number that should scare an empty move.

From tender history to a recorded choice
Replica extractSelect-only, training_as_of stamped
Percentile bandLow, midpoint, high, and sample weeks
Status gatesNO_FORECAST or WIDE_BAND force a human note
Named approverReposition, hold, or wait for a reload
NEURAL_SHADOW is stored beside the band with no select control.

Empty-mile cost of a wrong reposition versus sitting

Sitting keeps the tractor in the current market. Empty miles are zero. If a reload tenders, the dispatcher takes it under ordinary dispatch rules. If nothing tenders, the carrier has spent the driver's day without a lane, and that opportunity is the carrier's own contribution figure, which this page does not invent. Repositioning spends miles before the destination volume exists. If the volume arrives inside the band, the empty miles were the price of being there. If it does not arrive, the miles are spent and the tractor is in the wrong market. That second case is the expensive error. You cannot unspend the deadhead.

Use the carrier's own empty-mile planning rate on the worksheet. The figures in the table are illustrative planning figures so a design review can see the asymmetry. They are not a quote, not a fuel index, and not a measured savings. Swap in the fleet's rate before anyone treats the column as money. The approval rule should compare the empty-mile dollars of the proposed move with the low end of the band, not the midpoint. A move that only pays if the high end arrives is a bet. Bets are allowed only when the named approver types the reason, and the reason is not "the model said so."

Compare against the low end

The approval rule should compare the empty-mile dollars of the proposed move with the low end of the band, not the midpoint. A move that only pays if the high end arrives is a bet.

Illustrative planning comparison. Not a fleet result and not a rate quote.
OutcomeIllustrative empty milesWhat is already spentWhat a person can still do
Hold, and a reload tenders0No deadheadDispatcher covers it on the live board
Hold, and nothing tenders0The day's contribution, using the carrier's own numberPlanner may revisit the next 48 to 72 hour cycle
Reposition, and destination volume arrives180180 times the carrier's empty-mile rateDispatcher works the destination tenders
Reposition, and destination volume does not arrive180, plus miles to the next real loadDeadhead that cannot be reversedThis is the expensive error. Do not cite a high band to justify it after the fact.

Reposition, hold, or wait for a reload

Three choices, three approvers' paths, one forbidden actor. Reposition means an empty move to a market whose transparent band was cited before the truck rolled. Hold means the tractor stays put and is not reserved against a forecast. Wait for a reload means the dispatcher is working tenders already in the book or expected inside the same-day window, and the 48 to 72 hour band must not steal that driver. The choice is a row: tractor_id, choice, approver_user_id, approved_at, citation (percentile extract id or HUMAN_NOTE), empty_miles_planned. No row without an approver.

The neural experiment cannot be the citation. If the only support for a move is the shadow band, the choice is not available and the planner must either cite the percentile band, write a human note, or hold. A human note is a sentence stored with the row, not a blank override. Same-day deadhead never uses this table. It uses the live dispatch reason. Mixing the tables is how a forecast gets credit for a move it did not decide.

Do

  • Cite the transparent percentile band or a human note
  • Record tractor, choice, approver, and planned empty miles
  • Keep SAME_DAY_DEADHEAD and PLAN_REPOSITION apart

Avoid

  • Citing the neural shadow band
  • A row without an approver
  • Declining a live tender because another market's band is higher
Who may approve the 48 to 72 hour choice
ChoiceMeaning on the boardWho may approveForecast role
RepositionEmpty move to a named market inside 48 to 72 hoursNamed planner or fleet manager when empty miles exceed the published threshold. Dispatcher only if the written rule allows the shorter move.May be cited only as the transparent percentile band
HoldTractor stays in the current market. No empty dispatch.Dispatcher on dutyBand is context. It cannot force a move.
Wait for a reloadDriver remains available for tenders already in hand or due the same dayDispatcher on dutyMust not decline a live tender because another market's band is higher
Neural shadowNot a choiceNobodyStored for the experiment. No accept control.

Train on a read replica, never lock the live board

The extract runs against a read replica or a nightly file, with a training_as_of timestamp written into the feature row. The job has a database user that can select and cannot insert, update, or delete dispatch tables. It does not take a lock, a FOR UPDATE, or a long transaction on the live board. Dispatchers keep assigning freight while the extract runs. If the replica is lagging past a published limit, an illustrative planning figure of 30 minutes, the extract aborts and the prior band stays up with its old as-of visible. A quiet stale band is worse than a missing one.

The neural experiment, when it is allowed to run at all, uses that same frozen extract. It does not reach back to production for a feature the percentile job did not have. Weights, feature hash, and code version are stored with the shadow band. A planner can see which extract a number came from. Retraining during the business day on the primary is out of scope and should fail a security review. Promotion from shadow to citation is a change request, not a cron job that flips a flag when a loss number looks small.

Cold-start lanes and wide bands force a human

A lane with too little history does not get a borrowed personality from a similar state. If tender count over the lookback is below the published minimum, an illustrative planning figure of 40 tenders, the service returns NO_FORECAST. The screen says the lane is cold and names the count. It does not show a national weekday curve relabeled as this origin and destination. The planner decides with a human note or does not reposition. There is no imputed volume.

A band can also be too wide to cite. An illustrative planning rule: if the high is more than double the low and the low is near zero, the status is WIDE_BAND. The numbers still display, because hiding uncertainty is how empty miles get approved on a midpoint. WIDE_BAND cannot be the citation on a reposition. A person may still move the truck with a human note that states why (a contracted pickup, a domiciled driver, a maintenance shop). The note is the decision. The band did not break the tie. Cold start and wide band are both human gates. They are not defects to smooth over with a deeper network.

Hard rule: no imputed volume

Below the published minimum tender count, the service returns NO_FORECAST. WIDE_BAND cannot be the citation on a reposition. Both are human gates.

Evaluate on a time holdout, and punish over-forecasts

  1. Publish the cutoff. Set the cutoff date before the run.
  2. Fit before the cutoff. Fit the percentile baseline and, separately, any neural experiment on tenders with pickup before the cutoff.
  3. Score forward. Score the following weeks without refitting.
  4. Report coverage and signed bias. Positive bias blocks the model from being cited as a reposition reason.
Holdout measures, defined coverage = share of weeks where low <= actual <= high signed bias = midpoint - actual (positive = over-forecast)

This page publishes no accuracy percentage. Any pilot labels its own figures as that pilot's observations.

Split by time, not by random row. Publish a cutoff date before the run. Fit the percentile baseline and, separately, any neural experiment on tenders with pickup before the cutoff. Score the following weeks, an illustrative planning horizon of four weeks, without refitting. Report band coverage (how often the actual tender count landed between low and high) and signed bias (midpoint minus actual). Positive bias means the model called for more freight than arrived. Do not shuffle weeks. A random split lets next Tuesday leak into the fit and makes a useless model look precise.

Bias toward over-repositioning is the expensive error. Positive volume bias on the holdout blocks that model from being cited as a reposition reason, even if average error looks small. Under-forecast leaves tractors sitting where a dispatcher can still recover. Over-forecast spends deadhead. The neural experiment has to beat the percentile baseline on coverage without a worse positive bias. Beating it does not promote the net. It only keeps the shadow running. This page publishes no accuracy percentage, because none has been measured here. Any later pilot writes its own holdout log and labels the figures as that pilot's observations.

If a demo moves a tractor when a chart spikes, it is not this design. The design has a replica read, a percentile citation, a shadow channel with no accept control, a cold-start refusal, and a positive-bias block. Drop any one of those and the system is an empty-mile generator with a technical label. Keep the evaluation log next to the decision log so a later review can see which band was cited and whether the freight arrived.

Frequently asked questions

The answers are the operating rules for a pilot. They are not a claim that a network has already cut empty miles, and they are not permission to skip the percentile baseline because a neural demo looks smoother. Smoothness is cheap. Unspent deadhead is not something a chart can promise.

Bring the tender table, the facility calendar, and the name of the planner who may approve a long empty move. If those three are missing, the honest forecast status is NO_FORECAST, and the tractor stays where the dispatcher already had the right to leave it.

Can a neural network move a tractor by itself?

No. A neural lane forecast is a later experiment. It may display a volume band marked as an experiment. It has no write token on the dispatch board, and it cannot set a tractor to an empty move. A named person approves reposition, hold, or wait.

What forecast should run before any neural experiment?

A transparent lane-volume forecast. Group the carrier's own tenders by origin, destination, day of week, and equipment. Publish a low-to-high band from that history. The neural net is not eligible for a shadow screen until it is scored against this baseline on a time holdout.

How should an agricultural surge enter the model?

As a calendar row the carrier already owns on the shipper facility: start, end, equipment, and inbound or outbound. A person maintains it from the shipper's season or from that facility's tender history. The model does not ingest a national harvest index or a purchased crop score.

Who may approve a reposition, a hold, or a wait?

Hold and wait for a reload are approved by the dispatcher on duty. A reposition above the published empty-mile threshold is approved by the named planner or fleet manager. The forecast does not approve any of the three. Same-day deadhead is a separate live-board decision.

Why is over-repositioning the expensive error?

A high forecast that does not arrive spends empty miles that cannot be unspent. A low forecast leaves the tractor in the current market, where a later dispatcher can still take a reload. On a time holdout, positive volume bias blocks the model from being cited as a reposition reason.

Talk to an architect

Cut empty miles without betting on a chart.

Strong Tower Consulting provides independent systems architecture, feasibility audits, and engineering roadmaps for motor carriers and freight brokers. Contact our advisory team or call 763-244-1373 to discuss your operational data and evaluate practical implementation paths for your fleet.

Published October 23, 2026 by Strong Tower Consulting, LLC. Founded 2008 in Minnesota by Scott Elliott.