Tuesday, May 24, 2011

Why Low Scoring IPL Matches Last Long

IPL makes money via advertisements in the match.  If the match finishes in 10 overs instead of 20, it means loss of revenue. It seems like  no matter what, both "strategic timeouts" have to happen in any match. I am not aware of any match in which a team won before the "strategic timeout" irrespective of the required runs.

Sometimes I wonder if sports is a form of Reality TV.

Tuesday, May 10, 2011

Named Queries in Relational Databases

Databases don't provide a way to create named queries with runtime arguments.  Yes we have views but most databases are accessed via programming languages where we need to construct the SQL query. We do have the Prepared statements but again they are programming language constructs and not named database level constructs.

Benefits:
1) No need to parse queries. They are callable by name.
2) Prevents SQL injection attacks because of not parsing.
3) Easy integration with programming languages.  db.execute("myQuery", arg1, arg2,...)

4) Instead of trying to optimize every SQL query, every time, database will have the list of the most important queries it needs to answer. This allows databases to save time by pre-planning the execution in the short run and in the long run, databases can optimize the layout of files or creating of indexes automatically to optimize the access pattern.
5) Easy to change db logic. As long as the query returns the same fields (may be more), you can easily change the actual query logic without changing application code.

Their is a lot in the name. 

Monday, May 02, 2011

The better side of corruption

Corruption is an enabler. It thrives on inefficiency, shortcomings of the system and provides a way to get things done for a price.  People pay for stuff that is valuable to them, hence at the very least corruption is a great validation...it validates, confirms that something is important.  The answer to the question, how do I make something better becomes self evident...fix things where their is corruption.

I wanted to move from Reliance CDMA to Airtel GSM. After 2 weeks, 6 visits of 30 minutes each and asking 10 times when should I disconnect my Reliance connection, the ultimate answer is - "Sorry your request couldn't be processed because you have not disconnected your Reliance connection".

I wish Airtel guys were corrupt. They would have known what people want, how much they want it and  the best interface to execute it.

Monday, April 18, 2011

Customer Support

Customers really don't want Customer Support, they just want working products. 

Friday, April 08, 2011

Price & Retailer Margin

Assuming price is determined by the demand and supply rules, how does one decides the retailer margin?

Let P be the price and M% be the retailers margin and C the expected number of units sold per month, then

Earnings per month for retailer = P * M * C
This number should be high enough to make a living for the retailer after deducting the cost of running the business.

Examples:

  • Mobile prices are high and number of units sold per month is good, causing margins to be low
  • Taps, shower, lights, basins, etc are sold at low volumes, prices are OK and margins are very high
  • FMCG products have very low margins
  • Kitchen chimneys and burners are high priced, volumes are low and margins are high
  • Cigarettes have high volume and hence margins are low
  • High end cosmetics have very low volumes, hence has reasonable margins
  • Books have low volume, unit price is OK, margins should be high
  • Text Books have high volume, unit price is OK, but they are sold only once in a year, very much like crackers on diwali.
  • Pet food also has low volume and hence high margins
  • Furniture again low volume, high price and hence margins ought to be reasonable.
I guess the opportunity for e-commerce is creating business efficiency for low volume products to drive their prices down by passing on the profits to customers making it impossible for some of the retailers to justify their business. The high volume products will always have lower margins and hence price is not what will drive buying on the net, but the other factors like trust, service, range, etc. It also opens up the market for products which couldn't find retail space because they couldn't fulfill this equation.

Another side effect of this equation is what will be counter intuitive for most economists. Under specific circumstances, when the demand goes low, prices don't really go down, they increase. The reason - retailer needs to meet his monthly needs. If he makes less money, the only way to go back to original income levels is increasing the price and not decreasing the price. The specific circumstances are:

  • All retailers are friends (taxi operators, unions, etc) 
  • Customer lifetime values is same as that of current transaction. For example a tourist hiring a taxi is not going to remember or call the same guy on his next visit.
  • How much time does customer has to make the decision. The lesser the time, less choice he has.
  • Customer already committed part of the money. 
  • Does competition exists? 
  • Is trust part of the equation?