Clothing retailer Gap Inc is localising the way it prices inventory in its network of retail stores using a cloud-based optimisation system.
Speaking at the recent Cloud Foundry Summit 2016, Gap Inc's pricing architecture director Philip Glebow outlined a number of ways the apparel retailer is approaching price optimisation.
Gap Inc is the parent company of clothing retail brands including Gap, Banana Republic and Old Navy, among others.
“We’ve got a distribution centre and we’ve got some stores, and there’s a cost to go from the distribution centre to the store,” Glebow said.
“Where do we locate physically the distribution centres and the stores so we can minimise the cost and make the most revenue? That’s a lot of what we’re doing at Gap in terms of price optimisation.”
Store location can throw up a number of variables that, when modelled, can be used to inform what Gap calls “localised promotional pricing” strategies.
“We have several thousand stores and inventory is constantly coming into those stores so we need to move it,” Glebow said.
“One of the levers that we have to move it is the price, but we don’t want to do something silly and say, ‘Well this shirt isn’t selling, let’s just take 50 percent off that shirt everywhere’.
“Different parts of the country respond differently to changes in price. There’s also weather to take into account – short sleeve shirts go really well in San Diego, not so well in San Francisco.
“So there are those components that we need to take into account in our optimisation model so that we can adjust the price and still move through the inventory.”
For Glebow and Gap, it’s a computationally-intensive problem, and one that is ultimately solved using a linear optimisation tool called Gurobi.
The tool is favoured by web-scale companies including Google and Netflix as well as logistics firms and miners, although there are many other elements that go into Gap Inc's overall price optimisation system.
The company uses a flavour of Gurobi called Gurobi Instant Cloud, which essentially backs onto a series of C4 instances of AWS EC2.
“We need to complete essentially 6000 instances of this very complex optimisation problem in about four hours, a couple of times a week,” Glebow said.
“We use about 90 [AWS] c4.4xlarge machines. So it’s very computationally intensive.”
Running Gurobi in the cloud rather than on its own servers enabled Gap to scale up computation power quickly “if the business needs more optimisation this week” or to vary the performance of the compute underpinning its modelling.
“The ability to have an elastic pricing [optimisation] solution that can scale on-demand is very powerful for us,” he said.
“We also don’t need to build a bunch of servers that sit around in the data centre sucking up power, that need to be patched, and that take up space that could otherwise be used for other things.”
The full architecture
Though Gurobi and AWS are handling the actual mathematics component of the price optimisation, they are but one element of Gap’s overall price optimisation model.
The entire optimisation problem is expressed in Java using Gurobi’s API. A set of REST services provides data to the model and a way to retrieve results from it, which are ultimately surfaced through a web-based UI that “allows users to accept or reject recommendations” for price changes.
Data inputs for price optimisation are typically drawn from a range of sources that are underpinned by multiple database technologies.
“At a company like Gap, we have a lot of very different data sources that have been around for a very long time, and we need to impose some sort of order on this chaos,” Glebow said.
“One of the technologies we use to do that is data virtualisation. It essentially provides an interface layer across the DB2s, Oracles, MySQLs, Mongos and whatever else you’ve got. That has been very powerful.”
The entire price optimisation system is deployed to Pivotal Cloud Foundry, a platform-as-a-service tool used by developers to build, deploy, run and scale applications.
“We’re a little bit early in that we installed Pivotal Cloud Foundry internally at Gap in our own data centres - we did not go with the public option - so there were some services that we didn’t have access to that we needed to have access to,” Glebow said.
Some of those services, which form part of the price optimisation system, run in an internal Openstack cluster. Gap uses Cloud Foundry as a way to ‘talk’ both to these Openstack-based services, as well as to services that run on other platforms.
“As I mentioned Gurobi runs in Amazon so we’re [also] able to interact with the public cloud through Cloud Foundry,” he said.
Glebow said Cloud Foundry “accelerated the process” to deliver price optimisation capabilities to the business.
In particular, it supported the software engineering practice of continuous integration/continuous delivery, which in Gap’s case enables developers to tweak the underlying optimisation models and get the new version into production more quickly.