How does "passive probe" REALLY decide who to probe? I feel that I need to understand (more thoroughly than I currently do) how the "passive probe" feature selects which subscribers will be passively probed on a particular mailing. In the following description assume that the passive probe parameter is d (days), the list has s subscribers and the number of unique messages distributed through the list will average m messages per day for the next d days. Say that I use the keyword * Auto-Delete= Yes,Semi-Auto,Probe(d) I think that that is instructing LISTSERV to send a passive probe to each subscriber once every d days and to distribute those probes as evenly as possible across the messages distributed in the next d days. LISTSERV can't know in advance how many unique messages will be distributed in the next d days, so it doesn't really have enough information to distribute the probes evenly across the messages. LISTSERV could keep statistics of recent list traffic and use that to anticipate probable future list traffic. I assume that it doesn't actually use the statistics to decide how to process passive probes. (Does it? What if the header for that list didn't enable the collection of statistics?) In order to understand how LISTSERV handles passive probes, I first tried to think what it could possibly do. While thinking about the algorithms that could be used, there were several design choices: a. Which is more important, probing each subscriber once every d days or not sending more than s/(d*m) passive probes per message? b. Should we use fixed "d consecutive day" cycles (with a definite end to one cycle and start to the next cycle) or should we have a moving d day window? I thought that it was more important to probe each subscriber once every d days than to avoid sending more than s/(d*m) passive probes per message. (Particularly since m can't really be known.) I even felt it was more important to probe each subscriber once every d days than to avoid sending more than s/d passive probes per day. Which goal did L-Soft consider to be the higher priority in their design? While a moving d day window offered some definite attractions, I ended up using a combination of a moving d day window (to catch subscribers who hadn't been passively probed in the last d days) and a fixed "d consecutive day" cycle (to try to spread out the probes and avoid clumping). Which choice did L-Soft make? I'll describe one algorithm that I might have used (if I were the responsible L-Soft programmer) to decide which messages to make passive probes. I'd appreciate someone from L-Soft telling me what LISTSERV actually does, in about the same level of detail. 1. Associate a "last passively probed" date/timestamp with each subscriber. When passive probing is first turned on, or when the value of "d" is reduced, set each of the subscriber's "last passively probed" date/timestamp to date/times uniformly distributed across the last d days. That is, assign each subscriber a number i where i is in the range 1 <= i <= s and set each subscriber's "last passively probed" date/timestamp to (d - i*d/s) days ago, where d is the number of days in the passive probe cycle, i is the ordinal number assigned to that subscriber, and s is the number of subscribers. When the value of "d" is increased, don't change subscriber's "last passively probed" date/timestamps. 2. When a new subscriber joins the list, set his "last passively probed" date/timestamp to the time he joined. 3. Start the clock for a d day cycle at a specific date, hour, minute and second. Keep the date/timestamp of when this cycle started. Start the next cycle exactly d days later. 4. When a message is about to be processed, if any of the recipients haven't been passively probed in the last d days, passively probe them with this mailing and update their "last passively probed" date/timestamps to the current date/time. These recipients will DEFINITELY be passively probed on this message. Nothing in the following parts of the algorithm can change that. 5. When a message is about to be processed, compute what fraction of the current d day cycle has already elapsed. The same fraction of the subscribers should have been passively probed since the beginning of this cycle. 6. If that number (or more) of subscribers have been passively probed during this cycle, don't do any more passive probing on this message. 7. If fewer than that number of subscribers have been passively probed during this cycle, determine the number of additional subscribers that would need to be passively probed to make the fraction of the subscribers already passively probed equal to the fraction of the probing cycle which has already elapsed. Use this number as the target number of subscribers to receive this message as a passive probe. 8. Sort the recipients of the current message by their "last passively probed" date/timestamps. Select up to the target number of them with the earliest "last passively probed" date/timestamps. Passively probe them with this mailing and update their "last passively probed" date/timestamps to the current date/time. 9. If there are more than the target number of recipients of the current message, some will be passively probed and some will not. 10. If there are less than (or equal to) the target number of recipients of the current message, all those recipients will be passively probed. So my request is: please describe the way that passive probing really selects which subscribers will be passively probed on a particular mailing (in about the same level of detail that I used above). Thanks. /David Rosenberg [log in to unmask] 1-617-253-8054