Our Architecture

Introduction

The business challenge our software has been designed to solve is to fill shifts effectively in dynamic staffing situations.

Our objective is to fill greater than 95% of the shifts booked on our platform with the best person for each individual shift.

The standard we compare ourselves to is not other software providers but rather the individual “Grandmasters” (i.e., Operations Managers). These Grandmasters deliver remarkable (if unscalable) shift filling results within specific business units given their nuanced knowledge of their operations and the people in their flexible pools of labour.

Just as machines in the world of Chess are now beating Grandmasters, we believe HireHand is more effective than the most experienced Operations managers at filling shifts, and, critically, can do so at scale.

The decisive reason we believe this is our matching technology based on a 40-factor matching algorithm and intelligent invite-sequencing. What underpins our matching technology is our novel event-sourced architecture.

Put simply, it is a paradigm shifting technology built for a paradigm shifting business – an architecture that is unique and complex enough in both the level of data at which it records data and its ability to respond to real-world events.

The Role of Event Sourced Architecture

Event-sourcing is an architectural pattern “that ensures all changes to the application are stored as a sequence of events.” These events are immutable – stored in an append-only log of all state changes. This is hugely beneficial for traceability as in effect every action that has ever taken place in the system is stored in its database.

The superiority of event-source is clear when it comes to traceability as compared to more standard databases that only retain a current state, having overwritten past data. The business benefits of an event-sourced architecture may not be immediately apparent, but an obvious example comes from the world of banking. As opposed to a typical database (e.g., CRUD) that only retains a current snapshot of your account balance, an event source architecture can share with you every operation that has happened in that account, thereby providing you with an audit trail and multiple historical reference points

Additional benefits can be seen in the ability of event-sourced systems to manage complexity. Capturing all changes (even the most nuanced ones) as domain events allows for the development of far more complex business rules. You are effectively creating a system taking into account a far greater amount of data from far more events, often happening in real-time. This is why mobile gambling sites commonly use event-sourcing technology given their need to incorporate a stream of domain driven and eternal events that combine in real-time to update betting odds and require an audit trail of user actions.

What Event Sourcing Architecture means for HireHand and filling shifts

HireHand has filled close to 100,000 shifts in dynamic staffing situations.

Each of those shifts has a story: a particular, unpredictable circumstance that led an oraganisation to book a shift; a series of invitations to individuals based different inputs (e.g., availability); rejection of said shift by potentially many individuals; an acceptance of the shift by one individual; and a rating by both the individual and the organisation after the shift was complete.

Given our use of event-sourcing, all individual details that comprise a completed shift are captured and remain immutable within the event log in an event-sourced architecture.

As a result HireHand has millions of data points on how organisations and individuals behave in dynamic staffing environments – an invaluable treasure trove of data.

By way of comparison, we’ve shown that the majority of other software providers do not follow the proactive model of HireHand in attempting to fill shifts instead opting for a model of posting shifts for individual candidates to preference. Even if they did, those systems with a CRUD-based model would likely be left with an historical snapshot of individuals who had completed shifts in the past but little additional historical information.

Why Event Sourcing Matters for HireHand

We are only scratching the surface of how to use the treasure trove of data to develop distinctive business insights. The most obvious is that the more nuanced the event stream the more nuanced the optimisation we can conduct on the factors included in our rank-order algorithm, the weights each of them hold, and the sequencing (or speed) by which we move down our rank-ordered list extending invitations.

When making algorithm optimisations, we can actually run detailed simulations using the historical event log to determine if the updated factoring would have yielded more effective results. A related point is that event sourcing is well suited to machine learning given the degree to which predictive models and, the more complex, reinforcement learning rely on the large data sets like those typically found in the event store.

The use of event sourcing architecture also allows us to be as dynamic as possible in our efforts to fill shifts in dynamic staffing environments. The complexity, for instance, of filling multiple dropped shift in a seamless manner is hard to overstate due to the number of business rules that come into play in these situations (e.g., filtering which individuals are open to last-minute shifts and which are not) and the degree to which interdependent domain events (e.g., an individual accepting a different shift) can change the rank-order. Only an event-sourced model is capable of responding in real-time to the unpredictable real world and domain driven events that dominate dynamic staffing situations in a way that increases (as opposed to decreasing) the likelihood of filling shifts.

Event sourcing is an effective way to scale complex systems – enabling systems to move from large, monolithic, applications to microservices – effectively controlling complexity by spreading business logic over these services. In the case of HireHand, we are developing a “rank-order” and “invitation” microservice to both manage the complexity within our own systems and allow us the opportunity to provide specific modules to other systems as well. Netflix, one of the major drivers behind the microservices architecture movement, uses event-sourcing to manage considerable complexity at scale in addition to optimising with nuance is recommendation algorithms.

Conclusion

Our event-source architecture is what gives us the ability to respond to the unpredictable events that occur in dynamic staffing situations with the degree of nuance that rivals the most experienced Operations Manager “Grandmaster”. Event Sourcing is also what allows us the ability to address this most complex business problem on a global scale.

Pardon the pun, but if we are currently playing chess on level with Grandmasters when it comes to dynamic staffing, all other WMS are playing checkers at best.