Transport Cost Matrix

Christopher Brannon, IT Coordinator, Couer D’Alene Library (ID); also works with the CIN network, that his library is a part of (27 libraries)

Transport Cost Matrix has really helped his consortia. (600,00 items; 135,000 patrons); Couer D’Alene Library (88,000 items; 34,000 patrons; 3600 holds in July; 2500 items that his library borrowed from other libraries; loaned 2600 items to other libraries in the consortia). A lot of materials moving around.

Two other libraries in the room using the transport cost matrix.

How Koha fills hold requests:

  • first, check check for items locally
  • sys pref, StaticHoldsQueueWeight —
    • if left at default (0), will go thru branches alphabetically (will not randomize);
    • If branches are specified, it will only use branches specified; branches listed can be checked in the order listed or randomized
  • PROS – easy to use
  • CONS – many factors can delay transport; may not be the most efficient in cost and speed, may overwhelm some libraries
  • Other option, use Transport Cost Matrix – must set the UseTransportCostMatrix sys pref

Matrix setup

  • Sources (From), left-hand side
  • Destinations (To), horizontal across
  • Rank the Sources (From down the column)

At first, did ranking based on mileage alone. Worked at first.

Factors to consider for cost

  • Miles/distance
  • The same post office/courier
    • going thru more handlers could cause delays
    • going thru more couriers could increase costs
  • Frequency of routes
    • some libraries may be open only a few days a week, or have less pickup/delivery times

To create his rankings, recreated the matrix in Excel. First sheet is mileage, from library A to B; also includes Zones and Frequencies. Outlying libraries depend on secondary courier (Zones 1 (main courier), 2, 3, 4, 5, 6); a few libraries act as hubs, too, for some of the outlying zones. Frequency also a factor; only 4 libraries are only 5 times a week; several are 1 time a week, a few are three times a week.

  1. First sheet: Library data, mileage, zones, and frequency
  2. Zone Calculator – Formula details
    • If the cell is blank, keep it blank; if libraries are in the same zone, don’t change the value; if either zone is zone 1 (but not both), add 10000 to the value
    • Otherwise, add 20000 to the value (neither are in the primary courier, and not in the same zone)
  3. Frequency Calculator
    • If the cell is blank, keep it blank
    • The libraries with the highest frequency (5) don’t change; all others, 4 adds 1000; 3 adds 2000; 2 adds 3000; and 1 adds 4000; (the less frequent the pickup, the more it is dinged)
  4. Rank the values for the simpler input — Excel feature
    • If the cell is blank, keep it blank
    • Rank that cell against the rest of the cells in that column in single steps (simple numbers)
  5. Final rankings to put into Koha:

Slides and Calculator will be on the Wiki.

Smaller libraries aren’t getting hammered as much under this model. It’s been a more efficient method. Has worked well for his consortia. Important piece of puzzle.

Randomization doesn’t take into account closed libraries. Just mileage alone, is a good first step. Library took it a step further.

Question about StaticHoldsQueueWeight sys pref and how that’s set up: branchcodes entered and choose either in random order or specific order, for holds to be pulled.

Question, If you use the transport cost matrix, how can exclude libraries from being a source? Disabling doesn’t seem to work. For school library, added default policy of no holds allowed for the summer.

Question, do you have stats on hold this change affected holds? Not at this time. Based decision on how libraries were getting hammered in holds queues.