Two columns in your export cover delivery: Deliverable Quantity and % Deli. Qty to Traded Qty. They are among the more genuinely useful fields in Indian market data, and also among the most over-interpreted. This guide covers what they measure, why they are sometimes blank, and the situations where the number tells you nothing at all.
What delivery actually measures
When you buy a share and sell it the same day, nothing settles — the two trades net off and no stock moves between demat accounts. When you buy and hold past the close, the share has to be delivered to you.
Deliverable Quantity is the number of shares that settled that way on a given day. % Deli. Qty to Traded Qty expresses it against total volume:
Delivery % = Deliverable Quantity ÷ No. of Shares × 100
So a scrip that traded 100,000 shares with 30,000 delivered shows 30%. The remaining 70% was intraday activity that never left the exchange’s netting.
The figure comes from BSE’s own delivery-position file, not from anything this tool calculates. Where BSE publishes a percentage, that is what you get.
Why the columns are often blank
This is the most common question about BSE exports, and it is expected behaviour rather than a bug.
Price data and delivery data are published by BSE in separate files, on separate schedules. Delivery positions are compiled after settlement processing completes, so they land later than the day’s price record. The practical consequences:
- The most recent rows commonly have blank delivery columns. The prices are final; the delivery file for those dates was not available when the request ran.
- Scattered older gaps happen too.BSE’s delivery archive is not uniformly complete, and file naming and formats have changed over the years.
- Blank is not zero.A blank means “not published”. Zero would mean “nothing was delivered”, which is a genuinely different and much rarer claim. Do not fill blanks with zeros — it will corrupt every average you compute.
If you need a complete delivery series, request a range ending a few sessions before today, and expect to check for gaps regardless.
Reading the number
The conventional interpretation runs like this, and it is a reasonable starting point:
- High delivery (roughly 60%+ on a liquid scrip) — a larger share of participants took actual ownership. Read as conviction-weighted activity.
- Low delivery (under about 25%) — dominated by intraday positioning. Read as speculative churn.
- A rise in delivery alongside a rise in price — the move was accompanied by accumulation rather than pure day-trading. Generally treated as the more durable combination.
- Price up, delivery falling — the move is being carried by intraday flow. Often treated as less reliable.
Absolute thresholds are not comparable across scrips, though. A liquid large-cap with heavy day-trading might habitually run at 25% delivery; a thinly traded small-cap might habitually run at 80% simply because nobody day-trades it. What matters is a scrip’s deviation from its own recent norm — compare each day against, say, a 30-day median of the same column, not against a fixed number.
Where the number misleads
Trade-to-trade groups are structurally near 100%
Scrips in BSE’s trade-to-trade groups — T, XT, MT, Z — cannot be squared off intraday at all. Every trade must be delivered. Their delivery percentage is therefore pinned near 100% by the rules of the segment and says nothing whatsoever about conviction.
This matters more on BSE than people expect: around one scrip in five in the listed universe sits in one of those groups. If you screen for “high delivery percentage” across all of BSE, your results will be dominated by restricted paper where the metric is meaningless. See the group reference for the full picture.
Delivery is not the same as long-term holding
Taking delivery on Monday and selling on Wednesday still counts as delivery. The metric distinguishes intraday from not-intraday; it does not distinguish a two-day trade from a ten-year investment.
Thin scrips produce noise, not signal
On a day with eleven trades, delivery percentage is determined by whether one or two participants happened to hold. It will swing between 0% and 100% for reasons that have nothing to do with sentiment. Cross-reference No. of Trades before reading anything into a delivery figure, and set a minimum threshold below which you ignore the column entirely.
Both sides are counted once
Delivery quantity counts shares delivered, not participants. One large institution taking delivery of a block produces the same figure as many small buyers doing so collectively. High delivery does not imply broad participation — for that, look at trade count and average trade size.
It is a lagging, once-a-day figure
Delivery is published after settlement processing, one number per scrip per day. It cannot tell you when during the session the accumulation happened, and it arrives too late to act on intraday. It is a research input, not a trading signal.
A sensible way to use it
Compute delivery quantity in rupee terms rather than reading the percentage alone. Multiplying Deliverable Quantity by WAP gives roughly the value of stock that actually changed hands for keeps:
= [@[Deliverable Quantity]] * [@WAP]
That figure is comparable across time for a single scrip in a way the raw percentage is not, because it responds to both participation and price. A percentage that holds steady while delivered value doubles is telling you something the percentage alone conceals.
Then guard the whole thing: exclude rows where the delivery columns are blank, exclude rows below a minimum trade count, and check the scrip’s group before drawing conclusions. The Excel guide has formulas that handle blanks correctly.
Keep reading
- Every column in your BSE export, explained — What Open, High, Low, Close, WAP, No. of Shares, No. of Trades, Total Turnover, Deliverable Quantity, % Deli. Qty and the two Spread columns actually mean — and where people misread them.
- BSE scrip codes: why the number matters more than the ticker — BSE identifies every security by a six-digit scrip code, not by symbol. What the code is, why two companies can share a ticker, and how to find the right one.
- BSE groups: A, B, T, Z, X, M and what they change — BSE sorts listed scrips into groups that govern how they trade — including group T, where intraday trading is banned outright. What each letter means for the price history you just downloaded.
Or go straight to the download console and pull a file.