Re: Seeking overlap algorithm
| From: | Nathan Nobbe | Date: | Fri, 07 Dec 2007 14:08:40 +0000 |
| Subject: | Re: Seeking overlap algorithm | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-265564@lists.php.net to get a copy of this message | ||
On Dec 6, 2007 9:14 PM, tedd <tedd.sperling@gmail.com> wrote:
> At 6:07 PM -0500 12/6/07, Nathan Nobbe wrote:
> >>On Dec 6, 2007 4:59 PM, tedd <tedd@sperling.com> wrote:
> >> > The problem is, could you guarantee to a "preferred" service
> provider
> >> > that they would receive top-listing 25 percent of the time? Keep in
> >> > mind that preferred service providers will overlap. So, the question
> >> > is how to accommodate for that overlap?
> >> >
> >> > If anyone has an algorithm, I would be interested in hearing it.
> >
> >i think that should be pretty easy. the algorithm is dependent upon
> >2 values. the number of listings you consider as top-listings for
> >each result set and the number of customers that are registered as
> >preferred customers.
> >
> >let me illustrate. imagine you designate only the first entry of the
> >resultant listings as a *
> >top-listing*. in that case you can support a maximum of 4 preferred
> >customers before you
> >can no longer guarantee to each of the preferred customers their
> >listing will be
> >a top-listing 25% of the time. so, if you want more capacity you
> >can increase the number
> >of results that are designated as top-listing results.
> >
> >suppose you increase the number to 2, now you have a capacity of 8
> >customers you can guarantee top-listing status 25% of the time.
> >
> >what you would need to determine is what to do if ever you didnt
> >want to increment the number of listings that are designated as
> >top-listing customers and you were already at capacity for the
> >number of customers the current capacity supports.
>
> Yes, that was pretty easy, but that was not the answer to the
> question -- my error for not explaining it better.
>
> Let me rephrase the question by providing an example.
>
> Let's say we have a customer base that is spread-out at random over a
> geographic area. Each customer has designated a 50 mile radius from
> their location as being within their zone -- the map would look like
> a bomb saturation map, if you know what I mean.
>
> Now, many of those areas overlap so that if a end-user is within that
> overlap he can see all the service providers that can provide
> service. It's a simple matter to pull those providers out of a
> database depending upon distance and show them to him. After all,
> that's the way it works, isn't it? The end-user is provided all the
> service providers who are within their service range.
>
> However, if you are also considering that some of these service
> providers should be shown as "preferred" (i.e., at the top 25 percent
> of the time) then you might find yourself in a position of over
> selling the top position because there may be too many "preferred"
> service providers in certain areas.
>
> Now, what I need is a way to analyze the distribution of the current
> service providers to see if a given location is open to being sold as
> a "preferred" position -- do you see what I mean?
>
> Another example, let's say we have four "preferred" service providers
> at the same location. Obviously, we could not sell another
> "preferred" position within 100 miles.
>
> Another example, let's say we have four "preferred" service providers
> 100 miles apart, clearly we can sell more "preferred" positions. But,
> the number of positions available depends upon the distribution of
> the original four. If they were located in a straight line, then we
> could sell two positions between each one. But, if they were
> distributed in a square, we could only sell one. Do you see?
>
> I know what solution I will be using unless someone comes up with
> something different. I just want to tap this knowledgeable group
> before I spin my wheels trying to solve a problem, that may be
> already solved.
i see the problem more clearly now. unfortunately, i dont know the
solution off the top of my head :( if i think of something in the near
future ill toss it on the list.
-nathan