Monday, July 22, 2013

Bidding on a Pig in a Poke

Not to long ago I set up a profile and a "net" on Zombal, an online marketplace where individuals and companies can bid out scientific projects on which they need help. Someone who needs help "launches" a "zomb" (essentially, posts a Request for Quotation) in which they describe what they need, attach some keywords and specify a budget in "credits" (pegged to the US dollar). Someone offering to provide help "catches" the zomb in a "net" (essentially, receives notification of a keyword match between their areas of interest/expertise and the RFQ) and bids an amount not to exceed the budget. Interested readers can visit their site for more details. (Also, note to +Laura McLay : "Zombs" have nothing to do with zombies.)

I've never bid on a zomb, but I've set up an OR-related net and caught several, and I've observed something interesting about the process. Postings include a button that lets a visitor ask questions of the launcher, presumably before posting a bid. In some cases the launcher may also include an email address for direct questions, although this seems to be the exception rather than the rule. What's interesting to me is that I don't think I've ever seen a question posted (other than one I posted recently). Possibly people are asking relevant questions by email to avoid sharing the information with their competitors, but given the relatively low frequency with which I've seen email addresses for launchers, I'm skeptical. (Also, it seems a bit short-sighted to me as a strategy: public answers might deter a competitor from underestimating the work and underbidding.)

A recent zomb I caught specified that the launcher wanted an automated scheduling system for a school, and gave a few details about context but not much more information. So far, four people have bid, all at 100% of the budget. Here are some (but by no means all) of the questions I'm not seeing on that zomb or any other OR-related zomb I've encountered:
  • What does the launcher want? Sometimes this is fairly clear -- "I need someone to generate control charts from some data"-- but other times it's less clear. Bear in mind that while the problem may have an OR flavor, the launcher may have no idea about OR.
  • What does the launcher really want? For OR clients in general, this is often not the same as what they say they want, which may or may not accurately reflect what they think they want.
  • What does the launcher need? This hopefully resembles the previous answers, but may not be identical. In one instance, I saw someone requesting that a linear regression be run for them, and the nature of the data strongly suggested to me that a nonlinear model would be more appropriate.
  • What are the scope and scale of the problem? In the case of scheduling zomb, the launcher did not specify the number of students, instructors, rooms, courses or time slots. It's reasonable for a user to assume that a program that can accommodate 40 students in two rooms with two teachers can equally well accommodate 400 students in 20 rooms with 20 teachers, but I suspect most people reading this post will be familiar with the phrase "combinatorial explosion". That's a question of scale. On the scope side, does the model need to assign instructors to courses, or is that already given, and so on.
  • What resources does the launcher have to implement a solution? Will the launcher be able to afford a CPLEX license? Do they already have Gurobi installed?
  • Who is responsible for coding the solution? (This assumes that coding is involved, which in OR is very often the case.) If I'm responsible for coding, you can bet the farm that the next question I ask will be ...
  • Who is responsible for maintenance? I've met people who thought they could write and debug code, hand it off and never see it again. Even if the code is totally bug-free (limited to a few variants of the "Hello World" program), somewhere down the road a system upgrade may very well break it. (If you don't believe me, go find someone responsible for programs written in Python 2.x that do integer division, and ask them about Python 3.x ... but not if you're offended by strong language.)
  • How much documentation/training is needed? I've used undocumented or poorly documented software whose operation was crystal clear to the authors (hence the lack of documentation). Generally speaking, the authors' minds have worked considerably differently than mine, possibly because I've avoided recreational drugs.
As I said, I make no claim that this list is exhaustive. I bet that many (most?) professional consultants have a checklist they run through before responding to RFQs. Some catchers may be asking some of these questions via email for some OR-related zombs, but I strongly suspect that many bidders are bidding on a pig in a poke.

No comments:

Post a Comment

Due to intermittent spamming, comments are being moderated. If this is your first time commenting on the blog, please read the Ground Rules for Comments. In particular, if you want to ask an operations research-related question not relevant to this post, consider asking it on Operations Research Stack Exchange.