by Steven Morrison Amazon.com
Contents Intro to Amazon Amazon in Scotland Dynamic Campaigns Extreme Programming
What is Amazon? World's biggest catalogue Third party retailer Allowing sellers to sell through Amazon.com Technology and platform provider AWS S3 EC2
Why Amazon is Successful We catch the Tail Product range Centralised inventory Focus on the customer
The Tail The average Barnes and Noble has 130,000 books on their shelves Over 50% of Amazon's book sales are outside the top 130,000 titles
Product Range Mission: Be the place you come to find and discover anything you might want to buy online US site has 35 product categories
Product Range Mission: Be the place you come to find and discover anything you might want to buy online US site has 35 product categories
Centralised Inventory Dont need 1 per store to be in stock, just 1 Less inventory risk Less capital tied up Cheaper shelves to carry broad stock Cost advantage vs. prime location
Amazon Development Centre Scotland Data Factory Improving data quality Automating as much as possible Humans do the rest Search Suggestions Associate search terms with relevant products Dynamic Campaigns Merchandise to customers 2 new secrets projects for 2007
Dynamic Campaigns When you go to a shop, you expect to be sold to Special offers Impulse items at the checkouts Cross-selling and up-selling by clerks On a website, the same techniques are used
Dynamic Campaigns Each page is split into slots
Dynamic Campaigns: Aims Customised store for each customer 99.9% of home pages loaded under 2s Create interesting and compelling content
Dynamic Campaigns: Data 60 million products Some have little or no data Others have masses Spiderman 2 DVD detail page is over 8 foot long Spiderman 2 DVD detail page Prices, reviews, related items, product details, million customers Purchases, reviews, wish lists, browsing history,... Over 100 requests a second
Dynamic Campaigns: Strategies A strategy defines an approach for creating content to show the customer in a single slot Where to look for products What to exclude What content to display
Dynamic Campaigns: Trade-offs Pick one of the following to concentrate on Data quality Data cost Sacrifice the other
Are they any good? Did a campaign lead to more profit? We can attribute sales to links that a customer clicked on. But would they have still bought something if we weren't there? Did we poach traffic from another part of the page?
Dynamic Campaigns: A/B Testing Randomly assign visitors to treatments as they arrive Measure differences between sales and customer activity by treatment Use statistics to identify significant changes Challenges: Differences between treatments have to be minimal A huge quantity of data is required to detect subtle effects
Extreme Programming Software engineering methodology Embraces shifting requirements Listen well to customer Feedback quickly and often Keep things simple Don't over-engineer for the (potential) future Change things incrementally Make change possible
XP – Iterations 1 to 4 weeks long Set of stories chosen by the customer Chosen from backlog, bug list, new features list Actual work to be done is planned just before the iteration Release at end of iteration
XP – Coding and Designing Test driven development Pair programming Premature optimisation is the root of all evil 1 Designing for the future is discouraged Refactor aggressively 1 Tony Hoare
Questions?