240 likes | 412 Views
A Clockwork Hippo. How Holds Work in Evergreen Mike Rylander, Equinox Software Grace Dunbar, Equinox Software. Things to know. Evergreen doesn’t place patron initiated holds on specific monograph copies; it places holds at the title level and looks for the closest copies to fill them
E N D
A Clockwork Hippo How Holds Work in Evergreen Mike Rylander, Equinox Software Grace Dunbar, Equinox Software
Things to know • Evergreen doesn’t place patron initiated holds on specific monograph copies; it places holds at the title level and looks for the closest copies to fill them The Process • EG always looks for a copy by… • Creating a potentials list and targeting one specific copy (if one is available) • The copy will appear on the hold pull list of the circulating or home library • The library must run their pull list and physically go pull and scan the item to capture the hold • Note that at the point of scanning the item, the item may end up being captured for a different patron – that’s okay, it means that the other hold got filled opportunistically or canceled. • EG sometimes looks for a copy by… • Looking for an opportunistic capture at the pickup library • Opportunistic capture can be configured using the “soft stalling interval”, otherwise it is the “Hungry Hungry Hippos™ method” of hold capture – anytime an item is scanned anywhere that could fill any hold anywhere, it will be captured and transited. • The larger the soft stalling interval the longer opportunistic capture keeps looking exclusively at the pickup library. This increases the chance of “serendipitous” return and capture of an item for a hold and reduces transiting. • Note that stalling only affects opportunistic capture, it doesn’t affect targeting.
Definitions • Targeting: Identification of specific potential copies to fulfill holds • Capture: Physically scanning the barcode of an item and triggering a specific hold for a patron. Until the point of capture, the holds pull list is theoretical. • Opportunistic: Serendipitous hold capture – if any item anywhere is scanned in, it may be captured for a hold placed anywhere. *** • FIFO: Forces opportunistic capture to adhere to the exact hold placement order (as much as possible) • Weighting: Artificially influences the probability of items at specific libraries being targeted for holds • Stalling: How long to wait before allowing items not at the pickup library to be opportunistically captured to fill a hold • Boundaries: Soft boundaries are where you start looking for a place to stop. Hard boundaries are where you stop. (period) *** Configurable by introducing soft stalling interval – see Stalling
Standard Hold Configuration Targeting • Holds Targeting with opportunistic capture at the pickup library of a hold. • The System creates a potentials list by: • Excluding items that are age protected at other libraries • Excluding items whose statuses aren’t holdable • By location • By copy • By status • Limiting items by selection depth (if hard boundaries are being used) • Excluding items at libraries that are closed (checking closed dates) • Excluding items that are currently targeted for another hold • From the potentials list, the System identifies (targets) one specific copy, closest to the pickup library, that is eligible for a hold and places it on the hold pull list for capture. • The hold pull list is run at the library and the copy is pulled and captured for a hold OR the configurable time expires without capture and the system regenerates the potentials list and chooses another eligible copy and places it on the hold pull list for capture (re-targeting). Opportunistic • If an eligible copy is returned to the pickup library before the targeted copy is captured, that eligible copy will be captured for the hold first. (with stalling) • If an eligible copy is returned anywhere before the targeted copy is captured, that eligible copy will be captured for the hold first. (without stalling or after the stalling interval expires)
Hold Boundaries • Hard • Patrons cannot place holds across • Staff cannot place holds across • They are inflexible, impermeable… hard. • The system will never look beyond a hard boundary, even if there are no copies in the soft boundary area. • Soft • We begin looking for a potential copy at the pickup library – ranged up to the soft boundary • If no copy is found, it will walk up the org tree (and look down) until it hits a hard boundary • Once a potential copy is identified it will never look further – that becomes the hard boundary for that hold • Holds obey standard targeting/opportunistic behaviors otherwise
FIFO • First In First Out • FIFO attempts to ensure that holds are filled in exact order placed • FIFO is excellent for smaller geographical areas • FIFO is also good for geographically dispersed consortia for which transit costs are not an issue • Don’t set FIFO at each branch; set FIFO at the top level of intended use. • If using Hard Boundaries, ensure they are set at the same level as FIFO. • (e.g. If Systems A and B don’t resource share, set FIFO at System A and System B. If they *do* resource share, set FIFO at the Consortia level.) • It is not recommended to use stalling in conjunction with FIFO as stalling restricts transiting. Using stalling and FIFO together will make it harder for Evergreen to fill holds and increase patron wait times. • FIFO cannot ever be “exact” order placed. When missing items are found and new items are added it changes the potentials list. The next group of holds to be targeted or retargeted will have the new items and therefore items not at the top of the queue might get an available hold sooner. Remember the potentials list (and therefore FIFO) is also affected by library closed dates.
Are you calling me fat? Weighting • Artificially influences the probability of items at specific libraries being targeted for holds • Really only useful in combination with stalling • Because stalling only affects opportunistic capture and weighting affects targeting – the stalling gives you time to have that artificial weight on the pull list which is part of the targeting process. • Configurable in the library settings editor
Our Scenario Basics Patrons Items Z Copy 1, Branch 1, available Copy 2, Branch 4, ckd out, (age prot.) Copy 3, Branch 2, ckd out X Copy 1, Branch 3, ckd out Copy 2, Branch 3, available Copy 3, Branch 6, ckd out Copy 4, Branch 2, ckd out • Mrs. White • Home Library is Branch 1 • Miss Scarlett • Home Library is Branch 2 • Col. Mustard • Home Library is Branch 3 • Professor Plum • Home Library is Branch 7
Standard Targeting, Item Z • Miss Scarlett placed her hold on Monday • Professor Plum placed his hold on Tuesday • Evergreen targets book Z, copy 1 at Branch 1 for a hold and it will print on their holds pull list • When pulled and scanned it will be captured for Miss Scarlett and put in transit to Branch 2 for her to pick up. • Professor Plum has to wait for copy 3 (or copy 1) to be returned in order to fill his hold – or for Copy 2’s age-protection to expire.
I placed my hold first, I will get Copy1 once the library there pulls and captures it. • The Professor will get Copy3 or Copy1 – whichever is returned first – or Copy2 if its age protection expires before the other copies are returned. I get Copy1. I have to wait. Copy1 available Copy3 checked out Copy2 (age protect.)
FIFO, Item X • Mrs. White placed her hold 1st • Professor Plum placed his hold 2nd • Miss Scarlett placed her hold 3rd • Col. Mustard placed his hold 4th • Copy2 is available at Branch 3 • Copy1 gets returned next and goes to Plum • Copy3 gets returned next and goes to Scarlett • Copy4 gets returned last and goes to Mustard
I placed my hold first, I will get Copy2, the Professor gets the next available copy, Scarlett gets the next one and Mustard is next. Wow, these books sure travel! I will get Copy3 I get Copy2! I will get Copy4 I will get Copy1 Copy4 (gets returned last) Copy2 available Copy1 (gets returned 1st) Copy3 (gets returned 2nd)
FIFO… nutshelled I’ve been targeted for a hold. I shall fulfill my destiny for the person first in line! I’m age-protected. I’m not holdable outside my home library yet. I’m opportunistic – I’ll fill a hold anywhere regardless of distance! I’ll fill the next hold in line, I love to travel!
…Opportunistic with Stalling Enabled • Miss Scarlett placed her hold on Monday • Professor Plum placed his hold on Tuesday • Evergreen targets Z, copy 1 at Branch 1 for a hold and it will print on their holds pull list • Before Branch 1 runs their pull list, Copy 3 is returned to Branch 2. It is opportunistically captured for Miss Scarlett because that is her pickup library. When Branch 1 runs their pull list, Copy 1 will now be captured for Professor Plum • The copy doesn’t have to belong to the branch it is returned to in order to be picked up for opportunistic hold. The library just has to be the *pick up* library of an eligible hold.
I get Copy3 because it was returned to my pickup library (which also happens to be it’s home library) before Branch 1 captured items off their pull list. • Now the Professor gets Copy1 when the library scans their pulled items. • But if the other patron had returned Copy3 to Branch 7 it would have been opportunistically captured for the Professor regardless if I had gotten Copy1 yet or not. I get Copy3, how opportune! I get Copy1, hooray! Copy1 available Copy3 checked out Copy2 (age protect.)
Standard Configuration… nutshelled I’m age-protected. I’m not holdable outside my home library yet. I’ve been targeted for a hold. I shall fulfill my destiny! I’ll fill the closest hold available (by org unit, that is) I’m opportunistic and stalled – I’ll fill a hold at the pickup library!
Hold Boundaries, Item X • Mrs. White placed her hold on Monday • Col. Mustard placed his hold on Tuesday • Professor Plum placed his hold on Wednesday • Mrs. White would be first in queue to receive book X, Copy 4 as soon as it is returned • If copy 4 didn’t exist, she wouldn’t be able to place a hold • Col. Mustard’s hold would be targeted to Copy 2 (or could get Copy 1 through op capture) • Professor Plum is only eligible for Copy 3
I will get Copy4, in fact, it’s the only copy I *can* get because the system won’t look at branches in System B due to the hard boundary. If there were no copies in my System, my hold request would be rejected. • The Colonel will have his hold targeted to Copy2 but he could get Copy1 if it was returned before Branch3 pulled their holds. • The Professor will get Copy3 and since there is a potential item in the soft boundary around Branches 5, 6 & 7, the System will not walk any further up the org tree to look for other copies. If Copy3 didn’t exist, the System would go up to System B and look down through Branches 3 & 4 for copies. Copy4 checked out Copy2 available Copy1 checked out Hard Boundaries Copy3 checked out Soft Boundaries
Boundary Configuration… nutshelled I’ve been targeted for a hold. I shall fulfill my destiny! (So long as I don’t cross a hard boundary…) I’ll fill the closest hold available (by org unit, that is and so long as I don’t’ cross a hard boundary…) I’m opportunistic – I’ll fill a hold anywhere (depending on stalling and within my soft boundary, natch!) I’m age-protected. I’m not holdable outside my home library yet.
Quick Guide • Standard configuration of targeting/opportunistic capture: • Geographically large consortia; geographically smaller consortia with high hold volume • Hold Boundaries • Geographically dispersed consortia; consortia with less system sharing • FIFO • essentially ignores opportunistic capture and relies on hold placement order regardless of proximity • Needs to be set at the same depth as hard boundary (if using) and don’t use stalling • Hold fill order will be affected by new and “found” copies • Weighting • only useful with stalling because you’re influencing targeting with weighting, not opportunistic capture • Looping (Maximum library target attempts) • Loop: One Evergreen cycle of targeting a copy at every branch without success. • Max loops: Configurable number of attempts to try before cancelling the hold
The Future… ? • Group Priorities • Less Priority – Prison Library Patrons • More Priority – Faculty • Best Hold Sorting • Replacing FIFO on/off setting • Adding More Configurations • Improvements to the Hold Matrix • ???