Shipping Analysis and Optimization
Geographic Cost Analysis
- Confirm origin address, destination list (or use representative cities), and parcel details.
- Call
ListCarrierAccountsto see configured carriers. - Call
CreateShipmentper destination to collect rates. Creating shipments is free; onlyCreateTransactioncosts money. - Write results to
analysis/directory (markdown report + CSV). Columns: Route, Destination, Carrier, Service, Cost, Currency, EstimatedDays, Zone.
Package Optimization
- Confirm the route.
- Define dimension profiles to test (or use user-provided ones).
- Check
ListCarrierParcelTemplatesandListUserParcelTemplatesfor flat-rate and saved templates. Seeshippo/references/rate-shopping-guide.mdfor dimensional weight and flat-rate guidance. - Call
CreateShipmentper profile on the same route. - Compare: cheapest rate, carrier options, fastest option per profile. Note where flat-rate templates beat custom dimensions and where dimensional weight causes price jumps. See
shippo/references/carrier-guide.mdfor carrier-specific weight limits and surcharges.
Carrier Comparison
- Call
CreateShipmentfor the route. - Group the
ratesarray byprovider. - Per carrier: cheapest service, fastest service, number of service levels, price range.
Historical Cost Optimization
- Call
ListShipmentsandListTransactionsto get past activity. - Cross-reference: what the user paid vs. what alternatives were available.
- Identify patterns: carrier concentration, service-level mismatch, consistent overpayment.
- For a sample of shipments with tracking numbers, call
GetTrackto check actual vs. estimated delivery times. - If fewer than 5 successful transactions exist (not just shipments -- shipments are rate quotes, transactions represent actual spend), redirect to forward-looking analysis.
Output Conventions
Write reports to the analysis/ directory. Create it if it does not exist. Include both markdown and CSV. CSV must have a header row. Markdown must include a timestamp and input parameters.
Quick Reference
Cost analysis:
ListCarrierAccounts -> CreateShipment (per destination) -> read rates arrays -> write report
Carrier comparison:
CreateShipment -> group rates by provider -> summarize
Historical review:
ListShipments + ListTransactions -> cross-reference -> GetTrack (sample) -> write report