The present disclosure relates generally to computerized management tools and methods for optimally distributing enterprise resources among geographically distributed employees.
Enterprise leaders consistently identify “attracting, retaining, and developing talent” as a priority, as well as a top business challenge for the future. Enterprises recognize that success often depends on having the right people, in the right place, at the right time, and for the right cost. The ability to anticipate and rapidly respond to changing workforce needs, and to optimally allocate resources to members of an enterprise to meet those needs, takes on increased importance in the dynamic global economy of today.
Employee managers hold a unique responsibility of engaging current and prospective employees to help develop these individuals into valuable assets with an ideal set of experiences and capabilities, while only expending a limited amount of available resources. In large, geographically distributed organizations, managers often face the uphill tasks of collecting data about employees in order to make strategic recommendations relating to the distribution of resources that align with the business's global strategy. While retaining and promoting talented employees is a top priority, many organizations find it challenging to strategically allocate resources to their workforce in a manner calculated to achieve optimal returns on the enterprise's investment. The pace of change within economies, industries, and organizations continue to accelerate, while labor markets continue to become more competitive, more global. As the workforce continues to become more diverse in terms of its demographics, expectations, and goals, the allocation of enterprise resources becomes more difficult to manage and to anticipate the optimal return on a resource's investment.
A first embodiment of the present disclosure provides a method for optimizing an allocation of enterprise resources, said method comprising the steps of: receiving, by the computer processor, a set of employee data from one or more data sources; identifying, by the computer processor, as a function of the set of employee data, a state of an employee; generating, by the computer processor, a probability of the employee transitioning from the state of the employee to a different state as a function of a selected employee action having a reward value; calculating, by the computer processor, as a function of the probability, an optimal employee action wherein the optimal employee action yields an optimal reward; computing, by the computer processor, an index value and cost pair for the selected action, wherein the index value is reduced until the index value multiplied by the reward value renders the selected employee action as the optimal employee action; transmitting, by the computer processor, the index value and the cost pair to a central node; receiving, by the computer processor, an index threshold value from the central node, wherein the index threshold value is calculated as a function of the index value and cost pair transmitted to the central node; and comparing, by the computer processor, the index value of the selected employee action with the index threshold value.
A second embodiment of the present disclosure provides a computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by the one or more computer processors to implement a method for optimizing an allocation of enterprise resources, said method comprising the steps of: receiving, by the computer processor, a set of employee data from one or more data sources; identifying, by the computer processor, as a function of the set of employee data, a state of an employee; generating, by the computer processor, a probability of the employee transitioning from the state of the employee to a different state as a function of a selected employee action having a reward value; calculating, by the computer processor, as a function of the probability, an optimal employee action wherein the optimal employee action yields an optimal reward; computing, by the computer processor, an index value and cost pair for the selected action, wherein the index value is reduced until the index value multiplied by the reward value renders the selected employee action as the optimal employee action; transmitting, by the computer processor, the index value and the cost pair to a central node; receiving, by the computer processor, an index threshold value from the central node, wherein the index threshold value is calculated as a function of the index value and cost pair transmitted to the central node; and comparing, by the computer processor, the index value of the selected employee action with the index threshold value
A third embodiment of the present disclosure provides a computer system, comprising one or more processors, one or more memories coupled to the one or more computer processors, and one or more computer readable storage devices coupled to the one or more processors, said one or more storage devices containing program code executable by the one or more processors via one or more memories to implement a method for optimizing an allocation of enterprise resources, said method comprising the steps of: receiving, by the computer processor, a set of employee data from one or more data sources; identifying, by the computer processor, as a function of the set of employee data, a state of an employee; generating, by the computer processor, a probability of the employee transitioning from the state of the employee to a different state as a function of a selected employee action having a reward value; calculating, by the computer processor, as a function of the probability, an optimal employee action wherein the optimal employee action yields an optimal reward; computing, by the computer processor, an index value and cost pair for the selected action, wherein the index value is reduced until the index value multiplied by the reward value renders the selected employee action as the optimal employee action; transmitting, by the computer processor, the index value and the cost pair to a central node; receiving, by the computer processor, an index threshold value from the central node, wherein the index threshold value is calculated as a function of the index value and cost pair transmitted to the central node; and comparing, by the computer processor, the index value of the selected employee action with the index threshold value.
Embodiments of the present invention enable computing systems, methods and tools for managing and optimizing the allocation of resources available to large scale and geographically dispersed enterprises. Embodiments of the present disclosure may be implemented for managing resource allocation, including but not limited to management of monetary compensation, training and allocation of a limited number of promotions. The resource management tools of the present disclosure may automate employee management decisions of resource allocation, in an effort to align management decision making on a local level with the goals of the geographically dispersed enterprise, in order to receive optimal returns on the enterprise's investment of resources. The embodiments of the computing systems, tools and methods, utilize both subjective and objective input data at a local level, provided by local employee managers, to improve and automate decision making policies for the distribution of resources, while allowing for the enterprise to have the ability to adjust resource distribution in response to dynamic changes in worldwide economies, and the enterprise's overall business strategy.
Embodiments of the present invention may evaluate each employee, on an employee by employee basis to determine the relative life time value of each employee to the enterprise. The relative life time value may be measured in the form of an index value. Embodiments of the present invention evaluate the employee's current state and predict the employee life time effects of investing resources in the employee. In particular, embodiments of the invention may evaluate the effects of investing resource in an employee, measure the positive or negative transitions in the employee's state and determine whether allocating limited resources to a particular employee would be the most beneficial use of the enterprise's resources.
The measurement of the effects on a particular employee's state and the transition to a different state that may result from resource allocation, may be predicted using historical data from past and present employees having a state similar to the state of the particular employee being evaluated. From the historical employee data, and the use of predictive modeling, embodiments of the current invention may identify the employees that will predictively benefit the enterprise the most from the investment of limited resources and indicate to the employee managers of the enterprise, the optimal actions the employee manager should employ for each employee (if any actions at all) to meet the dynamic goals of the enterprise in an optimized manner.
The relative value of each employee to the enterprise may be calculated at the local level and presented in the form of an index value. The index value for each employee may indicate the overall benefits the enterprise may receive from a particular employee by implementing a particular action that may cost resources (such as promotion, increased compensation, upskilling or cross-skilling). Each employee's index value and an associated cost pair may be transmitted to a central node for computation on an enterprise wide level.
The index value and cost pair may reduce the number of calculations and predictions that may need to be performed by the central node. Instead of having to make predictions for each and every employee at a centralized location, which may include hundreds of thousands of employees, the computing systems, management tools and methods, improve hardware and software capabilities of the enterprise by enabling the enterprise to optimize the allocation of resources to employees predicted to provide the best return on the resource investment. The optimization of the resource allocation may occur by setting an index threshold that will limit the number of employee actions taken by local managers, to those employee actions that will return the highest amount of benefits to the enterprise at the global level.
Referring to the drawings,
In some embodiments, the computer network 7 may be a cloud computing network operating under a cloud computing environment 50 (as shown in
Characteristics of a cloud computing environment may include on-demand self-service, broad network access, resource pooling, rapid elasticity and measured service. The term “on-demand self-service” may refer to a characteristic of a cloud computing environment that may allow a tenant of the cloud environment to unilaterally provision computing capabilities, such as server time and network storage, as needed, automatically without requiring human interaction with the owner of the cloud environment.
“Broad network access” may refer to the capabilities available over the network which may be accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
“Resource pooling” may refer to the tenant's computing resources being pooled to serve multiple tenants using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the tenant may generally have no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).
“Rapid elasticity” refers to capabilities of the cloud network to rapidly and elastically provision, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the tenant, the capabilities available for provisioning may appear to be unlimited and can be purchased in any quantity at any time.
“Measured service” may refer to cloud systems being able automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.
The service models for a cloud computing environment may include Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS). Software as a Service (SaaS) refers to the capability provided to the tenant to use the service provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The tenant does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.
Platform as a Service (PaaS) refers to the capability provided to the consumer to deploy onto the cloud infrastructure tenant-created or acquired applications created using programming languages and tools supported by one or more service providers. The tenant does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations. In contrast, Infrastructure as a Service (IaaS) refers to the capability provided to the tenant to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The tenant does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).
Deployment models of a cloud computing environment such as the one depicted in
A “public cloud” deployment model may refer to cloud infrastructure that is made available to the general public or a large industry group and is owned by an organization selling cloud services to one or more tenants. A “hybrid cloud” may refer to cloud infrastructure that is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).
A cloud computing environment may be considered service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing environment may be an infrastructure comprising a network of interconnected nodes. Referring now to
Referring now to
Hardware and software layer 60 includes hardware and software components. Examples of hardware components include: mainframes 61; RISC (Reduced Instruction Set Computer) architecture based servers 62; servers 63; blade servers 64; storage devices 65; and networks and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
Virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers 71; virtual storage 72; virtual networks 73, including virtual private networks; virtual applications and operating systems 74; and virtual clients 75.
The management layer 80 may provide the functions described below. Resource provisioning 81 provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing 82 provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may comprise application software licenses. User portal 83 provides access to the cloud computing environment for consumers and system administrators. Service level management 84 provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment 85 provides pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA. Identity verification 86 verifies the permission granted to customers and/or service providers to access to network based resources and perform tasks in the cloud based environment 50.
Workloads layer 90 provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation 91; software development and lifecycle management 92; virtual classroom education delivery 93; data analytics processing 94; transaction processing 95; and the resource management tool 96.
In the present disclosure, the resource management tools of workload 96 may implement methods for allocating enterprise resources by automating employee management decisions and further improving the computing system's hardware capabilities by making management decisions in the cloud computing environment, having multiple computing nodes, rather than focusing the management decisions at a single, central node. Subsequently, aggregating simplified index/cost values identifying the relative values of each employee, to a centralized piece of hardware such as the mainframes 61, RISC (Reduced Instruction Set Computer) architecture based servers 62, servers 63, or blade servers 64, in order to perform an enterprise wide calculation that optimizes the distribution of resources at the local level by each of managers in charge of implementing employee actions, as described in detail below.
Referring to the drawings,
The employee data collected from the data sources may be available to the resource management tools through locally accessible data sources or data sources available to the management tools as part of the computer network 7. Data sources may include data and metadata, from both publicly available and private structured files, unstructured files, databases, data sets, data sheets, spreadsheets, XML files, flat files, computer logs, network performance logs, search engine logs, social media, data marts, data warehouses, web sites and web services and any other data source known in the art, especially any data sources that provide historical data relating to employees of the enterprise, both past and present and one or more objective or subjective attributes of said employees.
The information available from the data sources may include information relating to the employees attributes, such as the employee's productivity, efficiency, education, expertise level, relative wage level, current compensation received, length of time retained by the enterprise and any other objectively calculated attribute of an employee. In addition to objective criteria, the resource management tools may further collect employee data that may subjectively describe the employee. Subjective employee data may include opinions relating to employees such as performance reviews, manager feedback, peer evaluations from fellow employees, and complaints or compliments received by the enterprise from fellow employees or customers.
In step 405, the resource management tools may identify the employee's current state by comparing the attributes of the employee's profile with employee profiles having substantially similar attributes. The “state” of an employee may refer to the collection attributes associated with an employee at a particular moment in time. Employees may be considered to have the same state, when the attributes of each employee are substantially similar overall. In some embodiments, the employee's state may be identified by applying a quantization/clustering algorithm model to employee's profile. The quantization/clustering algorithm may compare the attributes of the employee with the attributes of other past and present employees and then organize the employee profiles into groups based on the similarity of attributes.
Clustering/quantization algorithms may generally be directed toward models that organize data into a centroid based and hierarchal structure. Clustering/Quantization models may use inherent structures of the data (in this case, the employee attributes) to organize the data into groups that have the maximum amount of commonality within the groups and the maximum amount of differences between groups. In some embodiments the clustering/quantization models and algorithms may be integrated as a built in function of the resource management tools. In other embodiments, the clustering/quantization models may be part of an analytics engine, loaded into a resource management system as a separate module, integrated into the hardware or software of the computer network 7 or cloud computing network 50. In alternative embodiments, the clustering/quantization models and calculations may be performed by a separate dedicated computing system on the network of the enterprise.
As a result of the resource management tools identifying the current state of an employee, the resource management tools can make assumptions about an employee, based on the attributes associated with the particular state and the historical data of other employees who are currently or have previously been part of the same state.
Over the course of time, an employee's attributes may change enough for the employee to move from one state to another state. For example, a shift or change in attributes may occur as the managers of an enterprise invests resources in an employee by applying one or more particular employee actions to the employee during their time at the enterprise. As a result of the resource allocation in the employee, the employee may increase their skill level, wage index, education, or other employee attributes, causing their present state to transition to a different state. As an employee's state changes, the employee may be seen as more or less valuable to the enterprise.
To improve the predictive capabilities of the resource management tools, an employee state may not only be identified through comparisons between attributes of with present employees, but the comparison may also include historical data of enterprise employees who were previously part of the same employee state as the employee being evaluated by the resource management tools. The attributes and state information about employees from historical data may be particularly useful for determining how an employee, presently assigned to a current state, may transition from the current state to a another state. Along with the transition, the enterprise may determine the benefits that may be bestowed upon the enterprise as a result of this transition and the enterprise may determine whether investing resources to influence the transition to occur is worth the investment.
In step 407, the resource management tools may analyze the historical data to compute the probability that a particular allocation of resources by the enterprise will produce a transition from a current employee state to a different employee state, as a function of an employee action being taken by the managers of the enterprise. Each of the calculated probabilities may be tied to a specific employee action taken by the enterprise, which may have a different probability of transitioning the employee to a different state. Employee actions may include a change in compensation (increase or decrease), a promotion, up-skill training and/or cross-skill training. The phrase “up-skill training” may refer to teaching the current employee a new skill that may expand the employee's capabilities within the employee's current job functions. Cross-skill training on the other hand may refer to training an employee in a skill that is tangentially related to the current job functions of the employee.
In step 503, the resource management tools may retrieve, or download an employee dataset attached to the specific employee id selected in step 501, from the one or more data sources. In some embodiments, the employee dataset retrieved may be an employee profile, such as the profile described above having employee attributes described therein. The resource management tools may, in step 505 input the dataset for the particular employee into the analytics module and subsequently, the analytics module receiving the dataset input may compare the dataset and the employee attributes of the data set with other known employee datasets in order to identify similar employees of the same state having substantially similar employee attributes. In step 507, the resource management tools may receive an identification and confirmation of the state in which the employee s belongs to.
Once the state for the specific employee has been identified, in step 509, the resource management tools may calculate the probabilities of a transition occurring based on the implementation of hypothetical employee actions. The probabilities of a transition of an employee state occurring may be calculated by applying a Markov Chain estimation for the selected employee. A Markov Chain estimate may refer to a stochastic model that predicts the probability that a random process may undergo a transition from one state to another state. In Markov Chain estimation, the probability distribution may be dependent only on the current state of the employee and the sequence of events preceding the current state.
Using the employee attribute data and the historical information of the employee's current state, embodiments of the resource management tools in step 511, may perform, via the analytics engine, the Markov Chain Estimation. Embodiments of the resource management tools may subsequently receive from the analytics engine the resulting series of probabilities forecasting the likelihood that the selected employee of interest may transition from the present state, having a particular set of attributes, to a different state having a differing set of employee attributes, as a result of the resource management tools performing one or more employee actions.
In step 513, embodiments of the resource management tools that receive the probabilities from the analytics engine in step 511, may adjust the Markov probabilities on an employee by employee basis. For instance, in some embodiments, the resource management tools may adjust the probabilities based on subjective feedback. Subjective feedback that may be used to adjust the probabilities may include employee performance reviews, peer reviews or customer feedback. In alternative embodiments, the probabilities may be adjusted to account for local market data including supply trends, demand trends, wage trends, and the expectation that certain sectors of the economy may be profitable or disposable.
In step 515, the resource management tools may generate, update and/or store the probabilities calculated by the Markov Chain Estimation, as a probability table. The probability table may be saved to the employee data set, and may be recalled at a later point in time to predict the influence of future employee actions, and the state transitions that may result. Table 1 below is an example of a probability table that may be generated by the resource management tools, wherein the State transition models calculate the probability “P”, of an employee transitioning from a present state “s” as a function of the action “a” to a different state, such as state s′, s″, s′″, etc. It should be noted that Table 1 is a hypothetical set of probabilities and that the table may differ from employee to employee as well as with time due to evolving market conditions, even with employees that may classified as having the same current state.
Referring to Table 1 above, the function P(s′|s,ai) calculates the probability that the selected employee may transition from current state, s, to a second state, s′. As shown above, the probability of entering a different state from the present state may depend on the hypothetical action (ai), requiring a proposed allocation of enterprise resources in order to be performed by the resource management tools. For instance, looking at Table 1 above, the probability that a particular employee may transition from the present state, s, to a different state, s′ when action a1 is performed is 0.5, or 50%. Action a1 for example may be the allocation of a promotion to the employee to a more senior position. Because only a limited number of promotions may be provided in any particular time period, the promotion may be considered a resource being allocated and consumed by the enterprise. However, if the promotion action, a1, is applied to the current employee example in Table 1, there is a 30% chance that the employee may transition to state, s″ and a 20% chance that the employee may transition to state, s′″. Each state may have a distinct set of employee attributes that may differ from the employees of the other states.
Depending on the attributes acquired by transitioning from the current state, “s”, to a second state, s′, s″ or s′″, the transition may be perceived by the enterprise as beneficial and may have a calculable amount of benefits to the enterprise as a return on the enterprise's investment of resources associated with performing a specific action (such as promoting) the selected employee. However, using the promotion of the exemplary employee as an example, there may only be a limited number of employee promotions that may be allocated by the pool of limited enterprise resources. The resource management tools not only predict the probabilities of transitioning the employee of Table 1, to a more beneficial state for the enterprise, but this calculation is repeated for each employee to identify the probabilities of other employees of the enterprise transitioning to a more beneficial state as well, in order to calculate which promotion action (or any employee action), from the limited number of available resources would benefit the enterprise the most.
Likewise, not only may the resource management tools calculate the probabilities that an employee may transition to a different state, via the employee action selected, but a separate set of state transition probabilities may be possible when a different employee action is selected. For instance, as noted above in Table 1, there was a 50% probability that an employee would enter transition from the current state, s to s′ state when action a1 was applied. However, if the enterprise implemented action a2, there would only be a 10% chance that the employee would transition from the present state, s to s′. Instead it would be more likely a probability that if the action a2 was applied, for example, increasing employee compensation by 5%, then there would be a 70% chance that the employee would transition from state, s to s″. The determination of whether to promote an employee using action a1 or to simply increase the compensation of the employee may depend on whether the enterprise considers s′ or s″ states to be more beneficial. For instance, if it is cheaper to increase compensation by 5% than to promote and s″ is a more beneficial state, the enterprise may determine that action a2 would be the more valuable action to implement for the particular employee of the examples above.
Based on the probabilities generated by the state transition models, using Markov Chain Estimation, embodiments of the resource management tools may predict the optimal actions for the particular employee, in order to identify the action that would yield the optimal allocation of resources. Namely, embodiments of the resource management tools determine the relative value of allocating resources to an employee through the implementation of an employee action, compared with the relative values of applying the resources to other employee actions, calculating the benefits received by performing the particular employee action and determining whether the resources may be more efficiently spent on other actions that may be less costly, or achieve greater benefits.
Embodiments of the resource management tools may utilize complex probability tables to chart the diverging paths and possibilities that an employee's career may follow from the present state, up to a specified point in time. The charting of a career path may be used by the resource management tools to estimate the long, mid and short term benefits of allocating resources in a particular manner to an employee. The resource management tools may be able to predict between 1 and 30 or more years into the future, depending on the amount of employee data that may be available. As the amount of employee data available to the resource management tools increases, the accuracy of predictions and the distance into the future that predictions may be made may also increase. The plotting of an employee's career path along multiple, alternative, diverging paths may assist the managers and the enterprise by visualizing the effects various employee actions may have on the employee's development, employee life time value, and the transitions of the employee from one state to another.
In step 409, embodiments of the resource management tools may calculate and select an optimal employee action and optimal reward, from the predicted career path of the employee using the generated probability tables and the calculable benefits associated with transitioning the employee from one state to another.
Embodiment of the method described in
In step 601, embodiments of the resource management tools may select an initial employee id, the employee's present state and a first employee action that may be evaluated by the resource management tools. In step 603, the resource management tools may apply the historical data model to the selected employee action for the selected state at the current time period, and predicting a resulting employee life time reward value for the selected action. The resource management tools use the historical data for the particular employee state to predict, the life time reward that will be received as a result of performing the selected employee action. The historical information includes data of all the employees of the current state, that have or had similar attributes to the currently selected employee. The analytics engine of the resource management tools may use the historical data of the current state to predict the impact of each selected action on the selected employee by comparing the effects that the same action had on other employees of similar attributes within the same state and the benefits obtained by the enterprise.
Once the projected benefits to the enterprise has been calculated by the resource management tools in step 603, the benefit value may be adjusted using subjective employee data to compensate for individual anomalies that may make the selected employee more or less valuable based on the employees individual attributes and positive or negative reviews by the employee's peers or managers, which may positively or negatively impact the overall benefit calculation.
Examples of subjective employee data that may impact the adjustment of the enterprise benefit calculation in step 605, may include managerial feedback, performance reviews, peer reviews, etc. The predicted benefit for the selected employee action may, in step 607, be saved by the resource management tools in a dataset. The dataset with the reward value saved thereto, may further include additional identifying data regarding the selected employee, including, but not limited to the employee's id, the employee action taken, the state of the employee and/or attributes of the employee and a time period of the employee action.
Embodiments of the resource management tools may identify benefit values based on numerous possible pathways that may result from the manager's selection of an employee action. Embodiments of the resource management tools may account for every possible employee action that may occur within a time period, and within a particular state. Accounting for each possible outcome in an employee's career may be especially difficult when transitions to a different state are possible as a result of an employee action at a particular point in time. To account for such a large amount of variability, embodiments of the resource management tools may perform a determination at step 609. At step 609 embodiments of the resource management tools may determine whether or not the resource management tools have calculated each possible employee action and said employee action's benefit, within a particular time period.
If, at step 609, the resource management tools identifies that the reward value for every possible action at a particular time period has not been calculated, the resource management tools may proceed to step 611 and select the appropriate state. The appropriate state may be the same state as the first calculation described above for step 601, or a different state may be selected if, there is a probability that during the time period of interest, an employee action may have been applied to the selected employee that would have transitioned the employee to a different state.
After the appropriate state has been selected, in step 613 the next employee action may be selected for evaluation (e.g. promotion, increased compensation, upskilling, cross skilling etc.). The resource management tools may proceed back to step 603 and repeat the calculation steps 603, 605 and 607 for the selected state and employee action selected in step 611 and 613 respectively.
After each possible reward value has been calculated for each possible action, for each possible state an employee may be part of within a particular time period, the determination at step 609 may calculate that for the particular time period, each possible reward/action has been predicted. Accordingly, the resource management tools may subsequently determine in step 615, whether or there is historical data available for the next time period. As previously discussed above, the ability to predict an employee career path, may be limited to the amount of historical data available to the resource management tools, and the quality of the historical data. If, the resource management tools determine that there is sufficient data available to continue predicting the effects and rewards of employee actions applied to the selected employee in a time period that is further into the future, the resource management tools may proceed to step 617 and select the next available time period. Furthermore, the resource management tools may subsequently proceed to perform the actions of steps 611, 613, 603, 605, 607 and 609, until the resource management tools have predicted the effects of every employee action, for every probable state in the time period selected in period 617.
The resource management tools may continue to generate and save predicted outcomes and reward values for the selected employee until the resource management tools make the determination in step 615 that the resource management tools cannot predict the next subsequent time period based on the historical data available. Under such circumstances, where insufficient data is available to calculate an employee action result and reward for an employee action taken further into the future, the resource management tools may proceed to step 619.
In step 619, the resource management tools may compare dataset values for each of the reward values in step 607, wherein each of the data set values has a corresponding action taken, at a certain time period, within a state. Embodiments of the resource management tools may select the optimal employee action, yielding the maximum possible reward from the dataset in step 409.
Referring to the flow chart of
In step 703, the resource management tools may select an employee of interest from a plurality of the enterprise employees. The resource management tools may also select the state, “s”, an employee action “a”, having an associated cost and a corresponding reward value, “r”, which may be a function of the state and action and defined by the function “r(s,a).” In step 705, the resource management tools may select the optimal action having the maximum reward previously calculated in step 409. Subsequently, in the resource management tools in step 707 of the index calculation method may compare optimal action with the selected action. The resource management tools may make the determination in step 709 of whether the optimal action is the selected action. If in step 709, it is determined that the optimal action at the present state is not equal to the action selected, the resource management tools may proceed to step 713.
In step 713, embodiments of the resource management tools reduce the index value, λ, by the index adjustment value δ, to calculate a new index value for λ, wherein the new λ=λ−δ. In some embodiments, once the reduced index value λ is calculated, the resource management tools may calculate the optimal reward in step 715, described by the function R(s,a). The one period reward R(s,a) is equal to λ*r(s,a), wherein the one period reward is equal to the index value multiplied by the reward value of the selected action. In step 715, embodiments of the resource management tools are calculating the index value that makes the selected employee action optimal. As the index value changes, different actions may be considered the optimal action.
In step 717 of the method prescribed in
Referring to the drawings,
For example, an employee action such as increasing compensation may be more valuable in a short term or mid-term focus, but may not be nearly as valuable in a long term focus compared with a different employee action, such as a promotion action which may have a higher index value and reward value for a long term focus goal. When making automated decisions regarding the allocation of enterprise resources using the resources management tools, index values generated for each possible action may be taken into consideration along with the goals of the enterprise to determine optimal rewards based on both the time periods for the employee action as well as the rewards obtained between different actions.
Referring back to the flow chart in
The central node, receiving the transmission sent in step 413, not only receives the index values and cost pairs from one local or manager, who has calculated the index values of the manager's employees, but the central node also receives index values from every other manager of the enterprise transmitting local employee index values from a plurality of different nodes of the resource management network. The resource management tools loaded in the central node may receive the indices from every manager around the world, and proceed to calculate a single, globalized, index threshold. The index threshold value informs the localized managers whether or not the performance of a particular employee action, as a function of the index values would be the optimal allocation of enterprise resources. The index threshold value identifies to the local managers, that only employee actions having an index value that arises above the threshold are worthy of receiving enterprise resources. However, where an employee has multiple actions available that rise above the index threshold value, the enterprise will select the action with the lowest index value that is greater than the index threshold.
Likewise, sectors of the enterprise that may not be thriving under the current economic conditions may have the index values weighted in a manner that decreases the values by a particular rate. For example, to weight a particular region's index values, or the index values of a particular sector of the enterprise, in either the positive direction, the index values may be multiplied by a value greater than 1, whereas, conversely, a group of employees who the enterprise may desire to decrease their index values, may have the index values multiplied by a multiplier of less than 1.
In step 905, the resource management tools proceed with the calculation of the index threshold by selecting an initial index threshold value and an index threshold adjustment value. Embodiments of the initial index threshold value may be selected by the resource management tools as a value higher than the maximum index value for any one particular employee, ensuring that the number of employee actions approved in the first round of calculating the index threshold value is always zero. The initial threshold index value selected at step 905 may be represented by the function index threshold (λ**)=max(λ′(a,e)+1, wherein λ′ is the normalized index value of step 903, for the proposed action “a” of the selected employee “e”.
In step 907, the resource management tools calculate, at the current index threshold value, the number of employee actions that have an index value greater than the index threshold value. As stated above, the first round of calculation sets the index threshold value higher than the highest index value. Subsequently in step 909, the resource management tools calculate the total amount of resources consumed thus far based on the actions approved. Approved actions are employee actions that have an index value greater than the threshold.
As stated above, each index value has a cost pair. The resource management tools identify the corresponding cost for each approved action and add each cost pair together to find the total investment cost to the enterprise for implementing each approved action thus far. The investment cost of enterprise resources may be identified by the function I=Sum(e) Cost(A*(e),e), wherein the “I” is the summation of costs for each employee “e”, for every approved action (A*(e),e).
In step 911, the resource management tools make a determination of whether the total investment cost “I”, which includes the enterprise resource investment cost of every approved employee action, is less than the budget constraint for the entire enterprise. If the resource investment cost is less than the available budge (I<budget), the resource management tools proceed to step 913. In step 913, the index threshold value is reduced by the pre-set threshold adjustment value, represented by the formula λ**=λ**−δ, calculating an updated index threshold value.
Embodiments of the resource management tools proceed to re-compare each index value with the updated index value threshold in accordance with step 907. Upon the second or subsequent re-comparison with a lower updated threshold index value, an increased number of employee actions will be approved for resource allocation by the enterprise. By increasing the number of approved employee actions, the total cost calculated in step 909 will also increase. As the total cost of investment rises in conjunction with the adjustment of the index threshold value in step 913, eventually the total cost will no longer be less than the budget constraint in step 909. Accordingly, when the resource management tools have found an index threshold wherein I≧budget constraint, the resource management tools select the present index threshold value that meets the budget constraint, as the index threshold value. The index threshold value is stored in each indices received from each local manager. The central mode transmits each of the indices back to the appropriate node of the local managers. In step 415, the local managers receive the updated indices having the calculated index threshold value.
In step 417, the resource management tools implement each employee action having an index value that is greater than the index threshold value for each employee id. However, some employees may have multiple employee actions that have an index value greater than the index threshold value. Under those circumstances, the resource management tools will implement the employee action having the lowest index value that rises to a level above the index threshold value. In some embodiments one or more employees may not have any employee actions with an index value above the index threshold value. When an index value for each employee action is below the index threshold, no employee action may be taken for the particular employee.
Thus the present invention discloses a process for supporting, deploying and/or integrating computer infrastructure, integrating, hosting, maintaining, and deploying computer-readable code into the computer system 1190, wherein the code in combination with the computer system 1190 is capable of performing a method for automating employee management decisions.
While
A computer program product of the present invention comprises one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement the methods of the present invention.
A computer program product of the present invention comprises one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement the methods of the present invention.
A computer system of the present invention comprises one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement the methods of the present invention.
The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
While embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.