|
||
![]() |
Business: Science or Art | |
|
Originally written 20051007 This is part 3 about the lessons learned from a recent job. Some business is science; some business is art. It is often obvious which is which. Writing checks for payroll is science. Designing a logo or a slogan is an art. Computer programming is a mix of both. Some is the art of translating business requirements into usable applications. Some is the science of knowing which algorithm to use for the best results. Google does not search by starting with the first website and looking until they find one that matches your term. When looking up a word in the dictionary, you try to open the book close to the first letter of your word, then move forward or back depending on where the word is compared to what is displayed. With an encyclopedia, you start with the book that contains your word, quickly limiting your search to the first letter. With Google, there may be thousands of web pages that match your term, so Google scores them so the one you want is near the top. The art was deciding to use the number of other links to the page. The science is checking the results against what was meant, and adjusting the scoring system until the results are acceptable. My last company depends on having software that makes predictions. As with any forecasting, they look for trends in the past to determine what may happen in the future. If it is raining west of here, there is a good chance it will rain here soon. Their business depends on knowing how big is that chance, and when to admit that this time it will not rain. So they record the wind speed and direction, and the volume of the rain, and anything else that might help. Then they wait until it looks like it might rain, and see if their model works. This is where their system falls apart. If they predicted rain, and it does not rain, they rewrite their model. But the model only predicts chances, so one failure should not require changing anything. If they receive one dollar every day they are correct, and lose a dollar every day they are wrong, they need to be correct more than half the time. Yes, a program that reports "sunny" every time would make money in most places, and do really well in San Diego, but the customers would disappear quickly. It also needs to make enough to recoup the overhead. So let us assume they need to be very accurate to keep their customers and make money. The correct method is to find as much historical data as possible, and run every algorithm against all the data. Let the computer test many numbers against the historical data; they are good at that. Then use the numbers that produce the best results. Never tweak the numbers based on the last occurrence. This company can set their bet each day based on their forecast for each location. They can bet $100 it will rain in Philadelphia, $200 it will be sunny in Orlando, and $500 it will rain in Seattle. (Nobody would let them bet on San Diego.) Even better, they make the prediction and choose the size of the bet on the previous day. With computers, they should be able to become extremely accurate (and profitable.) But that is not how they do it. They let the computers distribute the predictions and collect the money, but they are not using computers for finding the best algorithm. It's raining; if they did not predict it, they change the formulas. Between the computer applications being a mess of unmaintainable code, and their forecasting being based on guesswork, I realized the company's only chance of a future was based on salesmanship. They may succeed, but I do not want my reputation connected to their methods of running a business.
|