1 Introduction

With cloud services’ continuously increasing usage and business relevance, their market is becoming increasingly solvent (Keller and König 2014). At the same time, standardization is increasing. This development has allowed users to dynamically adapt their cloud services demand from no to nearly unlimited resources (Mell and Grance 2011). In a rather recent move, Infrastructure-as-a-Service (IaaS) providers, such as Amazon Web Services (AWS), reflect the varying demand patterns by offering their services at fluctuating spot prices (Karunakaran and Sundarraj 2015), which are volatile throughout the day (Ben-Yehuda et al. 2013). This way, such providers seek constant server utilization to avoid idle capacity and large peaks.

In many use cases, customers require the instant delivery of cloud services. Nevertheless, customers may defer jobs, for instance, simulations, rendering jobs, and scientific computations. Whenever customers do not require a cloud service instantly and expect the spot prices to fall, they can defer their demand in order to realize cost savings. The time they are willing to wait for their computing job opens a window of temporal flexibility.

Evaluating the cost savings potential of a customer’s window of temporal flexibility is a complex task, since cloud spot prices may change frequently, as we will illustrate. Consequently, cloud customers require strategies that take the tradeoff between the costs and the waiting time into consideration (Karunakaran and Sundarraj 2015; Tang et al. 2012). Furthermore, cloud customers may not even be aware of their temporal flexibility. We identify two main obstacles to utilizing temporal flexibility in cloud computing spot markets: First, decision support for customers requires near real-time analytics on when and how long to defer computing jobs given the uncertain price development. Adequate IS or web services are required to help exploit the existing savings potential optimally. Second, deferring jobs requires customers to change their demand behavior, which might inconvenience them. Applying such IS or web services could also incur costs for process implementation and additional planning, while waiting for jobs could lead to opportunity costs. However, such costs are highly dependent on customers’ individual circumstances: the extent of their cloud services dependency, IS infrastructure, employee training, etc. We consequently focus on evaluating objectively measurable savings, because cloud customers need an estimation of their flexibility’s current value to weigh it against the incurred expenses.

To address both obstacles, we apply real options analysis (ROA), which other IS research domains have established as a valuation method designed to capture the flexibility of action under uncertainty (Amram and Kulatilaka 1999; Benaroch and Kauffman 1999; Trigeorgis 1996). We model a customer’s temporal flexibility as a deferral option. This real option serves to determine a value for the right to act or to await another opportunity over a period. From this overarching research objective, we derive our research question:

‘How can cloud services customers quantify and exploit their demand flexibility’s monetary value

by using real options analysis and given uncertain short-term price development?’

To address our research question, we adapt and apply multiple option pricing models and process a dataset of Amazon Elastic Compute Cloud (EC2) spot prices. Our research objective covers a relevant real-world problem, as cloud customers could profit from decision support for when to purchase cloud services within a temporal flexibility window to optimally exploit their savings potential. Under market principles, such times of day would have lower cloud service demand than the server capacity available. Shifting jobs to these times contributes to balancing the cloud service demand and the supply.

We structure the remainder of this paper as follows: in Sect. 2, we present related work on cloud computing markets and ROA. In Sect. 3, we analyze our dataset of EC2 spot prices. In Sect. 4, we adapt multiple approaches to quantify and exploit the monetary value of short-term temporal flexibility in cloud computing demand. We thereafter evaluate these approaches in a historical simulation and sensitivity analysis in Sect. 5. Finally, we discuss the results in Sect. 6 and conclude the paper in Sect. 7.

2 Cloud Computing Markets and Real Options Analysis

2.1 Current Developments in Cloud Computing Markets

Cloud computing with its pay-as-you-go model and flexible, on-demand resource allocation comprises three major product categories: namely IaaS, Platform as a Service (PaaS), and Software as a Service (SaaS) (Mell and Grance 2011). Keller and König (2014, p. 4) identify three recent trends in cloud computing that “are likely to transform the current cloud landscape”:

  • increasing standardization, especially viable in IaaS

  • increasing SaaS specialization for particular user groups, such as private users or specific industries

  • increasing actor dependencies

These developments specifically occur in emerging cloud marketplaces (Keller and König 2014). Major cloud providers offer standardized products, such as virtual machines with a given operating system, CPU, RAM, and storage. However, especially in the IaaS context, the standardization of cloud computing fosters an oligopolistic market structure, in which the largest two providers (AWS and Microsoft) provide the deployment environment of about 70% of the current applications (Skyhigh Networks 2017). These companies profit from enormous economies of scale, which might, however, stall innovation and progress in the cloud market (Bestavros and Krieger 2014). Nevertheless, recent attempts, such as the Deutsche Börse Cloud Exchange, the Cloud Commodities Exchange Group, and the Massachusetts Open Cloud Exchange, have opened the IaaS markets to smaller providers, thus increasing the market dynamics. Moreover, standardized application programming interfaces (API), which tools like Swagger or CloudStack use, enable the dynamic exchange of commoditized SaaS services, such as weather services (Lewis 2013; Loutas et al. 2011a, b).

2.2 Cloud Computing Spot Prices

In cloud computing, AWS first introduced spot prices for their computing service Amazon EC2 in 2009. AWS operates EC2 spot instances in 14 locations with about 40 products (Amazon Web Services 2017), which can substitute one another. As AWS’ excess capacity, EC2 spot instances are normally cheaper than regular on-demand instances based on a fixed price (Kamiński and Szufel 2015). Similar to spot markets for stocks, electricity, and commodities, a market mechanism brings together demand (bids) and supply (offers) in a Vickrey auction to form EC2 spot prices (Cheng et al. 2016). However, AWS applies a hidden reserve price algorithm to artificially generate a linear dependency between the availability and the spot price that is consistent over multiple instance types and locations (Ben-Yehuda et al. 2013).

Currently, there are different research streams on cloud spot prices. One research stream applies reverse engineering for a better understanding of EC2 spot instances and to deconstruct AWS’ spot pricing mechanism [e.g., (Ben-Yehuda et al. 2013; Li et al. 2016a)]. These papers do not provide decision support algorithms. As prices differ between regions, a second research stream analyzes customer strategies to reduce costs by spatially distributing the use of spot instances [e.g., (Cheng et al. 2016; Marathe et al. 2014)]. Since our objective is to study temporal instead of spatial flexibility, we are more closely related to a third research stream focusing on spot price prediction. For example, Baughman et al. (2018) propose a model to predict EC2 spot prices based on long/short-term memory recurrent neural networks. Khandelwal et al. (2017) propose a model based on random forest regression for predicting EC2 spot prices one day and one week ahead. These scholars demonstrate that their non-parametric machine learning approach outperforms previous approaches based on support vector machines (Arevalos et al. 2016) and artificial neural networks (Wallace et al. 2013). Cai et al. (2018) criticize several existing models for being static and neglecting the correlation of sequential cloud spot prices. Instead, these authors propose two Markov regime-switching autoregression models and one autoregressive integrated moving average model that integrate new observable information dynamically to adjust price predictions. These examples are just an excerpt from an extensive research stream, which is, nevertheless, inappropriate for our purposes. Although these studies present sophisticated models for spot price prediction based on (auto)regression and machine learning, their point estimators provide only limited decision support, as they do not consider the type of customer service request and the relevant optimization restrictions.

Vieira et al. (2015, p. 498) distinguish three categories of service requests: “fixed-time requests” without temporal flexibility (e.g., continuous monitoring tasks or websites), “floating-time requests” which can be interrupted and are temporally flexible, and “variable-time requests” which cannot be interrupted, but are temporally flexible. As we aim to quantify and exploit cloud customers’ (short-term) temporal flexibility, we will not further consider fixed-time requests.

Research not only provides spot price predictions, but also decision support in terms of bidding strategies for floating-time and variable-time requests. Floating-time requests require cloud customers to apply complex check-pointing mechanisms and snapshots. Andrzejak et al. (2010) present a probabilistic model that employs temporal flexibility to optimize bidding strategies. By focusing on cost-reliability trade-offs and the selection of instance types, they conclude that cost savings negatively affect execution time (and vice versa) and that switching from standard or high-memory to high-CPU instance types can save costs. Tang et al. (2012, 2014) advance this approach by formulating a constrained Markov decision process based on linear programming. These authors improve Andrzejak et al.’s (2010) approach in terms of cost savings and execution time. In these three papers, the researchers set a price threshold and maximize the reliability of long-dated computations (2.6 to 22.6 h) over a timeframe of several days. Zafer et al. (2012) extend these approaches by proposing a dynamic bidding strategy for floating-time requests with a specific deadline. While their suggested bidding strategy favors the use of EC2 spot instances due to their lower costs, it can only guarantee that jobs will be executed by a fixed deadline if it also uses EC2 on-demand instances.

We aim to contribute to the research of variable-time requests that must not be interrupted, such as MapReduce jobs (Dadashov et al. 2014) and other highly parallelized jobs (Kumar et al. 2018). Distributed analytics jobs, for example, those using Hadoop or Spark, are particularly suitable for variable-time requests (Kumar et al. 2018). Zheng et al. (2015) and Tamrakar et al. (2017) analyze the execution of MapReduce jobs, with the former concluding that using spot instances from different markets can reduce costs by 93% compared to regular on-demand cloud instances, but can also increase computation time by 15%. Zheng et al. (2015) and Zafer et al. (2012) model a fixed deadline, but can only guarantee this by using additional EC2 on-demand instances. In terms of the spot markets, they try to balance the trade-off between the costs and the reliability of the job execution.

Extending all previous literature on the topic, we contribute an approach that guarantees to execute variable-time requests in spot markets within a customer’s temporal flexibility window. We design the approach to be easier to understand and implement than other approaches, because we reduce the decision complexity to “when to bid” (ignoring “how much to bid”) by considering the expected spot price development. We focus on one instance type on one cloud spot market. In contrast to existing literature, we implicitly assume that a customer’s bid is high enough for the job execution to be uninterruptible. This assumption is valid for Vickrey auctions, in which a bidder at most pays the common spot price instead of the bid. Our initial motivation also requires our approach to evaluate short-term temporal flexibility while explicitly considering uncertainty. We have therefore chosen to apply ROA, which explicitly suits this requirement (Kleinert and Stich 2010). Undertaking ROA requires the available distribution of possible future spot prices; we therefore need to model spot price development as a stochastic process instead of applying regression models that yield point estimators.

2.3 Real Options Analysis in Information Systems Research

ROA originated from financial option valuation with the aim to evaluate managerial action flexibility that takes uncertainty into consideration. Myers (1977, p. 163) introduced the term real options as “opportunities to purchase real assets on possible favorable terms.” Real options comprise “discretionary decisions or rights, with no obligation, to acquire or exchange an asset for a specified alternative price” (Trigeorgis 1996, p. xi). IS researchers started applying ROA in the 1990s in order to evaluate managerial flexibility in information technology (IT) investments (Ullrich 2013). Benaroch and Kauffman (1999), for example, study the application of discrete-time and continuous-time option pricing models for evaluating investments in IT infrastructure, emerging technology, application design prototyping, and technology-as-products. These scholars conclude that managers can apply traditional option pricing models to non-traded IT assets without loss of validity. Subsequently, Benaroch and Kauffman (2000) examine a case in order to validate the added value of deferral options for strategic IT investments and elaborate on ROA’s advantages instead of traditional IT investment evaluation methods. ROA’s application in IS research focuses mainly on IT investment decisions in general (Chen et al. 2009) or on specific technologies (Lee and Lee 2011; Nwankpa et al. 2016; Wu et al. 2009; Zimmermann et al. 2016).

In our targeted cloud computing research domain, authors apply ROA to migration decisions (Naldi and Mastroeni 2016; Yam et al. 2011), the extension of cloud resources (Alzaghoul and Bahsoon 2013), investment deferral (Alzaghoul and Bahsoon 2014), termination management (Jede and Teuteberg 2016), and risk management regarding cloud services’ availability (Allenotor and Thulasiram 2014). Compared to traditional IT investments, infrastructure services in cloud computing are more separable, meeting the ROA requirement of “complete markets” better (Ullrich 2013, p. 335). In line with the development of cloud exchanges, Meinl and Neumann (2009) propose establishing a contract market to enable grid and cloud services’ customers and providers to trade real options to reserve resources in advance. Náplava (2016) uses ROA to evaluate external IaaS’s additional flexibility compared to that of on-premise solutions. Klaus et al. (2014) develop a model for service providers that evaluates an option to shift excess demand for (e.g., cloud) services to external vendors. This approach determines the business value of shifting flexibility, which decision makers can subsequently use to justify investments in required IS infrastructure.

Our literature review demonstrates ROA applications in IT project and cloud computing business cases. To the best of our knowledge, ROA has not yet been applied to support a cloud service purchase by means of variable-time requests. The research taxonomy of bidding strategy design for cloud spot markets by Kumar et al. (2018) does not list ROA as an already researched method, thus confirming our observation.

Nonetheless, we can build on ROA from other domains. Fridgen et al. (2016) study intraday load-shifting flexibility in the electricity spot market context. These authors propose an ROA-based algorithm to utilize temporal flexibility, adapting and applying the Cox et al. (1979) binomial tree model for discrete-time option valuation. Similar to our approach, they model temporal flexibility as a deferral option: Although purchase before a specified deadline is obligatory, this option gives customers the flexibility to decide on their purchase time in order to exploit the cost savings potential of volatile market prices. Although we adapt their model in some respects, we apply, evaluate, and compare multiple discrete-time approaches to ROA in the light of our research question.

3 Cloud Spot Market Data Analysis

We base our study on a time series of Amazon EC2 spot market data, which comprises prices and the associated price changes. Encompassing 2 years of cloud spot market operation, the data span the period January 1, 2015 to December 30, 2016. We acknowledge Spot Price Archive (Javadi et al. 2011), which downloaded a large dataset ranging from January 2009 to December 2016 via the Amazon EC2 API, as the source of this series of spot prices. More precisely, we analyze historical data from the EC2 spot instance “m1.xlarge” hosted in a North Virginia data center (“us-east-1” region). This type of cloud service encompasses four virtual cores, 15 gigabytes of RAM, 350 gigabytes of hard-disk space, and high network performance (Amazon Web Services 2017).

In Fig. 1, we provide an example of the hourly statistics of historical 2016 data.

Fig. 1
figure 1

Hourly statistics of Amazon EC2 spot prices

In formulae, we denote references to averaged historical input with a circumflex (\(^{\wedge}\)) and the cloud spot price at a given time of day \({\text{t}}\) with \({\text{S}}({\text{t}})\). We compute the historical mean cloud spot price \({\hat{\text{S}}}({\text{t}})\) at time \({\text{t}}\):

$${\hat{\text{S}}}({\text{t}}) = \frac{{\mathop \sum \nolimits_{{{\text{i}} = 1}}^{\text{n}} {\text{S}}\left( {\text{t}} \right)_{\text{i}} }}{\text{n}}$$
(1)

More precisely, \({\hat{\text{S}}}({\text{t}})\) is the arithmetic mean of \({\text{n}}\) historically observed prices at the time of day \({\text{t}}\). Further, \({\text{R}}({\text{t}})\) is the spot price change, or return, from \({\text{t}}\) to \({\text{t}} + 1\), which we express relatively:

$${\text{R}}\left( {\text{t}} \right) = \frac{{{\text{S}}\left( {{\text{t}} + 1} \right)}}{{{\text{S}}\left( {\text{t}} \right)}} - 1$$
(2)

We compute the historical mean return \({\hat{\text{R}}}({\text{t}})\) from \({\text{n}}\) historically observed cloud spot returns:

$${\hat{\text{R}}}\left( {\text{t}} \right) = \left( {\left( {1 + {\text{R}}\left( {\text{t}} \right)_{1} } \right) *\left( {1 + {\text{R}}\left( {\text{t}} \right)_{2} } \right) *\cdots *\left( {1 + {\text{R}}\left( {\text{t}} \right)_{\text{n}} } \right)} \right)^{{\frac{1}{\text{n}}}} - 1$$
(3)

Because single returns may be interdependent growth factors, we choose a geometric mean over an arithmetic mean, which could yield false results in this case. More precisely, if spot prices at a specific time of day follow a positive or negative growth trend (increase or decrease, on average, over some days, weeks, or months), applying an arithmetic mean of historical returns to forecast spot prices is likely to overestimate the expected developments, especially regarding more than one estimation period (Amenc and Le Sourd 2003).

In continuation, \(\hat{\sigma }\left( {\text{t}} \right)\) is the historical standard deviation, or volatility, of cloud spot returns. We compute \(\hat{\sigma }\left( {\text{t}} \right)\) as the geometric standard deviation:

$$\hat{\sigma }\left( {\text{t}} \right) = {\text{e}}^{{\sqrt {\frac{1}{\text{n}} *\mathop \sum \limits_{{{\text{i}} = 1}}^{\text{n}} \left( {{ \ln }(\frac{{1 + {\text{R}}\left( {\text{t}} \right)_{\text{i}} }}{{1 + {\hat{\text{R}}}\left( {\text{t}} \right)}})} \right)^{2} } }}$$
(4)

Figure 1 indicates that EC2 cloud spot prices for a reference timespan of 24 months are subject to time-of-day-specific patterns of mean prices, mean returns, and return volatilities. We therefore examine the following hypothesis:

Hypothesis 1

One should extend traditional ROA approaches with time-of-day-specific spot price patterns to optimally exploit the monetary value of short-term temporal flexibility in cloud computing demand.


We test Hypothesis 1 by comparing ROA approaches with and without consideration of time-of-day-specific spot price patterns. Moreover, we verify our modeling decision to apply ROA by examining the following hypothesis:

Hypothesis 2

One should not only model the time-of-day-specific mean prices (or returns), but also the return volatilities to optimally exploit the monetary value of short-term temporal flexibility in cloud computing demand.


We test Hypothesis 2 by applying naive expectation optimization as an alternative to ROA. In the following section, we introduce the respective models. Thereafter we evaluate the models on historical EC2 spot market data.

4 Model Development

4.1 Discrete-Time Spot Price Modeling

In this section, we present multiple approaches to support decisions to utilize temporal flexibility in cloud spot markets. We assume a situation in which a customer is temporally flexible (e.g., for some hours) and aims for the lowest possible price in this time window. However, an individual deadline indicating the time at which the customer requires the cloud services at the latest, limits temporal flexibility. Hence, the customer’s decision problem is, given the deadline, to defer demand up to the (ex-ante) optimal (cost-minimal) point in time.

Employing ROA, we can model customers’ temporal flexibility to defer cloud demand as a deferral option, because they can sell their right to instantly purchase cloud services. This deferral option’s value depends specifically on cloud spot prices’ (the option’s underlying) stochastic development and the customer’s deadline at which purchase would be obligatory. The deferral option expires right before the given deadline. The customer may exercise the option (i.e., purchase cloud services) only once at an arbitrary decision point in time. The deferral option is therefore similar to an American call option in capital markets.

Assumption 1

Until the deferral option expires, a customer can decide in discrete time increments of equal length whether to exercise the option or not.

In Assumption 1, we limit the decision points in time to a finite and equally distributed number for simplicity’s sake. Although approaches that allow continuous-time option pricing and decision making (e.g., Black and Scholes 1973) offer more freedom of action, which would make them preferable, they are rather complex. In particular, there are as yet no closed-form solutions for the continuous-time pricing of American call options under consideration of time-of-day-specific mean prices, returns, and return volatilities. Instead, we research discrete-time approaches that are simple, yet accurate enough to considerably exploit a temporally flexible customer’s savings potential. To test both hypotheses in consideration of Assumption 1, we have chosen to adapt, apply, and compare the following discrete-time approaches to customer decision support in cloud spot markets:

  1. 1.

    The binomial tree approach of Cox et al. (1979)

  2. 2.

    The binomial tree approach of Tian (1993)

  3. 3.

    Expectation optimization

Cox et al. (1979) were the first authors to develop a discrete-time version of the famous option pricing model by Black and Scholes (1973). They modeled the stochastic movements of an underlying and a matching option as a binomial tree. They prove that this model converges toward the Black–Scholes formula for decreasing-length time increments. Tian (1993) modified Cox et al.’s (1979) binomial tree formulae by matching the discrete-time process’s skewness with the continuous-time process. Via numerical simulations on stock prices, Tian demonstrates that this model improves the accuracy of the convergence toward the Black–Scholes model. Although there are other derivatives of Cox et al.’s option pricing model (e.g., Amin 1991; Jarrow and Rudd 1983; Leisen and Reimer 1996), our approaches already provide valuable insights into discrete-time ROA’s potential as a tool for decision support in cloud spot markets. Whereas Cox et al. (1979) and Tian (1993) do not model the time-of-day-specific patterns of their underlying, we apply both approaches in their native form and with this model extension (to test Hypothesis 1).

4.2 Binomial Tree Approaches without Time-of-Day Specific Patterns

In the following, we present Cox et al.’s (1979) and Tian’s (1993) traditional approaches without consideration of the time-of-day-specific spot price patterns, which we introduce afterward.

Assumption 2

Cloud spot prices are log-normally distributed, while the returns of cloud spot prices are normally distributed.

Following Mazzucco and Dumas (2011), we assume that the returns of cloud spot prices are normally distributed (and that cloud spot prices are therefore log-normally distributed). In respect of EC2 spot prices, this assumption is “adequate but not perfect, as the distribution of the spot prices is more heavily-tailed” (Mazzucco and Dumas 2011, p. 297).

Assumption 3

Cloud customers are risk-neutral in their decisions.

Since both Cox et al. (1979) and Tian (1993) develop their approaches by assuming normally distributed returns and risk-neutral decision makers, we also require these rather technical assumptions. For the sake of our model’s simplicity and in the light of our valid results, we consider these limitations adequate.

Cox et al. (1979) and Tian (1993) apply a binomial tree to model their underlying’s stochastic process. The tree starts at the current point in time \(({\text{t}} = {\text{t}}_{0} = 0)\) before forking in discrete time increments into future nodes (i.e., future price levels) up to the option’s expiration (denoted \({\text{t}} = {\text{T}})\). Consequently, at each node, with the exception of end nodes, the underlying is expected to move either in an upward or a downward direction. Cox et al. (1979) and Tian (1993) describe the binomial tree by means of the following parameters: \({\text{u}} \le 1\) and \({\text{d}} \le 1\) are constant factors for the (expected) extent of the underlying’s upward and downward movements within one time increment. Both approaches depend on the historical return volatility \(\hat{\sigma }\) and the risk-free interest rate \({\text{r}}_{\text{f}}\) (which are both constant in these traditional models). A condition is that \({\text{u}} * {\text{d}} = 1\) and \({\text{u}} > 1 + {\text{r}}_{\text{f}} > {\text{d}}\). Moreover, \({\text{p}} \le 1\) is the constant probability of the underlying moving in an upward direction. Conversely, \(1 - {\text{p}}\) is the constant probability of a downward movement. The approaches by Cox et al. (1979) and Tian (1993) suggest the following formulae to derive the expected price development in an arbitrary time increment \({\text{t}}\) to \({\text{t}} + 1\):

$${\text{S}}\left( {{\text{t}} + 1} \right)_{\text{u}} = {\text{S}}\left( {\text{t}} \right) * {\text{u}}$$
(5)
$${\text{S}}\left( {{\text{t}} + 1} \right)_{\text{d}} = {\text{S}}\left( {\text{t}} \right) * {\text{d}}$$
(6)

In Fig. 2, we illustrate an exemplary binomial tree for our underlying (cloud spot prices).

Fig. 2
figure 2

Exemplary binomial tree for a deferral option with three remaining time increments

Under consideration of Assumptions 2 and 3, we can apply Cox et al.’s (1979) formulae:

$${\text{u}} = {\text{e}}^{{\hat{\sigma } *\sqrt {\Delta {\text{t}}} }}$$
(7)
$${\text{d}} = {\text{e}}^{{ - \hat{\sigma } *\sqrt {\Delta {\text{t}}} }}$$
(8)
$${\text{p}} = \frac{{{\text{e}}^{{{\text{r}}_{\text{f}} *\Delta {\text{t}}}} - {\text{d}}}}{{{\text{u}} - {\text{d}}}}$$
(9)

The parameter \(\Delta {\text{t}}\) quantifies the time increments between the decision nodes in the binomial tree, which is \(\Delta {\text{t}} = 1\) in our case. Similarly, we can apply Tian’s (1993) formulae, which (only) differ in terms of the \({\text{u}}\) and \({\text{d}}\):

$${\text{u}} = \frac{\text{V}}{2}*{\text{e}}^{{{\text{r}}_{\text{f}} *\Delta {\text{t}}}} *\left( {{\text{V}} + 1 + \sqrt {{\text{V}}^{2} + 2{\text{V}} - 3 } } \right) \quad {\text{with}} \quad {\text{V}} = {\text{e}}^{{\hat{\sigma }^{2} *\Delta {\text{t}}}}$$
(10)
$${\text{d}} = \frac{\text{V}}{2} * {\text{e}}^{{{\text{r}}_{\text{f}} *\Delta {\text{t}}}} *\left( {{\text{V}} + 1 - \sqrt {{\text{V}}^{2} + 2{\text{V}} - 3 } } \right) \quad {\text{with}} \quad {\text{V}} = {\text{e}}^{{\hat{\sigma }^{2} *\Delta {\text{t}}}}$$
(11)

In both approaches, modeling the underlying’s binomial tree is the prerequisite for option pricing. In each of the tree’s nodes, a cloud customer must decide on whether to exercise the deferral option (i.e., to purchase cloud services) or not (i.e., to wait for another time increment). After exercising the deferral option, the optimization terminates. If the customer does not exercise the deferral option at time \({\text{t}} = {\text{T}}\) at the latest, he/she reaches the individual deadline in the next discrete time step (\({\text{t}} = {\text{T}} + 1\)) and must purchase cloud services then. Technically speaking, modeling a deadline is already an extension of Cox et al.’s (1979) and Tian’s (1993) traditional models, which Fridgen et al. (2016) introduced for the former approach. Both approaches start option pricing by analyzing the possible exercise values in the binomial tree’s end nodes:

$${\text{C}}({\text{T}}) = \hbox{max} \left\{ {{\text{X}} - {\text{S}}({\text{T}});0} \right\}$$
(12)

\({\text{S}}({\text{T}})\) is the expected cloud spot price at a specific end node in the binomial tree at time \({\text{T}}\). \({\text{X}}\) is the exercise or strike price of the deferral option, which we explain later. If \({\text{X}}\) is greater than \({\text{S}}({\text{T}})\), exercising the option in \({\text{T}}\) is preferable, leaving the deferral option with a value greater than zero; however, if it is not, the customer should wait for one time increment and purchase cloud services at the individual deadline.

For every decision node that is \({\text{n}} \in \{ 1, \ldots ,{\text{T}}\}\) periods before \({\text{T}}\), the customer can compute the deferral option’s value by applying the following formula by Cox et al. (1979):

$${\text{C}}\left( {{\text{T}} - {\text{n}}} \right) = \hbox{max} \left\{ {\begin{array}{*{20}c} {{\text{X}} - {\text{S}}\left( {{\text{T}} - {\text{n}}} \right); } \\ {{\text{p}}*{\text{C}}\left( {{\text{T}} - {\text{n}} + 1} \right) + \left( {1 - {\text{p}}} \right)*{\text{C}}\left( {{\text{T}} - {\text{n}} + 1} \right)} \\ \end{array} } \right\}$$
(13)

Except for the end nodes in T, each decision node receives two values: that of the immediate cloud service purchase (i.e., the deferral option’s exertion at that time) and that of deferring the purchasing decision for (at least) one time increment (i.e., the “time value” of exercising it later). The latter requires an algorithm for a probability-weighted valuation, since, from a single decision node’s perspective, the tree forks into an upward and downward direction. The maximum of both values constitutes the deferral option’s value at the relevant decision node. Note that since both approaches conduct the option pricing from the end nodes in \({\text{T}}\) to root \({\text{t}}_{0}\), computing the time values of every decision node for \({\text{t}} = {\text{T}} - {\text{n}}\) can draw on already computed option values in \({\text{t}} = {\text{T}} - {\text{n}} + 1\). The algorithm terminates as soon as it obtains the deferral option’s value in \({\text{t}}_{0}\) (i.e., the current point in time). Cloud customers can now compare the value of “exercising immediately” and “exercising later,” deciding accordingly. If customers decide to wait for the next time increment, they need to update the observable price information and repeat the binomial tree construction and the option evaluation. Note that if customers can only purchase cloud services at certain times (i.e., at certain decision nodes), the deferral option complies with a Bermudan call option (or even with a European call option if they can only decide in \({\text{t}} = {\text{T}}\)). Modeling a Bermudan (or European) call option only means modifying Eq. 13 for non-decision nodes by removing the right and value of the immediate exertion.

4.3 Modeling Time-of-Day-Specific Patterns

We follow Fridgen et al. (2016) as follows to model the time-of-day-specific spot price patterns in order to test Hypothesis 1:

  • Since we evaluate the monetary value of temporal flexibility in the short term (i.e., a maximum of several hours), the risk-free interest rate is insignificantly low, and we can set \({\text{r}}_{\text{f}} = 0\).

  • We consider the time-of-day-specific spot price patterns by assuming mean reversion, i.e., for each discrete time step, the spot price is expected to move (“revert”) to either the mean price level or according to the mean return, historically observed at the respective time of day. The same applies to volatilities.

  • In keeping with both the traditional models created to evaluate options in capital markets, we treat these mean-reverting movements like discrete dividend payments.

  • We model binomial parameters time-dependently, i.e., u(t), d(t), and p(t), because of the time-of-day-specific volatility patterns \(\hat{\sigma }\left( {\text{t}} \right)\).

While Fridgen et al. (2016) extend the approach by Cox et al. (1979) with mean reversion to the time-of-day-specific mean price and volatility patterns, we also apply Tian’s (1993) model and mean reversion to the time-of-day-specific mean return patterns. Financial asset pricing usually exhibits stationary mean returns, but non-stationary mean prices (Rossi and Spazzini 2014), which makes the former preferable for deriving predictions in these markets. Stationarity makes historical data a more appropriate estimator of future movements. As we could not find any related work concerned with stationarity analysis in cloud spot markets, we apply both approaches to model time-of-day-specific patterns and compare them.

In the following, we present relevant extensions of Eqs. 5 and 6 given the time-of-day-specific mean prices and returns.

Equations 5 and 6 with time-of-day-specific mean prices (Fridgen et al. 2016):

$${\text{S}}\left( {{\text{t}} + 1} \right)_{{{\text{u}}_{\text{t}} }} = {\text{S}}\left( {\text{t}} \right) * {\text{u}}\left( {\text{t}} \right) + \theta *\left({\hat{\text{S}}}\left( {{\text{t}} + 1} \right) - {\text{S}}\left( {\text{t}} \right)\right)$$
(14)
$${\text{S}}\left( {{\text{t}} + 1} \right)_{{{\text{d}}_{\text{t}} }} = {\text{S}}\left( {\text{t}} \right) * {\text{d}}\left( {\text{t}} \right) + \theta * \left({\hat{\text{S}}}\left( {{\text{t}} + 1} \right) - {\text{S}}\left( {\text{t}} \right)\right)$$
(15)

Equations 5 and 6 with time-of-day-specific mean returns:

$${\text{S}}\left( {{\text{t}} + 1} \right)_{{{\text{u}}_{\text{t}} }} = {\text{S}}\left( {\text{t}} \right) * {\text{u}}\left( {\text{t}} \right) + {\text{S}}\left( {\text{t}} \right) *\theta * {\hat{\text{R}}}\left( {\text{t}} \right)$$
(16)
$${\text{S}}\left( {{\text{t}} + 1} \right)_{{{\text{d}}_{\text{t}} }} = {\text{S}}\left( {\text{t}} \right) * {\text{d}}\left( {\text{t}} \right) + {\text{S}}\left( {\text{t}} \right) *\theta * {\hat{\text{R}}}\left( {\text{t}} \right)$$
(17)

Parameter \(\theta \in \left[ {0,1} \right]\) expresses the mean-reversion speed, controlling the speed with which the process reverts to the time-of-day-specific mean price or return patterns. A mean-reversion speed of \(\theta = 1\) implies complete mean reversion during one time increment. In contrast, \(\theta = 0\) implies no mean reversion.

Additionally, we model the strike price \({\text{X}}({\text{t}})\) as the (time-dependent) opportunity costs of exercising the option during the flexibility window before the deadline. Hence, \({\text{X}}({\text{t}})\) depicts the expected cloud spot price if the customer were to wait until the obligatory purchase in \({\text{T}} + 1\), i.e., \({\text{X}}\left( {\text{t}} \right) = {\text{S}}({\text{T}} + 1)\). The deferral option can therefore be interpreted as an option to buy before the individual deadline at relevant opportunity costs \({\text{X}}\left( {\text{t}} \right)\). At every decision node in the tree, we compute \({\text{X}}({\text{t}})\) as follows (for, respectively, the mean prices and the returns):

$${\text{X}}\left( {\text{t}} \right) = {\text{S}}\left( {\text{t}} \right) + \theta *\left( {{\hat{\text{S}}}\left( {{\text{t}} + 1} \right) - {\text{S}}\left( {\text{t}} \right)} \right) + \cdots + \theta *\left( {{\hat{\text{S}}}\left( {{\text{T}} + 1} \right) - {\text{S}}\left( {\text{T}} \right)} \right)$$
(18)
$${\text{X}}\left( {\text{t}} \right) = {\text{S}}\left( {\text{t}} \right) + \theta * {\text{S}}\left( {\text{t}} \right) * {\hat{\text{R}}}\left( {\text{t}} \right) + \cdots + \theta * {\text{S}}\left( {\text{T}} \right) * {\hat{\text{R}}}\left( {\text{T}} \right)$$
(19)

Technically, common option pricing approaches assume a constant strike price and ROA literature has been criticized for violating this assumption (Ullrich 2013). Fridgen et al. (2016) therefore keep the strike price constant; however, they sacrifice savings by not allowing an update of the strike price when receiving new market information. If the strike price can develop stochastically, an option pricing approach must explicitly take the relevant process for deriving the option’s value correctly into account. The following reasoning allows us to apply a valid stochastic process for the strike price: As the strike price only depends on one stochastic factor \({\text{S}}\left( {\text{t}} \right)\), we obtain exactly one value for \({\text{X}}\left( {\text{t}} \right)\) at each decision node in \({\text{S}}\left( {\text{t}} \right)\)’s binomial tree. Note that our definition of opportunity costs \({\text{X}}\left( {\text{t}} \right)\) does not comprise a further inconvenience regarding the customer’s willingness to defer the purchase of cloud services, but only takes cost differences into account due to the volatile spot prices and the individual flexibility window.

Table 1 summarizes all the real options approaches that we adapt, apply, and compare.

Table 1 Real options approaches applied to schedule flexible demand in cloud spot markets

When one applies Cox et al.’s (1979) and Tian’s (1993) traditional approaches, determining the optimal point in time to purchase cloud services is trivial. Following established option pricing theory, by early exercising American call options on underlying assets that pay no dividends (in our case, that do not consider the time-of-day-specific patterns) cannot be optimal (Hull 2014; van Hulle 1988). The same would apply to continuous-time models, such as those of Black and Scholes (1973). Both approaches would therefore not early exercise the option, but instead wait until \({\text{t}} = {\text{T}}\) to decide to either purchase at that time [at a price \({\text{S}}({\text{T}}\))] or to wait for the deadline at \({\text{t}} = {\text{T}} + 1\) to purchase at a price \({\text{S}}({\text{T}} + 1)\).

In addition to our real options approaches, we apply naive expectation optimization to test Hypothesis 2. In \({\text{t}}_{0}\), naive expectation optimization compares the currently observable price information with the expected prices in each upcoming time step in the flexibility window. The expected prices equal the historically recorded mean prices at the relevant time of day. Expectation optimization suggests that in order to purchase cloud services, customers should choose the time with the lowest expected spot price. Compared to our real options approaches, this naive approach does not consider return volatilities.

5 Evaluation and Sensitivity Analysis

Simulations are a rigorous evaluation technique (Gregor and Hevner 2013). We therefore conducted historical simulations on our EC2 dataset (Sect. 3) to evaluate our approaches regarding their suitability to quantify and exploit the monetary value of short-term temporal flexibility in cloud computing demand. We implemented our approaches by means of Microsoft Excel with Visual Basic for application macros and performed statistical tests in R. In randomly assembled scenarios that could have occurred in the past, we analyzed how well our approaches would have realized spot price savings. Our macros followed the following steps in each simulation run:

  1. 1.

    Select an approach (cf. Table 1 or naive expectation optimization).

  2. 2.

    Select a random date and time of day from the historical time series as the starting point (between January 1, 2015 and December 30, 2016).

  3. 3.

    Select a random temporal flexibility window \({\text{TFW}} \in \{ 1,2, \ldots ,12\}\) [increments]. Initially, the increment length \({\text{IL}}\) (i.e., the time between two decision nodes) was constant at \({\text{IL}} = 60\) [min].

  4. 4.

    For real options approaches with the time-of-day-specific patterns: Select a random mean-reversion speed \(\theta \in \left\{ {0, 0.25, 0.5, 0.75, 1} \right\}\) and a reference timespan \({\text{RTS}} \in \{ 7, 30, 60, 90\}\) [days]. From the chosen starting point in time (2.), look back \({\text{RTS}}\) days in the past to build expectations of the time-of-day-specific price (or return) and the volatility patterns.

  5. 5.

    Run the specific approach’s algorithm.

  6. 6.

    After termination (i.e., after the purchase of cloud services), compare the purchase price to the spot price \({\text{S}}_{0}\) that was viable at the beginning of the \({\text{TFW}}\), and which a purchase without temporal flexibility would have realized. Compute the realized absolute and relative savings. With this information, divide the realized absolute savings by the maximum possible absolute savings within the TFW (which the algorithm would have obtained if perfect information were available), in order to compute the exploitation of the existing savings potential.

We distinguish two types of parameters: exogenous (scenario) and endogenous (model) parameters. \({\text{IL}}\), \({\text{TFW}}\), and starting time are exogenous parameters drawn to construct a simulation scenario. In contrast, approach selection, \({\text{RTS}}\), and \(\theta\) are endogenous parameters. Both parameter types differ in the cloud customers’ possibility to freely select endogenous parameters, although they might not be able to influence the exogenous parameters. Hence, in order to maximize their savings, cloud customers try to select endogenous parameters optimally. We conduct and analyze the results of six million simulation scenarios, one million for each approach, which approximates the maximum number of rows in our Microsoft Excel worksheets. Since Cox et al.’s (1979) and Tian’s (1993) traditional approaches optimize identically (cf. Sect. 4.3), we summarize both models in one approach. Table 2 depicts our results.

Table 2 Evaluation results of applied approaches before and after configuration of endogenous model parameters

Overall, the results favor Hypotheses 1 and 2. More precisely, statistical two-sample t tests indicate maintaining the null hypothesis that, after configuration, approaches I–IV yield superior averaged relative savings and exploit more savings potentials than the traditional approaches (V) and the expectation optimization (VI). In contrast to approaches I–IV, V does not model mean reversion, approach VI does not model volatility, and approaches V and VI are impossible to configure without parameters \(\theta\) and \({\text{RTS}}\).

In respect of arbitrary random parameters, Table 2 illustrates that approaches II and IV yield superior averaged savings compared to approaches I and III. However, as this relationship reverses when configuring all four approaches with optimal \(\theta\) and \({\text{RTS}}\), the performances of approaches I and III are comparatively more dependent on their parameters. In Fig. 3, we show how the averaged relative savings reacted to altering parameters (univariate sensitivity).

Fig. 3
figure 3

Univariate parameter sensitivity of averaged relative savings for approaches I–IV

Figure 3 indicates that the performance of approaches I and III depends significantly on the selection of \(\theta\) and \({\text{RTS}}\). More precisely, the performance depends strongly on recent historical price information (shorter \({\text{RTS}}\)), which indicates fast changing price levels in our EC2 dataset. Moreover, since a higher θ improves the results significantly, historical price information seems to be a valuable predictor. The performance of approaches II and IV also depends significantly on the \({\text{RTS}}\) selection. As a longer \({\text{RTS}}\) is optimal in this case, our dataset shows slower changing return levels than price levels. The insignificance of \(\theta\) indicates that relative savings depend less on the approaches’ capability to predict the time-of-day-specific return levels. A longer \({\text{TFW}}\) increases the option values by increasing the action flexibility (Hull 2014), which is in line with common option pricing theory. Figure 4 uses histograms to illustrate these four approaches (after configuration with optimal parameters).

Fig. 4
figure 4

Histograms of relative savings for approaches I–IV with optimal θ and RTS

Figure 4 indicates that modeling time-of-day-specific price patterns instead of returns patterns is preferable (but only when configuring these models). According to Table 2, applying approaches following Tian (1993) instead of those following Cox et al. (1979) is preferable, although not statistically significantly. The Tian (1993) approaches may be slightly better performing due to the increasing accuracy of their convergence toward the Black–Scholes model (cf. Section 4.1). The better performance of modeling time-of-day-specific price patterns indicates that historical price information is a better estimator of spot price development over a few hours than return information. However, as approaches I and III’s performances decline strongly with longer \({\text{RTSs}}\), this relation might reverse with longer \({\text{TFWs}}\) (e.g., several weeks). Future research could analyze this hypothesis.

Finally, we run another one million simulated scenarios to test approaches I–IV’s sensitivity to \({\text{IL}}\). We therefore randomize \({\text{IL}} \in \{ 30,60,120,180\}\) [min], while we keep \({\text{TFW}} = 6\) h (a multiple of all \({\text{IL}}\)) and the unconfigured parameters. Figure 5 shows that longer \({\text{ILs}}\) tend to yield lower averaged relative savings. This observation is plausible, as a longer \({\text{IL}}\) within a constant \({\text{TFW}}\) reduces the number of decision nodes in the binomial tree and, therefore, the action flexibility to react to short-term spot price development.

Fig. 5
figure 5

Univariate sensitivity of averaged relative savings to interval length for approaches I–IV

6 Discussion

Our evaluation results could lead to the assumption that an extension of the Tian (1993) model with a mean reversion to time-of-day-specific price patterns is preferable. Such a generalized assumption is not, however, valid, because our results are strongly dependent on our dataset of a single Amazon EC2 spot instance in a specific location, and on our chosen simulation parameters. We actually evaluated representative scenarios and parameter sets to demonstrate that ROA can be a suitable decision support method when customers, given their temporal flexibility and the uncertain spot price development, wish to purchase cloud services at minimal costs.

As a measure of uncertainty, volatility increases a real option’s value (Hull 2014). Lower volatility decreases temporal flexibility’s value, because it lets one expect fewer savings from spot price movement. When applying ROA to our EC2 dataset, we observed that its return volatilities yielded rather low savings. More precisely, our configured approaches I–IV’s relative savings averaged about 1.5 percent. However, this is already equal to exploiting about 40 percent of the existing savings potential (on average, cf. Table 2).

Nonetheless, our results are especially relevant for the following three reasons: First, cloud services are becoming cost-intensive for many companies. For example, if Snap Inc., which recently announced that it would spend $2 billion on Google cloud services over a 5-year period (US SEC 2017), achieved realizable savings of 1.5 percent, this would amount to an absolute amount of $6 million per year. Second, other cloud spot instances exhibit higher return volatilities (Ekwe–Ekwe and Barker 2018) and, therefore, higher savings potentials than the one referred to in our dataset. Future research should therefore analyze and compare different cloud spot instances to identify promising application scenarios for our ROA. Third, we expect the return volatilities in multiple cloud spot markets to increase in the future, because the rapid standardization of cloud services should liberalize the market structures further. More cloud providers offering spot prices should also increase the competition and liquidity on the supply side. On the demand side, recent trends like cloud bursting, which prevents peak load in companies’ data centers by adding external cloud resources (Lilienthal 2013), will increase demand for cloud services. The latter will lead to trading volumes growing, which will, in turn, increase the return volatility (Wang and Yau 2000).

If cloud customers intend to apply our ROA algorithms within, for instance, their batch job schedulers, they need to identify suitable computation jobs for deferral (e.g., training machine learning models). Moreover, job schedulers must integrate the relevant cloud service provider’s API (e.g., Query API for Amazon EC2, or the AWS SDKs) to automatically compare spot prices and the job backlog. This approach takes the boundary conditions of cloud service providers’ customers, such as the service level agreements with their own customers, into consideration, which allows them to optimally decide which jobs to outsource to their provider and at what time.

Furthermore, beside to AWS, our ROA is transferable to emerging cloud spot markets: Recently, the Deutsche Börse Cloud Exchange, the Cloud Commodities Exchange Group, and the Massachusetts Open Cloud Exchange have initiated market places that provide spot prices. One could also apply our ROA to other domains, such as electricity and surge pricing, as long as some time-of-day-specific spot price patterns reoccur: Since we build on Fridgen et al.’s (2016) approach, electricity market researchers could inversely utilize our approaches. Surge pricing has also seen the first research on price forecasting (e.g., Laptev et al. 2017).

Cloud providers too can benefit from customers applying our approaches. They could, for instance, categorize spot instance bidders into more and less flexible customers. Flexible customers contribute to an improved server utilization (i.e., less idle resources), as they can “smooth out some of the computation requests with monetary incentives and lead to a more efficient use of Cloud infrastructure” (Li et al. 2016b, p.  7). According to Zhang et al. (2014), this more efficient resource allocation leads to higher provider revenue than fixed-price cloud services, which might be a competitive advantage in the market. To stimulate this benefit, providers could develop business models and provide cloud customers with dedicated decision support tools. However, flexible customers are more likely to avoid providers’ price peaks, which may lead to a slight decline in the provider revenue, but could result in higher earnings due to the lower overall costs. Subsequent research could analyze these incentives for cloud providers to support or impede flexible cloud customers.

7 Conclusion, Limitations, and Future Research

The rapid standardization and specialization of cloud computing services have led to the development of cloud spot markets on which cloud service providers and customers can trade in near real-time. The frequent changes in demand and supply give rise to spot prices that vary considerably throughout the day. Depending on the category of a service request, cloud customers often have temporal flexibility to execute their jobs. We apply ROA to the domain of cloud computing spot prices to quantify and exploit the monetary value of short-term temporal flexibility in cloud computing. We adapt different ROA approaches that, at consecutive points in time, decide whether to purchase cloud services immediately or to defer purchase. In our analysis of real-world data from an Amazon EC2 spot instance, we identify time-of-day-specific price patterns. Adapting existing ROA approaches to these patterns, we demonstrate the benefits of such approaches for cloud customers.

Our modeling approaches have technical limitations that subsequent research could address. First, we assume a normal distribution of returns, which does not necessarily hold true for cloud spot prices. Second, anomalies such as technical issues at the cloud provider might cause immediate and unpredictable price movements (spikes) that our stochastic process cannot predict. Third, for reasons of complexity, we limit our research to discrete-time models, although analytical approximations of or numerical solutions for continuous-time models and decision making would offer more action flexibility. Fourth, we limit our discrete-time models to extensions of Cox et al.’s (1979) and Tian’s (1993) approaches.

Besides temporal flexibility, cloud customers could also exploit their spatial flexibility, as cloud spot prices still lack liquidity and are not necessarily arbitrage-free given the different providers and locations (Cheng et al. 2016; Fridgen et al. 2017). Further influencing factors, such as the home bias, amplify arbitrage opportunities, which cloud customers could seize by buying and selling cloud capacity. Future research could therefore integrate the optimization of temporal and spatial flexibility.

Cloud customers, service providers, and scholars may embed the proposed ROA in their decision support systems to optimize the execution of variable-time requests in cloud spot markets. This novelty has the potential to not only generate monetary benefits, but to also increase cloud spot markets’ adoption.