Chapter 5 — Timeliness of carrier events
Lesson map
Lesson 05 published. Map, example, EX021.
flowchart TD
N0["Learning outcomes"]
N1["5.1 Why timeliness matters"]
N2["Lab — Share of synthetic carrier events arriving wit"]
N3["5.2 Results"]
N4["5.3 Fair comparison"]
N5["5.4 Using the results"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Worked example"]
EX --> Q["Exercise EX021"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["5.1 Why timeliness matters"]
N2["Lab — Share of synthetic carrier events arriving wit"]
N3["5.2 Results"]
N4["5.3 Fair comparison"]
N5["5.4 Using the results"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX021"]
[Learning outcomes]
|
v
[5.1 Why timeliness matters]
|
v
[Lab — Share of synthetic carrier events arriving wit]
|
v
[5.2 Results]
|
v
[5.3 Fair comparison]
|
v
[5.4 Using the results]
|
v
[Worked example] --> [Exercise EX021]
Learning outcomes
You will (1) measure event timeliness by source; (2) compare partners fairly; (3) use results in partner management.
5.1 Why timeliness matters
Customers see tracking updates on Corran's website and expect them to reflect reality. If an event arrives an hour late, the customer may call to ask where a shipment is, or a planner may dispatch a replacement vehicle unnecessarily. Lucía defines timeliness as the delay between when an event happened and when Corran received it, and sets a target that events arrive within fifteen minutes. She measures it separately for each carrier, since each uses different systems. Customers notice delays quickly.
Lab — Share of synthetic carrier events arriving within fifteen minutes
"""Share of synthetic shipment status events arriving within 15 minutes, by carrier (stdlib only)."""
import random
random.seed(9)
mean = {"Carrier A": 6, "Carrier B": 9, "Carrier C": 21}
for c, m in mean.items():
d = [random.expovariate(1/m) for _ in range(3000)]
print(f"{c}: within 15 min {100*sum(x <= 15 for x in d)/len(d):.1f}%")
Run with python3 lab_timeliness.py. Verified output:
Carrier A: within 15 min 91.9%
Carrier B: within 15 min 81.7%
Carrier C: within 15 min 51.0%
5.2 Results
The lab simulates three thousand events per carrier. Carrier A delivers 91.9 percent of events within fifteen minutes, Carrier B 81.7 percent and Carrier C only 51.0 percent. Lucía notes that the difference is large enough to matter for customers: shipments handled by Carrier C will show stale status about half the time. She checks that the synthetic event mix is similar across carriers, so the comparison is not distorted by different shipment types or routes. She presents the shares in a table with the number of events behind each figure.
5.3 Fair comparison
Before presenting results, Lucía considers fairness. Carrier C operates more rural routes in reality, where signal is weaker, so some delay may be outside its control. She plans to compare carriers on similar routes in a follow-up and to discuss results with each carrier before drawing conclusions. Dr. Achebe notes that partner data governance relies on cooperation, and presenting results as shared problems tends to work better than presenting them as accusations. She records this plan in her log and shares it with Dr. Achebe for comment.
5.4 Using the results
Lucía shares results with each carrier. Carrier C explains that its system sends events in batches every half hour to save mobile data costs. Corran offers to cover the cost difference for real-time sending on its shipments, judging that fewer customer calls will repay it. Carrier C agrees. Lucía adds timeliness targets to the carrier agreements due for renewal and schedules monthly reporting of each carrier's results. The next month's results show Carrier C's events arriving much faster, and customer calls about its shipments begin to fall as a result.
Worked example
Lucía measures event delay by carrier, finds 91.9, 81.7 and 51.0 percent within fifteen minutes, considers route differences, learns Carrier C batches events every half hour and agrees real-time sending with targets.
Synthetic case. Events are synthetic; outputs come from lab_timeliness.py.
Errors and limits
Comparing partners without considering conditions can be unfair.
Exercises
- EX021 — Timeliness definition. How did Lucía define timeliness? Rubric: 3 = delay between event and receipt by Corran;; 2 = partly correct;; 1 = vague;; 0 = none.
- EX022 — Carrier C share. What share of Carrier C events arrived within fifteen minutes? Rubric: 3 = 51.0%;; 2 = partly correct;; 1 = wrong;; 0 = none.
- EX023 — Fairness factor. What might partly explain Carrier C's delays? Rubric: 3 = more rural routes with weaker signal;; 2 = partly correct;; 1 = vague;; 0 = none.
- EX024 — Real cause. What did Carrier C reveal as the cause? Rubric: 3 = batching events every half hour;; 2 = partly correct;; 1 = vague;; 0 = none.
- EX025 — Agreement change. What was added to renewing agreements? Rubric: 3 = timeliness targets;; 2 = partly correct;; 1 = vague;; 0 = none.
Continue studying — lesson 05 (chapter 05 of 12)
← Chapter 04 · Course chapter index · Chapter 06 →
Continue to the next authored lesson.