SSL Movement Index
Methodology
What is counted, what is left out and why, so that anyone can check the index and reproduce it.
What it measures
The volume of road freight booked through Safe & Secure Logistics (SSL) each calendar month, from SSL’s own booking register. It is a volume index only. It contains no freight prices, rates, charges, hire costs, margins or revenue, and no customer, consignor, consignee, vehicle or driver is identified.
| Series | Definition |
|---|---|
| Tonnes moved | Sum of charged weight on every consignment booked in the month, in tonnes. |
| Consignments | Number of distinct consignment notes booked in the month. |
| Goods value moved | Sum of the goods value declared by the shipper on each consignment (₹ Cr). This is the value of the goods, not a freight charge. |
| Packages | Sum of packages booked. |
| Full-truck share | Full-truck (FTL) consignments and tonnes as a share of all consignments and tonnes with a load type of FTL or part-load. |
| Corridor sub-index | Tonnes booked from one state to another (booking state → delivery state), indexed to its own Aug ’25 level. |
Index: each month’s value ÷ its August 2025 value × 100, rounded to one decimal. It is a simple volume index with no seasonal adjustment, smoothing or re-weighting.
Source and cleaning
- Source: SSL booking register, de-duplicated by consignment number (latest entry wins). The register currently runs to 2026-03-31; only complete months are published.
- De-duplication: one row per consignment number; where a consignment was entered more than once, the latest entry is used.
- Excluded: any single consignment with declared goods value above ₹25 Cr, or charged weight above 100 t. Both are data-entry errors (no road consignment weighs more than a truck can carry).
- Start date: the index begins in August 2025. From April to July 2025 full-truck bookings were not fully entered in the register (about 1,000 to 2,000 a month, against 10,000 to 13,000 from August). Starting earlier would show a false five-fold jump.
Sample sizes
| Month | Consignments | Tonnes | Full-truck | Part-load |
|---|---|---|---|---|
| August 2025 | 41,882 | 64,262 | 9,851 | 31,149 |
| September 2025 | 50,237 | 73,760 | 11,245 | 38,087 |
| October 2025 | 38,883 | 64,083 | 10,137 | 28,023 |
| November 2025 | 39,639 | 72,894 | 11,702 | 27,043 |
| December 2025 | 44,195 | 75,884 | 12,792 | 30,460 |
| January 2026 | 60,310 | 77,740 | 13,241 | 46,290 |
| February 2026 | 51,665 | 74,076 | 12,953 | 37,841 |
| March 2026 | 45,281 | 79,021 | 12,907 | 31,619 |
Corridors and the disclosure rule
A corridor-month is published only if it has at least 30 consignments, from at least 5 different billing customers, with no single customer above 50% of them. This stops any corridor from revealing one company’s shipments. 334 corridor-months were withheld by this rule. A corridor enters the index only if it passes in every month; 15 did, and the largest 12 by tonnes are shown. Corridors are state to state, so a busy corridor may be one large flow or many small ones.
Limitations
- This is SSL’s network, not the whole Indian market. A rise can mean the market grew, or that SSL won more of it.
- Charged weight can exceed actual weight (minimum charges and volumetric rules), so tonnes are chargeable tonnes.
- Declared goods value is what shippers state on the documents; it is not audited by SSL.
- States are taken as written in the register, with spelling variants merged (for example Orissa → Odisha).
- Eight months is a short series: no seasonal adjustment is attempted until two full years exist.
Revision policy
The index is rebuilt in full every month from the register, so late entries can revise recent months; earlier months are not frozen. The base month stays August 2025 unless a rebase is announced a month in advance. Every release carries a version tag (current: 2026-03) in the JSON file, so a citation can name the release it used.
Reproduce it
python3 scripts/freight-index-build.py reads the register read-only and writes pooled monthly volumes to data/freightindex/cells.json (no names, no prices). node scripts/freight-index-update.mjs turns that file into the index, the commentary, the CSV and the JSON, deterministically: the same input always gives the same bytes. Tests: node --test scripts/freight-index-update.test.mjs.
Licence and citation
Licensed under Creative Commons Attribution 4.0 (CC BY 4.0). Reuse freely, including commercially, with this citation:
Safe & Secure Logistics (2026). SSL Movement Index, August 2025 to March 2026 (August 2025 = 100). https://safeandsecure.in/movement-index/ · licensed CC BY 4.0.