The present application relates generally to the technical field of computer system administration and, in one specific example, to implementing and/or configuring computer services, applications, user interfaces, and/or tools to facilitate administration of a goals platform and/or a compensation platform deployed within one or more computer networks.
Organizations may deploy one or more software applications within one or more computer networks to facilitate management of employees of the organization. Such software systems may include human resource (HR) systems, which may be configured to, for example, store and manage confidential employee data, handle employee-centric HR processes, such as recruitment and/or performance, and or handle offboarding. Additionally, some HR platforms may be configured to keep track of employee engagement and performance.
In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the present subject matter. It will be evident, however, to those skilled in the art that various embodiments may be practiced without these specific details.
Even after deploying various tools, such as one or more HR systems, organizations may have difficulty effectively using the data items contained in these systems effectively. For example, an organization may be unable to use the HR systems (or have difficulty using the HR systems) to link data items pertaining to or representing the organization's strategic priorities to data items pertaining to or representing each employee. Without being able to use its tools efficiently to link such data items, it may be difficult for an organization to align its employees around the organization's strategic priorities. Similarly, and it may be difficult for the organization to recognize and/or equitably reward employees for their work, especially as it relates to the organization's strategic priorities.
It can be a difficult technical problem to determine how to connect data items related to work and/or goals of employees to data items pertaining to the broader business strategy of an organization, such that an organization can, for example, optimally celebrate and reward employees for their efforts.
The system described herein enables administrators (e.g., business leaders within an organization) to, using advanced data management tools, align their employees around their company's strategic priorities and activate every employee to execute against them. In example embodiments, the system helps an organization bridge one or more gaps between people operations and business operations through management of data items that represent or define Objectives and Key Results (OKRs) of an organization and the interlinking of such OKR data items with other data items, such as those representing goals of an employee.
In example embodiments, the system may be configured to be integrated with external systems, such as Jira and Salesforce, such that goals and OKRs are synchronized across the organization's systems and the organization's progress measurement and reporting stays up to date in real time without the need for manual updating.
In example embodiments, the system may provide one or more interactive graphical user interfaces (GUIs), such as Actionable Goals Home and Explore pages, that may provide frictionless goal setting, measurement, tracking, and achievements on an elevated surface with seamless actions right in a sidebar.
In example embodiments, the system may provide advanced controls for operationalizing goals. For example, the system may enable a streamlined goal-setting process that runs on the organization's schedule using Goal Cycles. With automated time periods, the system may build Goal Cycles automatically and move from one to the next automatically. And with Weighted Goals, the system can accurately reflect and measure the organization's priorities by importance across the entire organization.
In example embodiments, the system may provide reporting power tools for users. Users may be assigned one more roles or personas, such as administrator, chief of staff, employee, manager, manager of manager (“MoM”), executive, executive assistance, operations leader, department head, business leader, people manager, data consumer, and so on. Each user and/or role assigned to the user may be associated with different access rights. For example, reporting dashboards may be accessible to managers or business leaders to report on goal status and identify where they can take action to keep the company on track.
In addition to helping employees align their work success with business success, the system provides various tools to help those employees feel recognized for that success. In example embodiments, various tools are provided for recognizing and celebrating individuals for their work, which, in turn, may lead to increased satisfaction and/or productivity and decreased turnover. Recognition may come in many forms, such as public praise or awards, increased responsibility and, of course, compensation. But employees may not just be looking out for themselves; they may also want to know their colleagues and friends are also being rewarded for their work.
In example embodiments, the system facilitates development of compensation strategies that provide flexibility to attract and reward top performers while including checks and guidance that ensure compensation practices are equitable and aren't perpetuating bias.
In example embodiments, the system provides tools that support compensation decision-making and communication. For example, the tools may help to streamline the compensation process, integrate with performance data, and provide insight into pay trends across the company. Users, such as members of one or more HR teams, may manage their compensation review process in a centralized, secure hub and seamlessly integrate an employee's performance information into the decision-making process. Other users, such as managers and company leaders, may be given more insight into individual and team-wide pay trends as well as more context to navigate salary conversations with direct reports. Additionally, employees may be able to view their own compensation information directly.
In example embodiments, technical solutions for aligning employee goals with company objectives and streamlining compensation review workflows are described. For example, the described system provides a number of unconventional technical solutions that go beyond generic computer implementation. The system includes specialized interfaces and workflows for creating and tracking goals that are specifically designed for smaller mobile screens. For example, the “Goals Explore” interface allows mobile users to quickly update or edit goals using sidebars and context panels, avoiding the need to navigate through complex menus.
The system also enables integration with third-party systems using tailored APIs and protocols to synchronize goal data. For instance, one or more external system APIs (e.g., SalesForce API and/or Jira API) automatically updates progress on synced goals when a change occurs in Salesforce, without needing manual duplication of efforts and/or integrate issue tracking with goals to automatically update goal progress as issues are opened/closed in the external systems.
To link goals data in the backend, the system may utilize an unconventional mapping table structure to store associations between employee goal IDs and company objective IDs. This allows progress to cascade between linked goals while maintaining data integrity. The system may also implement artificial intelligence to recommend goal alignments using machine learning trained on historical goals data.
The specialized interfaces also provide tailored goal insights, such as contextual sidebars with quick actions based on goal type and permissions. The system generates overview analytics tailored to different user roles, surfacing key progress indicators on executive and department leader dashboards.
For compensation management, the system includes technical improvements such as seamless integration with third-party HR systems using APIs to centralize compensation data. The system provides a specialized compensation interface allowing administrators to adjust proposed compensation changes across the organization while instantly viewing projected effects on the budget.
The system may leverage AI to analyze compensation trends, identifying discrepancies across protected classes to enable equitable pay practices. The interface displays context-specific insights into pay equity during compensation decisions. The system also technically integrates performance data into compensation workflows, linking ratings to pay guidance.
The compensation module streamlines approval workflows, implementing role-based permissions for managers to review proposed changes. The system facilitates compensation communication through automated report generation tailored to different user roles.
The specialized interfaces, integrations, data structures, and/or AI implementations provide a technical solution that goes beyond generic computer hardware and improves upon prior conventional systems.
A method of generating customizable goal representation is disclosed. A request from a user to view a goal representation is received. A flexible goal ontology is accessed. The flexible goal ontology comprises one or more goal entities, one or more goal relationships between the goal entities, and one goal properties, the one or more goal properties including one or more metadata attributes relating to the one or more goal entities. A set of mapping rules is obtained. The set of mapping rules defines mappings between one or more goals based on the one or more properties and the one or more relationships in the goal ontology. The set of mapping rules is evaluated to dynamically assemble a customized goal representation tailored to the user. The customized goal representation is incrementally updated based on a revaluation of the mapping rules affected by changes to the one or more goal entities, the one or more goal relationships, and the one or more properties. The customized goal representation is transmitted to a client device associated with the user for graphical rendering based on a context of the user.
A method of implementing administrative services for a compensation platform is disclosed. One or more interactive compensation representation views are generated based on an evaluation of mapping rules against a flexible ontology and current data state, the flexible ontology comprising customizable compensation components, relationships, and properties. One or more compensation representation views are dynamically updated in real-time in response to changes in compensation data, user context, or access permissions without requiring manual regeneration of the one or more compensation representations. The one or more interactive compensation representation views include a user interface element displayed in response to a user selection of compensation data, wherein the user interface element provides direct access to compensation information relevant to the selected compensation data without requiring a change to another screen or another user context.
In example embodiments, the system provides a specialized compensation interface allowing administrators to adjust proposed compensation changes across the organization while instantly viewing projected effects on the budget. The interface displays context-specific insights into pay equity during compensation decisions. The system also technically integrates performance data into compensation workflows, linking ratings to pay guidance.
In example embodiments, the compensation module streamlines approval workflows, implementing role-based permissions for managers to review proposed changes. The system facilitates compensation communication through automated report generation tailored to different user roles.
In example embodiments, the system allows modeling compensation with a flexible ontology to capture semantics and terminology specific to the organization. Compensation is modeled using an extensible ontology allowing organizations to define custom compensation components, relationships, formulas, and semantics. For example, complex equity award types can be represented. This exceeds hardcoded compensation element definitions.
In example embodiments, hierarchical compensation data views like bands and grades are generated on demand by evaluating declarative mapping rules against the flexible compensation model. This allows dynamically materializing tailored compensation hierarchies.
In example embodiments, compensation actions are logged in an immutable audit trail with user context and explanatory notes. Audit reports provide transparency into compensation decisions, answering questions like why an employee's pay changed. This exceeds basic change logging.
In example embodiments, managers can provide contextual notes explaining the rationale behind compensation actions which are persisted for review and auditing. Rationale helps identify potential biases and ensures equitable pay. Conventional systems lack contextual explainability.
In example embodiments, the system enables defining fine-grained access policies for compensation data and actions based on parameters like user attributes, compensation properties, and organization hierarchies. For example, manager compensation visibility can be limited. This facilitates access control precision exceeding coarse role-based access.
In example embodiments, incremental compensation data changes are captured from upstream systems and propagated bidirectionally using change data capture and messaging for real-time synchronization. This delivers timelier update propagation compared to bulk data transfers.
In example embodiments, analyzing access patterns allows detecting compensation policy violations to trigger reviews. For example, managers accessing subordinate pay outside review cycles may be flagged. This enables real-time compliance monitoring rather than periodic audits.
In example embodiments, compensation dashboards are embedded directly into the interactive interfaces providing intuitive visibility into pay trends and outliers. This brings insights to managers rather than requiring accessing separate analytics systems.
A networked system 102, in the example form of a cloud computing service, such as Microsoft Azure or other cloud service, provides server-side functionality, via a network 104 (e.g., the Internet or Wide Area Network (WAN)) to one or more endpoints (e.g., client machines 110). The networked system 102 is also referred to herein as “Lattice,” the “system,” or the “platform.”
An API server 114 and a web server 116 are coupled to, and provide programmatic and web interfaces respectively to, one or more software services, which may be hosted on a software-as-a-service (SaaS) layer or platform 105. The SaaS platform 105 may be part of a service-oriented architecture, being stacked upon a platform-as-a-service (PaaS) layer 106 which, may be, in turn, stacked upon a infrastructure-as-a-service (IaaS) layer 108 (e.g., in accordance with standards defined by the National Institute of Standards and Technology (NIST)).
While the service(s) 120 are shown in
Further, while the system 100 shown in
Web applications executing on the client machine(s) 110 may access the various service(s) 120 via the web interface supported by the web server 116. Similarly, native applications executing on the client machine(s) 110 may accesses the various services and functions provided by the service(s) 120 via the programmatic interface provided by the API server 114. For example, the third-party applications may, utilizing information retrieved from the networked system 102, support one or more features or functions on a website hosted by the third party. The third-party website may, for example, provide one or more promotional, marketplace or payment functions that are integrated into or supported by relevant applications of the networked system 102.
The service(s) 120 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between server machines. The service(s) 120 themselves are communicatively coupled (e.g., via appropriate interfaces) to each other and to various data sources, so as to allow information to be passed between the service(s) 120 and so as to allow the service(s) 120 to share and access common data. The service(s) 120 may furthermore access one or more databases 126 via the database servers 124. In example embodiments, various data items are stored in the database(s) 126, such as data 128, including goals data items and/or compensation data items described herein. In example embodiments, the data 128 includes one or more data items or metadata items that are viewable and/or editable via one or more user interfaces described herein. The data 128 may include data items that are interrelated, connected, or interlinked, to, for example, provide connections between goals (and/or performances) of employees and objective of an organization, as described in more detail herein.
Navigation of the networked system 102 may be facilitated by one or more navigation applications. For example, a search application (as an example of a navigation application) may enable keyword searches of data items included in the one or more database(s) 126 associated with the networked system 102. Various other navigation applications may be provided to supplement the search and browsing applications.
A goals module 202 is configured to provide users with access to goals services, including services for setting goals, integrating goals with external systems (e.g., Salesforce, Slack, and/or Microsoft Teams), acting on goal progress data in real time to keep an organization on track against key objectives, and/or increase employee engagement by connecting success of employees to success of the organization, as described in more detail herein.
A compensation module 204 is configured to provide users with access to compensation services, including streamlining setup, launch, and tracking workflows to seamlessly include performance data in a compensation review process in a secure, centralized hub; connecting performance and compensation, including creating compensation guidelines and performance ratings, compensation ratios, and so on, to empower clarity and consistency across an organization; making compensation decisions more transparent and equitable by helping users provide context about specific recommendations and actions; and providing more transparency for users by closing out compensation reviewing, sharing outcomes with managers in just a few clicks, and generating compensation communications so that everyone can understand exactly how their compensation package is changing, as described in more detail herein.
A connection module 206 is configured to connect, link, or interrelate data items pertaining to goals of employees of an organization with data items pertaining to objectives of the organization, as described in more detail herein.
An automation module 208 is configured to automate various tasks, such as, for example, adding progress to objectives, creating goal cycles based on cadence and/or time periods, updating progresses (e.g., based on third-party system integrations), assigning group owners, calculating progresses from key results, automatically inputting recommendations, automatically updating user interfaces in real time, and so on, as described herein. In example embodiments, some automation may be used in machine learning. For example, a machine-learning model may be trained to output a value (e.g., a time period, cadence, and so on) that optimizes the performance of the organization with respect to one or more objectives. The inputs to the machine-learning model may include one or more relevant data items (e.g., from data 128). The machine-learning model may then be applied to generate the value based on novel input data.
A dynamic graphical user interface (GUI) module 210 is configured to provide one or more specialized graphical user interfaces, as described herein, to, for example, allow users to manage and/or link data pertaining to goals, compensation, and/or OKRs. In example embodiments, the one or more specialized user interfaces and/or elements included in the one or more specialized user interfaces, and/or combinations thereof, are asserted to be unconventional. Additionally, the one or more specialized user interfaces described include one or more features that specially adapt the one or more specialized user interfaces for devices with small screens, such as mobile phones or other mobile devices.
The system includes goals services and/or tools configured to make it easy for employees to track their personal and professional objectives and link them to other company and department initiatives. Using the goals services allows users (e.g., including admins) to easily track the goals within their organization and helps other users (e.g., including managers) track their teams' progress.
By setting goals, employees can better understand how they make an impact on the company and their career. They can also work closely with their managers to better figure out their strengths and weaknesses and objectives they should focus on.
In example embodiments, employees can create individual and group goals, not department or company goals; department heads can create department goals; and admins can create individual, group, department, and company goals.
Employees will be able to see all public department and company goals by navigating to the Goals Homepage>Company goals in a user interface for the goals services.
Employees may be able to see other employees' public goals by going to their profile pages or in a Goal Explore section user interface, which may be within an all-saved-view section of the user interface.
Managers and/or managers of managers may be able to see all of their reports' goals regardless of whether they're private. Private goals may only be seen by the individual, their manager, manager of managers, and/or admins.
In example embodiments, goal creators are always able to see the goal whether or not they are the goal owner, admin, or manager.
Admins may be able to see all individual, company, and department goals regardless of being private or public.
Employees can be reviewed based on their goal performance by bringing active or ended goals into a review template.
In example embodiments, goals will only live on an employee's goals page in “Individual” when they are the goal's owner.
Anyone who creates a goal can add owners to the goal or change the owner of the goal. For example, if an admin wants to create a department goal for a manager or an employee, they can do so by following the example steps below.
Only Admins can edit and delete all goals. Employees can edit or delete goals that they own. Managers can edit or delete direct reports' goals. Managers of managers can edit or delete indirect reports' goals. Goal creators can edit or delete goals they've made even if they don't own them.
Anyone can update a public goal that they're an owner of. Only employees who have viewing access to private goals can update them (if they are the owner, manager of owner+their managers, or admin).
The end date of a goal is when the goal is marked “complete.” In example embodiments, goals will not auto-complete; this leaves room to exceed the goal target.
Goal tags may be used to organize goals around major initiatives.
For example, suppose a company is expanding into Europe (which can be very cross-functional). In that case, admins can create a tag titled ‘European-expansion.’ When an employee creates a related goal, they can apply this tag. Those with visibility access to those goals will be able to filter goals by tags.
Goals can be sorted by assigning a level of importance to them under a “Priority” checkbox. This label allows the goals to be listed in order of priority when viewed on a Profile page.
Goals can be filtered within the Goals page, which, for example, can be accessed by clicking a goals icon on a discovery navigation pane on the left-hand side of the user interface. Goals can be filtered by different attributes such as type, priority, status, tags, visibility, and owners.
Users can export goals from a Goals Explore page, which may provide a list of public and private goals (that the users have access to) with the following fields:
Users can create goals following the OKR format. When creating an OKR:
Each key result may be equally weighted. For example, if there are three key results, each one may be worth 33% of the total objective.
As shown in
Let's say we update “Dollar KR 1” to be fully achieved. Below, we can see that Dollar KR 2 and Dollar KR 3 are still at 0% completed, and Dollar KR 1 is 100% completed.
The overall objective is now 33% complete since each key result is worth one-third of the total.
Sometimes there may be key results or child objectives that should not be weighted equally, causing the percentage calculated for the overall objective to appear incorrect. This can be solved by setting the objective to something other than binary and manually updating it.
In the example above, we may not want to view the goal as 33.33% complete since the key results should not have equal weight in the overall objective.
To set this up, set custom weighted goals. Here is an example procedure for doing so:
In this example, we have set the Dollar KR1 key result weight to be 0%, while keeping Dollar KR2 and Dollar KR3 at 50% each. When we update our Dollar KR 1 to be 100, the overall objective doesn't progress. This is because the key result is weighted at 0%.
Cascading goals, if enabled, allows users to align child objectives to parent objectives. In these cases, the progress will work as follows: Example 1: Objective 1>Objective 2>Key result 1.
Example 2: Objective 1>Objective 2>Key result 1>Key result 2.
In example embodiments, there are four goal types: company, group, department, and individual.
Cascading goals create strict alignment by establishing a set of overall organizational goals that flow down; this ideally ensures that every team and individual works towards one set of objectives. Non-cascading goals are simply the opposite! There is no clear alignment between the organizational goals and the individual employee goals. Goals are more focused on individually-specified objectives and key results, which will often not directly align with the organizational goals.
Users will know when Cascading Goals is turned OFF because all goals will format by a list view. Objectives will not and cannot align with other objectives. Key results can be aligned to their parent objective up to one level.
Non-Cascading Goal Example:
If Cascading Goals is turned OFF, users will notice that their Explore page will include a list of objectives or key results aligned to key results.
The non-cascading goals page will include a list view and a cascade view.
In the List view, notice objectives and key results are not aligned to any other objective.
In the Cascade view, objectives show alignment with their key results. When expanding a parent objective, employees will only have the option to add a key result, but not an objective.
Create a Goal with Non-Cascading Goals
When employees create their objectives or key results and goals are non-cascading, their Goal Creation page will look as follows. Here, the employee's goal is only for their one individual goal and does not indicate any connection to any other goals.
There is no option to align to a parent goal when creating a goal. However, users will be able to create key results from this page.
Reporting with Non-Cascading Goals
For reporting with Cascading Goals turned OFF, the goals may be reported individually. There is no reporting based on alignment.
Users will know they have Cascading Goals turned ON when all objectives and key results have the ability to align with other goals.
The Goal Explore Page with Cascading Goals
If Cascading Goals is turned ON, users will notice that their Explore page will include a list of child objectives and key results aligned to parent objectives.
Cascading Goal Example:
The Cascading Goals page will include:
Users will know they have Cascading Goals ON when users have the ability to view goals in Cascade view format; the view will look as depicted in
Users also have the ability to align goals in a tree view format. The tree view format allows users to visually connect the goals together. Below is an example of aligned goals in a tree view format.
Create a Goal with Cascading Goals
When employees are creating their goals and goals are cascading, their Goal Creation page may look as depicted in
Reporting with Cascading Goals
For reporting with Cascading Goals turned ON, users can view which goals are aligned to the company goals.
With Cascading Goals turned ON, all child objectives and key results are counted with the overall parent goals. Please also note the number of goals will reflect the same way in the report view.
The system provides a goal settings setup walkthrough (e.g., for admins accessing the goals tool for the first time). The guide will walk through customization and launch settings to ensure the rollout is a success.
The goal settings setup may be required for all admins; however, it may only happen once. Even after launch, the settings may be editable within a goals settings page accessible by admins.
The following are the initial steps for setting up goal settings:
Choose who users want to roll goals out to.
Select how often users would like the company to set goals. Deciding on a pace for goal duration will assist the system in automatically creating goal cycles based on the cadence.
Select whether users would like goals to be aligned to one another and accept the progress of their supporting goals:
Note: If users have given these responses to the following questions, the system will recommend keeping goal-setting simple by not aligning goals:
If a user's company has unique terminology to label a goal's status, the system allows users to customize each status title and description.
Choose how often employees should be notified to update their goals. The system will send reminder emails to employees based on the chosen cadence. If employees have updated their goals during the cadence, they will not receive a reminder.
Verify or edit the settings before launching. Note users will be able to adjust the settings after launching goals.
Cascading goals allow employees to align personal achievement with the entire business's success and see how their work impacts the company.
Enabling cascading goals unlocks:
Enabling cascading may permanently alter the goals data. Disabling will keep alignment for previous goals and prevent alignment for future goals.
The following are steps to enable cascading goals:
The system provides defined goal status names, such as On track, Progressing, and Off track by default. However, an organization may use different names and definitions; therefore, the system allows administrators to customize how employees will see the statuses.
The following are steps to change goals status definitions:
The system may integrate with external systems, such as Jira, Salesforce, Slack, and Microsoft Teams, to ensure goals stay front and center and are updated continuously.
For example, the system's Salesforce integration allows users to connect their goals and have them automatically update progress when Salesforce is updated.
To connect with Salesforce, users must be an admin in the system and Salesforce. Giving a Salesforce admin IT permissions in the system will allow them to connect the Salesforce integration without giving them visibility to employee data.
The following are steps to integrate with Salesforce:
Next, connect a goal to Salesforce. Users may want to make specific goal fields optional, required, or hidden, so we have given all admins the ability to customize the optionality from their Goal Settings page.
In example embodiments, if users edit a goal that was created before a certain field was required, when users edit the goal they will be prompted to fill out the required field.
The following are steps to adjust goal fields:
If a field has been set to be required, it will appear within the goal creation main page. Employees will receive an alert preventing them from creating the goal until the fields are selected.
Weighted goals allow goal owners to customize and communicate the relative importance of each key result. Owners can customize how much each child impacts its parent's progress across multiple levels.
Before goal owners can begin using weighted goals, an admin must turn on the feature for the whole organization by taking the following steps:
In example embodiments, if users decide to turn off goal weighting at any point in the future, it will remove all custom weighting assigned and revert to the default calculation.
Users may refer to goals as something else at their company, such as SMART Goals or OKRs. If users would like to change the display name of objectives and key results or the goals tool in various places throughout the system, follow the steps below
The system defaults the naming for the tool to be “Goals.” However, the organization may use a different term to refer to goals, and users have the option to customize this language using the steps below:
The display name of the goals will be changed everywhere Goals was shown previously.
The system defaults the naming for goals to be based on objectives and key results. However, the organization may use a different term to refer to these, and users have the option to customize this language using the steps below:
The names “objective” and “key result” will be changed everywhere they were shown previously.
The following are steps to adjust default goal visibility:
Once users have updated the default goal visibility, all new individual goals will either have the visibility setting default to private, or the visibility field will be set to private and become uneditable.
The system allows users to show the public goals each owner owns within the org chart.
Goals in the org chart will respect the company's and employees' current goal visibility settings. This means:
The following are steps to allow public goals in the org chart:
When viewing the org chart, users can click Show Goals within any employee card to view the goals they have visibility into.
When this is selected, employees' top three active goals by priority will be displayed in the org chart. If an employee's goals do not have a priority, the first three active goals that the employee created will be shown.
Goal tags can be used to organize goals around significant initiatives. For example, suppose a company is expanding into Europe (which can be very cross-functional). In that case, admins can create a tag titled ‘European-expansion.’ Then, when an employee creates a goal, they can add this tag to their goal, and everyone will see that their goal is aligned with a larger department or company objective.
In example embodiments, only admins can create tags; managers and individuals cannot create tags.
An admin can create a new tag by following the steps below:
After creating and using goal tags, users may want to make adjustments to meet their organization's needs.
Only admins can create and manage tags; managers and individuals cannot create or manage tags.
Editing a goal tag will rename the tag in all existing and draft goals.
The following are steps to edit goal tags:
Deleting a goal tag is permanent. The tag will be removed from all existing and draft goals.
The following are steps to delete a goal tag:
In example embodiments, all system users can create goals for their colleagues. Whether a manager is creating a goal for their direct report or a project lead is creating a goal for their team, all employees can create a goal for anyone else in the company.
The following are steps to create a goal for a direct report:
In example embodiments, all goal owners and their managers can view and edit any saved drafts.
The following are steps to create a goal for a peer:
Please note: All goal owners and their managers can view and edit any saved drafts.
There are many different ways to view how employees or a team are using goals. Below is a breakdown of the various reports and filters users can use in the system to help get the most out of the tool.
Admins and managers will have access to the reporting pages for goals. Admins will be able to view and filter for private and public goals for the entire company, while managers will be able to view and filter for private and public goals for their direct and indirect reports.
The Goal Reporting page provides:
Please note that goal reporting does not include any ended goals.
Goal reports are accessible by navigating to Goals>Reporting. From here there are two reporting pages users can use to track their organization's goals: Participation & Status.
Near the top of the Reporting page, users will see the ability to filter the view of goals. All date filters look at the due date of the goal.
For example, users could choose a filter to view only the goals owned by specific individuals on the People Operations team across all times.
The following are steps to group the goals by an individual, group, manager, or department:
When users group goals by department, they will see data for members of different departments in aggregate, so users can see which parts of the business are participating in the goal-setting program. This shows data for all goal types owned by members in a department, not only department type goals.
The section titled “DIRECT REPORTS WITH” corresponds to the members of that department who own at least one objective and key result out of the total members of the department.
The section to the right, beginning with “UPDATED,” shows the total numbers of goals owned per employee that are updated, aligned, overdue, or on a cycle. Therefore, if there are two members in one department who own the same goal, this section will count that as two goals.
When users group goals by manager, they will see data for managers' direct reports.
When users group goals by group, they will see all goals of individuals that belong to the assigned groups, regardless of goal type.
Participation: Goal participation is defined as the following:
Additionally, under filtering, admins and managers will also have access to view additional reporting information for objectives and key results as outlined below:
Status: Under the Status page, users will see a visual breakdown for the objectives and key results over time, color segmented by their status. This is useful to check on the statuses within the organization or team over a given time period.
The Status page accounts for the following.
The Status page allows admins and managers to easily track the department, group, manager, and/or manager's team goal progress. Users can use the table below to pinpoint individuals, managers, and departments.
Users can change how goals are grouped, whether objectives or key results are displayed, and the time period. Users can group by department and manager.
When grouping by department in status, the data will show the number of goals owned by members in that department. This includes all goal types, not just department goals.
If there is one goal owned by two members in the same department, the columns OBJECTIVES and KEY RESULTS will count as one goal in the table depicted in
The status reporting page contains a breakdown of:
The Goals Reporting pages allow users to click on specific data points within the reporting table to view a list of objectives or key results that correspond to a particular individual, group, department, or manager:
Individual, Group, Manager, and Department Goal pages will respect the filters users add to the Reporting pages.
Clicking on the manager's name within the table will take the user to that manager's Manager page. Within the Overview tab, users can view all goals created by the manager's direct reports Users can drill down even further within the Members tab by viewing and clicking through reporting for each direct report on the manager's team.
Members
Company goals can be created from different locations within the system, such as the following:
To create a department-level goal, users will need to be either an admin or department head. Only goal owners will be notified when a department goal is published and will be responsible for editing and adding progress to the goal.
Goal visibility is set during the goal creation process under Visibility.
The following are steps to create a department goal from the goals page:
The following are steps to create a department goal from the goal creation page:
As a manager, a user may want to see the public and private goals the user's direct reports have set for themselves. Keeping track of the team's goals allows users to view updates and monitor progress.
The following are steps to view team goals:
From here, users can remove or add filters from the Explore page to view the desired goals.
The following are steps to view a direct report's goals:
Group goals allow cross-functional teams and sub-departments to share visibility to a specific goal. With group goal type, the system helps teams meet where they are and set goals at the appropriate level.
Users can create group goals from at least two different locations within the system:
In example embodiments, only admins can create and manage groups; However, all users will be able to create group goals for users in the system.
Group goals do not automatically assign all members of the group as goal owners. Group type and owners are independent. Only goal owners will be notified when a group goal is published and will be responsible for editing and adding progress to the goal.
Goal visibility is set during the goal creation process under Visibility.
The following are steps to create a goal from the goals page:
The following are steps to create a goal from the goal creation page:
Note: If the goal type is required, users will be able to access the field within the Goal Creation main page.
Goals help empower employees to control their performance and development with clear, measurable objectives. Goals allow users to communicate what the users are focusing on and define the developmental milestones or share initiatives users are working on that align with the company's priorities.
Creating a goal means creating objectives and key results:
Goal creation means creating objectives and key results using the OKR framework.
Goals help empower employees to control their performance and development with clear, measurable objectives. Goals allow users to communicate what they are focusing on and define the developmental milestones or share initiatives they are working on that align with the company's priorities.
Creating a goal with goal differentiation means creating objectives and key results.
There are at least two places in the system where users can create an objective:
To create an objective in the goal creator navigate to Home>Create goal>Select Objective.
The following are steps to create an objective in the goal explore page:
Users may optionally write a description to remind themselves and their teammates about some details of the goal.
If an admin has created a goal cycle, users may be asked to select a cycle that this objective falls under. This is a time period in which the goals are being worked on. If users have any questions about this, we recommend reaching out to the admin!
When establishing a due date for the objective, we default to the end of the current quarter or the end of the goal cycle. Users may use the date-picker calendar to select another end date in the future.
Most goals created in the system are personal goals, owned by one person. However, goals can also be owned by more than one person.
Objectives can be for an individual, a department, a group, or the company. Keep in mind, the types of objectives users see will depend upon the permissions their admin has granted them.
Objectives can be public (visible to the entire company), private (only visible to the user, their manager, their manager's manager), or private to selected departments (only visible to goal owners and members of the departments selected).
A parent goal (or a cascading goal) is a way to align the goal with other goals within the organization. Under the “Align to objective or key result” option, search the parent goal that users want to align their goal to. Users can align to both objectives and key results.
In example embodiments, parent goals may only be visible if an admin has turned on cascading coals.
Users may optionally set a priority for the objective (P1-P10), which will be displayed next to the goal on certain pages throughout the site. Goals will also be listed in order of priority (P1 first).
Tags are optional but help classify and organize goals. Admins create these!
When creating an objective, add key results or metrics that impact the overall goal. Key results help determine if users are tracking properly against their goal.
If users are creating an objective via the Goal Explore page, they will be prompted to add supporting goals after publishing the objective.
Goal drafts are visible to the owners and their managers but are not visible to the rest of the company.
The Goals homepage allows users to complete quick actions on their goals directly within the Explorer. Simplify the goal process by allowing employees to quickly create, update, and edit their individual goals from the Goals Explore page context panel.
One or more goal actions may be available in the sidebar, such as, for example, any of the following goal actions:
A context panel may be provided within the List and Cascade views. Users will only be able to complete quick actions for goals they are goal owners for or have edit access to.
Department heads can quickly create a goal within the Department goals filter, while admins and company goal creators can create a goal within the Department and Company goals filters.
The following are steps to open the sidebar for a goal:
Please note that available fields may be different depending on the settings set by the admin.
Create a Goal within the Goals Homepage
There are two places where users can create a goal within the Goals homepage:
The following are steps to quick create a goal:
If goal differentiation and cascading goals are enabled, users will have the option to edit the goal and align to an objective or key result within the context panel.
The following are steps to update a goal or key result within the goals homepage sidebar:
The following are steps to edit a goal or key result within the goals homepage slider:
The following are steps to end a goal or key result within the goals homepage sidebar:
The following are steps to delete a goal or key result within the goals homepage sidebar:
The following are steps to reactivate an ended goal or key result:
Goals help empower employees to control their performance and development with clear, measurable objectives. Goals allow users to communicate what they are focusing on and define the developmental milestones or share initiatives they are working on that align with the company's priorities.
Note that, unlike objectives, key results will not inherit the progress of other key results unless the parent key result is measured as binary.
There are at least two places in the system where a key result can be created:
To create a key result in the goal creator: Navigate to Home>Create goal>Select Key result. OR If users have already created an objective, they can click+Add key result at the bottom of the objective goal creation page.
The following are steps to create a key result in the goal explore page:
Users may optionally write a description to remind themselves and their teammates about some details of the key result.
Please note that parent goals will only be visible if the admin has turned on cascading goals.
If an admin has created a goal cycle, users may be asked to select a cycle that this key result falls under. This is a time period in which the goals are being worked on.
Select the date the key result is expected to start. To choose the day of creation, select Choose today.
When establishing a due date for the key result, we default to the end of the current quarter or the end of the goal cycle. Users may use the date-picker calendar to select another due date in the future. This due date can differ from the parent objective or key result.
Most goals created in the system are personal goals owned by one person. However, goals can also be owned by more than one person.
Key results can be for an individual, a group, a department, or the company. Keep in mind, the types of key results users see will depend upon the permissions an admin has granted them.
Key results can be public (visible to the entire company), private (only visible to a user, a user's manager, or the user's manager's manager), or private to selected departments (only visible to goal owners and members of the departments selected).
Users may optionally set a priority for the objective (P1-P10), which will be displayed next to the goal on certain pages throughout the site. Goals will also be listed in order of priority (P1 first).
Tags are optional but help classify and organize goals. Admins create these!
Goal drafts are visible to the owners and their managers but are not visible to the rest of the company.
If cascading goals have been enabled for the company, users will have the option to align the objective or key result to a parent goal. While the system still allows users to create independent goals that are not aligned with a higher-level goal, the cascading functionality enables users to link goals to each other with strict alignment.
Strict alignment allows the parent goal to inherit the progress of its children. Users can ensure alignment between the company's strategy and department/individual objectives by explicitly linking goals to one another.
Note that, unlike objectives, key results will not inherit the progress of other key results unless the parent key result is measured as binary.
There are at least two places in the system where a user can align an objective or key result to a parent:
The following are steps to cascade a goal from the Goal Creation page:
Under Add supporting goals?, users can create objectives or key results that will support and align with the goal. These will be considered the child goals. The progress of these child goals will contribute to the success of the goal. The goal will be viewed as the parent to these child goals.
Add supporting goals by selecting+Add objective or+Add key results.
The following are steps to add a parent goal from the Goals Explore page:
The following are steps to create a supporting goal from the Goals Explore page:
When creating a goal, users can save it as a draft to publish for later. Draft goals can be published at any time using the steps below:
After publishing, users can begin tracking progress or also continue to edit the published goal.
Goal tags are a great way to group and organize the goals around significant initiatives or projects. When creating a goal, the account admin may have added tags that users can use to categorize the goal into a specific bucket. Learn how to add a tag to a goal below.
Only admins can create tags; managers and individuals cannot create tags
The following are steps to add a tag to a goal:
Note: If the account admin has made tags required, the Tags dropdown can be accessed via the goal creation main page.
After goals tags have been created and are in use, they will be grouped on the People page. Users can view them by entering Company>Goals>Tags.
The system's Jira integration allows users to connect their system goals and have them automatically update progress when Jira is updated. Jira syncs with the system at the start of the hour, if there have been any updates, the goal's progress will be updated.
The following are steps to connect Jira to a goal:
If users come across a search error, note that they may not be searching using proper JQL.
The following is a list of progress types:
The system's Jira integration allows users to connect their system goals and have them automatically update progress when Jira is updated. Users may want to disconnect the Jira connection if they find the query is no longer relevant or if they want to manually update the goal in the system.
Disconnecting Jira from a goal will stop all automatic updates and progress. Once disconnected, the goal will need to be updated manually from this point forward.
The following are steps to disconnect Jira from a goal:
Weighted goals allow goal owners to customize and communicate the relative importance of each child goal and key result. Owners can customize how much each child impacts its parents' progress across multiple levels.
There are at least two places a goal owner can change the weight of their key results:
Goal owners will have the opportunity to set custom weighting immediately after their goal has been published. Please note, custom weighting is only available for goals with a binary parent.
The following are steps to apply custom weighting after publishing a goal:
After setting the desired weight for a specific key result, the Distribute remaining button allows users to distribute quickly and evenly to all other key results. For example, Andrea, the goal owner below, is certain she wants to have her “Hire 1 assistant to the Director of BizOps” key result to be weighed at 20%, with the rest of the percent weights being measured evenly across the rest of her key results.
Here, she will enter 20% for her desired key result and leave all other fields blank. Then, she will select Distribute remaining.
This will distribute the remaining 80% evenly across key results.
Applying Custom Weighting from the Goals Page
Goal owners can edit custom weights directly from the Goals page. To do this:
The system's Salesforce integration allows users to connect their system goals and have them automatically update progress when Salesforce is updated. Salesforce syncs with the system at the start of the hour; if there have been any updates, the goal's progress will be updated.
The following are steps to connect Salesforce to a goal:
Company goals are a great way to motivate employees and give them context for a company's actions and priorities. Users can create company goals from at least two different locations within the system:
To create a company-level goal, users will need to be either a super admin or be given special permission by the super admin. Company goals will be public to all users in the system; however, only goal owners will be notified when published.
Create a Company Goal from the Goals Page
The following are steps to create a company goal from the goals page:
The following are steps to create a company goal from the goal creation page:
Adding a supporting objective or key result to an existing key result is only available for accounts with cascading goals enabled.
Note that there will be no automatic calculation of progress from the supporting key result to the existing key result. If users would like the new key result to automatically progress up, they should either convert the key result to an objective or manually update the progress of the existing key result.
Add a Key Result or Supporting Objective with Cascading Goals
The following are steps to add a key result or supporting objective with cascading goals:
Updating goals via the Goals Update Screen allows users to access all of the goals that need updating in one place instead of having to click into separate owned goals.
Employees will be able to update multiple goals based on the company's goal update reminder cadence. If users do not have a cadence set, or have opted out of notifications, the system allows the ability to update multiple goals every two weeks.
Goals are shown in order of time since the last update. Therefore, the goal that hasn't received an update in the most extended amount of time will be displayed first, and the goal that has received the most recent update will be shown last.
Goal owners can access the Goals Update screen on the system homepage (dependent on update cadence timing), the Goals Explore page, and Slack/Teams and email notifications.
To navigate via the Goals Explore page directly within the system:
OR
The Goals Update screen includes a context view of the goal users are updating along with the last three status updates for that goal. If a user's goal is aligned to a parent or is being supported by another goal, clicking into these goals will open the Goal side panel for more details on that goal.
Goals are shown in cascading order starting with the parent objective or goal and moving downward through the supporting goals.
If users are not ready to provide an update to the goal, they can choose to skip the goal by selecting Skip for now. Skipping a goal will not remove it from the Goals Update screen. Instead, it will allow users to progress to the next goal that needs updating without adding progress.
To end the goal:
Updating a goal:
Group goals are a great way to keep track of what the assigned group is working towards to help meet the company's priorities. We recommend all employees view and understand their group goals to get context on the organization's actions.
Only admins can create and manage groups; however, all users can create group goals.
If users are a member of a group, the system will create a saved view where they can easily access the group goals.
Note: Admins will not have visibility into the Group saved view if they are not a member of the group However, they can still filter by group using the filter option Type>Group goals.
To access group goals from the goals page, navigate to Goals>Groups>select the desired group.
The Goals Explore page will allow users to add and remove any additional filters to drill down on the group's goals.
If users are not a member of a group but want to see a specific group's goals, they can do so by filtering by Type>Group goals>select a group.
Department goals are a great way to keep track of what the department is working towards to help meet the company's priorities.
To create a department-level goal, users will need to be either a super admin or be given special permission by the super admin.
Users can view a department's goals from at least two places in the system:
To view a department's goals from the Goals page, navigate to Goals>Department.
To view a department's goals from the Departments page, navigate to People>Department>Goals.
Company goals are a great way to keep track of what the company is focusing on.
To create a company-level goal, users will need to be either a super admin or be given special permission by their super admin.
Users can view the company's goals from at least two places in the system:
To view the company's goals from the Goals page, navigate to Goals>Company.
To view the company's goals from the Company page, navigate to Company>Goals
As users progress on the goals, they will want to make sure that they keep the goals up-to-date in the system. Keeping the goal progress updated allows users to stay focused and keep the manager up-to-date on where they were successful or need additional support.
Goal timeline updates can be edited for seven days after they're published. After seven days, they are no longer editable. Users can quickly update goals directly from the page.
Add Progress to a Goal from the Goal Details Page
The following are steps to add progress to a goal from the goal details page:
If the company has goals aligned with different owners for objectives and key results, users may find child results that align with their goal included under key results. As a goal owner of the parent goal, a user will have the option to add progress to these supporting goals regardless of ownership.
Please note: If users want to add a What's new? summary to a key result or child goal, they can add progress directly from the key result or child goal by clicking into it from the Supported by list.
Add Progress to a Goal from the Goal Page's Context Panel
When inside the Goal Details page, users may find that they want to update or add more context to one child goal or key result. Users can do this by entering the Key Result Profile page.
The following are steps to add progress to a goal from the goal page's context panel:
If the company has goals aligned with different owners for objectives and key results, users may find child results that align with the goal included under key results. As a goal owner of the parent goal, users will have the option to add progress to these supporting goals regardless of ownership.
Please note: If users want to add a What's new? summary to a key result or child goal, they can add progress directly from the key result or child goal by clicking into it from the goals list.
Add Progress from the Goals Update Widget
Updating goals via the Update widget allows users to access all of their goals that need updating in one place instead of having to click into separate owned goals.
The following are steps to add progress to a goal from the goals update widget:
Once users have created a goal, users may want to edit the details of the goal set during the creation.
Edit an Objective or Key Result from the Goals Explore Context Panel
The following are steps to edit an objective or key result from the goal explore page context panel:
The following are steps to edit an objective from the goal details page:
Edit a Supporting Objective or Key Result from the Goal Details Page
The following are steps to edit a supporting objective or key result from the goal details page:
The system's Salesforce integration allows users to connect their system goals and have them automatically update progress when Salesforce is updated. Users may want to disconnect the Salesforce connection if they find the query is no longer relevant or if they want to manually update the goal in the system.
Disconnecting Salesforce from a goal will stop all automatic updates and progress. Once disconnected, the goal will need to be updated manually from this point forward.
The following are steps to disconnect Salesforce:
After users create a goal, they may find that it is no longer relevant and choose to permanently delete it.
Delete a Goal from the Goals Explore Page
The following are steps to delete a goal from the goals details page:
Once users have stopped working on an objective or key result in the system, they have the option to end the goal as complete or incomplete.
Users might want to mark a goal as complete if they have finished progress on the goal or they have made significant progress on the goal. Users might mark a goal as incomplete if they made little to no progress on the goal.
If the company has cascading goals turned on (parent/child goals) users will also be able to end child objectives or key results of the parent goal at the same time. Please note: this will not end other child goals down the cascade. End a Goal from the Goals Details Page
The following are steps to end a goal from the goal details page:
If the company has cascading goals turned on (parent/child goals) users will also be able to end child goals (key results) of the parent goal at the same time. Please note: this will not end other child goals down the cascade.
Goal progress can easily track goals' statuses by understanding each goal's progress bars and statuses.
When users will see Progress Bars vs. Statuses:
Active Goal Statuses: When employees update their goals, they are prompted to pick a status to reflect how they believe they are performing on their goal. The statuses are as follows:
On Track typically means that the employee feels good about where the goal is and believes they will be able to accomplish the goal.
Progressing means that the goal is moving forward, but the employee is not 100% confident they will be able to accomplish everything in the goal. They may, however, be able to get the goal back on track.
Off Track typically means the employee is not feeling good about their progress on the goal, and they will most likely not be able to accomplish the entire goal.
Goal Progress Bars: In the progress bar, the color of the highlighted progress corresponds to the employee's status in their last goal update.
Green=On Track
Yellow=Progressing
Red=Off Track
Ended Goal Statuses: When an employee is finished working on a goal, they will have two options for marking the goal ended: Complete or Incomplete.
An employee might want to mark a goal as complete if they've finished progress on the goal or have made significant progress.
An employee might mark a goal as incomplete if they made little to no progress on their goal.
Once users have ended a goal, they may want to reactivate the goal to update the goal progress or edit the goal.
Reactivating a parent objective or goal will not reactivate child goals or key results. Reactivating a key result or child objective linked to a completed parent objective will not update the parent objective's progress—the parent objective will need to be reopened individually.
Reactivate a Goal from the Goal Explore Context Panel
The following are steps to reactivate a goal from the goal explore context panel:
The following are steps to reactivate a goal from the goals details page:
The system's Gmail plugin makes it easy to view a colleagues' goals directly in an email thread.
The following are steps to install the system plugin:
Once the plugin is installed, participating team members' public goals will appear in the Gmail plugin.
The following are steps to view employee goals via the Gmail plugin:
A goals comment allows for a goal owner to leave a note with more information—separate from their status update—on another supporting goal/key result when updating without requiring to update that supporting goal. Goal comments are only available within the Goals Update screen.
A goals status update only applies to the key result/goal the user is updating.
Your goals can be found on the You page under Your active goals.
Side-scroll to view all of the active goals a user owns. To view the progress and details for an individual goal, click on the goal to be taken to its Details page.
If users want to see their colleagues' public goals, they can do that by going into the Directory page>All employees>clicking into their profile>Their active goals.
Clicking into an individual goal profile allows users to toggle between the:
With the system's goal iconography, users can quickly identify their objective and key result types without having to click into the goal itself. To best understand what each icon means, take a look at the labels below.
The Goals page is an interactive space called Goals Explore, where employees can view, edit, and update their personal goals and see any public goals and their progress. The Explore page offers several visualizations that depict the structure between individual goals and key results and the relationship between cascading goals (if enabled).
To enter the Goals page, select Goals on the discovery navigation.
There are thirteen main features to the Explore page.
These features allow users to:
Preset saved views: The Goals Explore page includes six default saved views to make it easier to view the goals users need.
A note on analytics:
A context panel will emerge to the right with additional details when users click on an individual goal within the Goal Explore page.
This context panel includes:
If users click on the goal's title, they will be redirected to the Goals Details page. From there, users can view a goal's progress timeline, check if it's on track, and see any notes that the goal owner has posted within the Audit Log. You can also edit, complete, or delete a goal from this page.
If users have cascading goals enabled, they will be able to view their objectives and key results in a cascade and tree view.
Cascading goals allows for direct alignment where the progress of the child goal will impact the parent's progress.
When users enter the Cascade view, they will initially only see parent objectives and key results. Expanding the goal will display any aligned child goals. You can also use the search bar and filter to find a goal of any level without manually clicking through each layer.
Note: Goal list analytics is not available in cascade view. Switch to list view to view goal list analytics.
In
You can continue to expand each goal until users reach the key results for individual contributors' goals. Users can have a vast network of interconnected goals based on their company's needs.
When entering tree view initially, users will only see parent goals (1). By clicking the grey bubble, they will expand the goal structure to see a second layer (2). Users can continue to expand these layers to display individual goals (3) and their key results (4).
Within the Goals page, users can filter their data by different attributes to view the goals they want within their org. From here, users can save the view so they can quickly come back and reference the filtered set of goals.
The following are steps to create a saved view:
Once they have created their view, users can access it under the Saved Views section of the Goals page.
Once users have created a saved view from their Goals Homepage, they may find that the view is no longer relevant the way it exists currently. The system allows users to edit or delete saved views so they can keep the filters that are the most pertinent to them.
The following are steps to edit a view:
The goal audit log with the Goal Details page allows goal owners, managers, and admins to keep track of the changes made to a goal.
The following users can see Audit Logs:
The following is tracked in the audit log:
Once users have navigated to the Notification Center, there are at least several options for how notifications can be sent when it comes to the Goals tool—through Slack, MS teams, and/or through email.
Goal notifications are sent as follows:
Please note: Employees will not be notified if they are removed as an owner of a goal.
To send notifications to Microsoft Teams, Slack, or email, navigate to the Notification center>Check on the desired boxes to the right of Goals>Click Save changes.
Notifications will be sent to employees who own goals when:
Goal update reminders are set to be sent out on Thursdays around 10:00 A.M. in the user's local time zone.
The weeks that the reminders are sent are based on an ISO calculator that calculates cadence every week, two weeks, month, or quarter beginning on the calendar year's first week. For example, if users select monthly notifications, they would be sent on weeks 4, 8, 12, etc.
Goal digest is a list of goal updates or newly created goals for a manager's team. For individual contributors, updates include when a company goal has been updated. Managers will receive the digest email when their direct reports have made an update to their goal.
No private goals are included in either the company or team digests.
Goal update reminders are set to be sent out on Thursdays around 10:00 A.M. in a user's local time zone. In a user's goal settings, there may be up to five options to set reminder cadence to:
Here is a breakdown of when users can expect to receive an email notification reminder, based on their cadence setting:
The goal digest is sent out on Monday the week after the goal update reminder is sent out. Both company and team digests are sent out in the same email. You will only receive the digest if there are updates that need to be communicated.
Tasks are created for goals within the system in at least two instances:
Tasks are created to remind users to update a goal and are sent out at a cadence of the admin's choosing:
The task will be named Update the goal. Goal tasks can be dismissed without completing the action they're associated with.
Goal update reminders are set to be sent out on Thursdays around 10:00 A.M. in a user's local time zone.
Clicking on the task will take users directly to the Goal Details page to update the goal progress.
Whether or not users will need to create a goal for a goal cycle depends on which types of goals the admin chooses to include in that cycle.
Clicking on the task will take users into a blank goal profile and remind users which kind of goal they are setting for that cycle.
The goal digest is a list of goal updates or newly created goals for a manager's team. For individual contributors, those updates include when a company goal has been updated. Managers will receive the digest email when their direct reports have made an update to their goal.
The following are steps to toggle goal digest off/on.
The system's Slack integration includes two types of Goals notifications—individual and feed notifications. The individual notifications include activities that directly impact the user's assigned goals whereas feed notifications include public activities for all goals within a Slack channel.
The following steps will disable the Goals Slack notifications for the individual.
Only the system's admins or individuals with IT admin permissions can enable or disable Goals Slack individual notifications for all users.
The following steps will disable individual Goals Slack notifications for the company:
Only the system's admins or individuals with IT admin permissions can enable or disable Goals Slack feed notifications.
The following steps will disable the goals feed Slack notifications:
In example embodiments, various user interfaces (also referred to herein as “surfaces”) may surface the information people need to get a snapshot understanding of where the company is at and how goals are progressing without needing to dig for it. Such an overview may be digestible, actionable, and easy to use.
Based on the user type, the system may surface the most relevant information for the user. In addition, the system may make sure to respect and adhere to the goal type in these overview surfaces.
In example embodiments, a goals overview may focus on admins (super admins, goal admins, and goal cycle admins), executives (MoMs), and department heads with higher level overviews. In example embodiments, the goals overview may additionally focus on individual and team experiences.
A surface may be created for an overview of Goals with multiple views that summarizes goal information based on goal type (company or department).
Users may have the option to customize the layout of information based on personal preference, with fields such as goal progress, goal status, owners, time frame. Users can see the relevant goals and how they connect to other goals in the organization through the tree view. Users can see the most recent status update. Users can see analytics components for each view and be quickly informed on the state of the goals.
Users should see all public goals and private goals based on their existing permissions. Admins/department heads may be enabled to more easily get actionable insight into their business for a better user experience.
Each page may have one or more KPIs displayed to the user that summarize the data. A Company page, an All Departments page, and a My Department page may be generated. Each page may have a Goals tab and an Alignment tab.
The Goals tab displays a list of objectives combined with the goal's key results, as well as standalone key results. The Alignment tab displays goals in a tree view, expandable in both directions.
The company page is an overview page for company-type goals with four main columns: title, owners, updated, progress (%). It may replace an existing company filter preset.
The all departments page is an overview page for summary of all departments with the option to filter to a single department. It is the equivalent of selecting all departments in the explorer filter.
The my department page is an overview page for the user's department (not the department a user might be the head of) with similar data as the Company page and the All Departments page. It may replace a department filter preset.
Each nav item will be protected by the feature flag+permission level. When the system adds the new pages, the system may hide the old equivalent filter presets.
Because the headers differ slightly for all pages, the system may make one header component per page rather than one general one.
When a department is selected, the current URL should update to include the departmentEntityId as part of the query params. When the page is reloaded, the department should automatically be set as the initial filter.
This dropdown selects a single as opposed to the multi-department filter we currently see on the explorer page.
The drop-down component is a single, simple filter for time range, defaulting to
The Employee Pay page is where super admins and compensation admins can see an overview of all of their company's employees' compensation and demographic information and upload employee pay data.
Admins can filter data as well as export the table into a CSV.
Navigate to the Employee page
from Admin>Compensation>Employee Pay.
The Employee Pay Table contains the following information:
The Compensation Settings page is where super admins and compensation admins are able to bulk upload key compensation information for their employees.
Navigate to Compensation Settings
from Admin>Compensation>Settings.
All data on this page is required to run a compensation cycle.
Compensation data includes:
The Compensation Bands page is where super admins can manage the compensation bands for their organization.
Navigate to the Compensation Bands page from Admin>Compensation>Compensation Bands.
The Compensation Bands page allows admins to:
Before admins can create a compensation cycle, they must upload employee pay data (base pay, variable pay if applicable, pay effective date, and pay currency), create compensation bands, and assign each employee to a compensation band.
Ensure that email addresses are correct and match existing emails of active employees in the system. If an email is uploaded that is not currently in the system, a new user will be created.
Only the system's super admins will be able to upload compensation data. Comp admins will have visibility to the modal but will be unable to upload.
The following are steps to upload pay data:
OR
The following fields are required in the Employee CSV Template:
Job architecture is the framework for understanding roles and their hierarchy within a company. In the system, job architecture is a combination of user attributes that determine an employee's compensation band in our Compensation tool.
Job architecture is available as three default user attributes in the system:
Align Job Architecture with Compensation Bands
The following are steps to align job architecture with a compensation band:
Note: The CSV upload will contain all job architecture attributes. Uploading the CSV with the associated job architecture values will match the employees to the corresponding compensation band.
Before admins can create a compensation cycle, compensation bands must be created in the system.
The following are steps to create a new compensation band:
Note: To bulk upload compensation bands, select Upload from CSV, download the template, and reupload.
Before admins can create a compensation cycle, admins must create and assign employees to compensation bands in the system.
There are two locations in the system that allow admins to bulk upload compensation bands:
The following are steps to bulk upload compensation bands from the compensation bands page:
The following are steps to bulk upload compensation bands from the compensation settings page:
The following fields are required for the compensation bands CSV template:
Note: Base salary ranges need to be broken out for each job function.
Once compensation bands have been created, admins can assign employees to the bands. Employees must be assigned to a compensation band in order to be included in a compensation cycle
The following are steps to assign employees to compensation bands:
Once compensation bands have been created, an admin can follow the following steps to assign employees to the bands by uploading a CSV.
The following fields are required in an employee compensation bands CSV template:
Once an employee has been assigned to a compensation band, admins can remove that employee from the band at any point in time.
Note: Removing an employee from a compensation band will also remove them from any band information that has been shared.
Remove an Employee from a Compensation Band
The following are steps to remove an employee from a compensation band from within the compensation bands page:
Once compensation bands have been created and assigned, admins can share the compensation bands with the employee's manager.
Share Compensation Bands with a Manager
The following are steps to share compensation bands with a manager from the compensation bands page:
Once shared, compensation bands can be viewed by managers.
The following are steps to view a compensation band for a team:
Compensation bands contain the following:
A glossary of terms for Compensation:
The following files will need to be uploaded before creating a compensation cycle. All are required with the exception of promotions.
Employee pay data: Pay data includes base pay, variable pay, currency, and pay effective date. Employee pay data is required before creating a compensation cycle.
Compensation bands: Compensation bands refer to the minimum and maximum amounts a company is willing to compensate someone within a job level. Compensation bands are required before creating a compensation cycle.
The following fields are required for a compensation band:
Compensation band assignments: Employees must be assigned to a compensation band in order to be included in the compensation cycle.
When bulk assigning compensation bands, the following fields are required:
Promotions: Promotion indicates which individuals are going to be promoted via this cycle. Promotion is set during the compensation cycle set up via a CSV.
The compensation cycle will require the following information.
Currency: Determine the currency to use for the compensation cycle. Compensation cycles can only use one currency type.
Eligibility rules: Decide which employees are eligible to receive a compensation adjustment based on:
Performance data to be used: Determine whether to bring in a performance rating question from a review cycle. This information can be used to help calculate raise guidance and be provided to managers and admins for context.
Budget and distribution: Determine the overall budget based on an average (%) increase on total pay or a lump sum amount.
Guidance rules for salary increases: Determine whether to provide recommenders with a raise guidance for each eligible employee based on a target percent increase on total pay. You can set a certain percentage based on the linked performance review or for all employees.
There are several types of admin roles with varying levels of access to compensation data and functionality:
For specific functionality, please see the table in
Compensation cycles allow admins to set up, launch, and track the compensation review workflow directly in the system. For an overview of the process, see the following video:
Before admins can create a compensation cycle, admins may be prompted to:
The following are steps to create a new compensation cycle:
Compensation cycles require completion of the following steps:
The Setup page of a compensation cycle setup allows admins to name the cycle and set compensation cycle admins.
The following are steps in the setup page of a compensation cycle:
The Rules and Ratings page of a compensation cycle setup allows admins to define eligibility requirements for the compensation cycle.
The following must be input in the rules and ratings page for employees to be eligible to receive a compensation adjustment:
The Participants page of a compensation cycle setup allows admins to determine who will be included in the cycle, who will be promoted in the cycle, and confirm performance ratings.
Status: Participants initially represent all employees. In the table, each participant will have a specific status based on the eligibility rules:
Admin users will be able to change the status on the table to override the eligibility rules via the dropdown.
Note: You can adjust individual employee eligibility during the active cycle.
Rating: Ratings will show whether or not an employee has a performance rating via a checkmark based on the selection made within the Rules and ratings page.
Promotion: Promotion indicates which individuals are going to be promoted via this cycle. Promotions can be added via CSV upload or manually within the cycle setup.
The following are steps to indicate promotions within the cycle setup:
Note: Promotion handling will be unavailable for hidden or ineligible employees.
Bulk update eligibility or promotions: Admins can make bulk changes to the participants by uploading a CSV
The following are steps to upload a CSV and make bulk changes to the participants
The Data check page of a compensation cycle setup allows admins to ensure all participants (except for hidden) have pay data and are assigned to a compensation band.
If an employee is missing employee base salary and variable pay or compensation band assignments, a flag will be raised, and users will be directed to the Settings page to correct missing data before moving on to the next step.
The Data check page also shows some optional data for reference, but missing data here does not stop the cycle from progressing to the next step.
Role table: All managers with eligible direct reports are included within the Roles table as a compensation recommender. Managers of managers will be listed as approvers of the managers who report to them.
The Roles table includes:
Admin users can remove managers from submitting in the cycle by unchecking their names from the list. Any employees they were responsible for recommending or approving will be assigned to that person's manager. If users choose to uncheck all managers and managers of managers along a reporting chain, the admin will be in charge of all of their recommendations.
The Budget page of a compensation cycle setup allows admins to set a budget and calculate the projected spend for the compensation cycle.
This budget guidance will help support recommenders in making compensation decisions. The following can be completed when setting a budget:
The Projected distribution chart shows the budget breakdown by the three existing categories: promotion guidance, raise guidance, and remaining budget.
If promotion and merit raise guidance exceeds the total budget, users will receive an exceeding budget error and be requested to adjust the budget or raise guidance.
The following are steps for Admins to bulk update the raise guidance by uploading a CSV:
The Distribute page of a compensation cycle setup allows admins to distribute any remaining budget to select leaders.
Distribution is shown for the first two layers of the organization to give the leaders extra budget in addition to the guidance set. To allocate additional budget to a leader, add additional funds within the Additional column.
Note: Compensation admins can adjust and distribute budget during the active cycle.
The Verify page of a compensation cycle setup allows admins to review the compensation cycle configurations and launch the cycle.
At the end of the cycle setup process, users will have the option to verify their configurations and send a customizable launch notification to all managers who are participating in the cycle.
All participating managers will receive a notification via email, Slack, or Microsoft Teams, depending on the company's notification preference, and also receive a task on the homepage prompting them to complete their compensation review.
Once a compensation cycle has been launched, managers will receive a notification prompting them to complete their compensation review for their direct reports.
Note: In most cases, only direct line managers will see this view. However, in some cases, managers of managers may also get this view if their direct report managers are not recommending as part of the process, in which case all their direct report's reports will roll up to the manager of managers. Complete a Compensation Review
The following are steps to create a compensation review:
OR
The compensation review includes a summary of statistics for the team:
Each member of the team will have an employee card with their information and places to fill in their compensation recommendation. Ineligible employees will also be included, but users will not be able to make recommendations for them.
The following contextual information is provided on each card:
To write in a compensation recommendation, input a raise recommendation as a percentage (%) or new total pay.
If an employee has a variable pay component, a manager can manually edit the amount of pay that belongs to base vs. variable, or they can enter a value into ‘Total’ and base and variable will be automatically calculated based on the existing ratio.
If users would like to use the guidance set by the admin, they can select Use Guidance to automatically input the recommendation.
The page footer will track how many recommendations have been completed and how many are outstanding. The next person in the compensation process, the approver, will be shown here.
You can add in an explanation to a recommendation by clicking the ‘Add a note’ button on the employee's card. This explanation will be viewable by all managers approving this employee, as well as admins.
Select Confirm recommendations to submit one or more recommendations. Note, that recommendations cannot be edited once submitted.
Once a compensation cycle has been launched, managers of managers will receive a notification prompting them to complete their compensation review for their direct and indirect reports.
Managers of managers are responsible for the approval of recommendations submitted by those in their organization and will see a view that includes approving, in addition to recommending.
The following are steps to complete a compensation review:
OR
Users will have the opportunity to provide recommendations for their own direct reports under the My direct reports section.
Note: Most of the information and tasks are similar to the manager recommender view. The key difference is that explanations that justify a user's recommendations are submitted by clicking on the Notes icon within the Actions column. Justifications will only be visible to those above the user within their reporting chain.
Under My organization, users will be able to view and approve all recommendations submitted by the team for their direct reports. Expand each manager's section to view a table of their direct reports and recommendations.
To submit this page, users will need to act on each person in their organization by either:
The page footer will track how many recommendations and approvals have been completed and how many are outstanding. The next person in the compensation process, the approver, will be shown here.
The Confirmation page allows users to review their compensation adjustments:
Select Submit to finalize the recommendations. Note that approvals cannot be edited once submitted.
Once users have navigated to the Notification Center, there are a few options for how notifications can be sent when it comes to our Compensation tool-through Slack/Microsoft Teams and/or through email.
Compensation notifications are sent as follows:
To send these through Slack/Microsoft Teams or email, users can check on the boxes to the right of Compensation, as shown in
Admins will have the opportunity to customize a launch message to compensation cycle participating managers during the setup.
This notification will be sent via email, Slack, or MS teams (depending on a user's notification settings). Participating managers will receive a task on their homepage prompting them to complete their compensation review when the cycle is launched.
Once a compensation cycle ends, admins can share results with participating managers. Sharing results will prompt a notification to all managers.
This notification will be sent via email, Slack, or MS teams (depending on a user's notification settings). Participating managers will receive a task on their homepage prompting them to view their results.
Compensation cycle admins will be able to configure, launch, and run the compensation cycle they have been added to.
Note: Notifications will not be sent to admins once added to a compensation cycle
The following are steps to add admins to a compensation cycle:
Admins have the ability to change the status of a compensation cycle participant even after a cycle has been launched.
Note that if a participant is moved to hidden (i.e., removed from the cycle) they will not be able to be added back in. Some status changes may result in changes in budget guidance, which will be noted and will prompt a user to make adjustments to the user's budget.
The following are steps to adjust the status of participants in a compensation cycle:
Admins have the ability to adjust the compensation budget even after a cycle has been launched.
Note that this is based on the budget that was set up initially and does not reflect any actual recommendations that may be coming in.
The Budget page includes a Budget distribution chart that shows the budget breakdown by the three existing categories: raise guidance, distributed, and remaining budget.
If the distribution ever goes over budget, the system will notify users via a callout; however, being over budget will not stop the cycle from running. To prevent going over, adjust the total or distributed budget using the steps below.
The following are steps to adjust a budget in an active compensation cycle:
The total budget shows the entire budget of the cycle. You can increase or decrease this total amount.
The following are steps to adjust the total budget of a cycle:
The distributed budget shows how much of the post-raise and promoting guidance budget is being distributed to employees directly below the CEO as extra budget on top of the existing raise guidance allocation. You can increase or decrease the amount per leader.
The following are steps to adjust the distributed budget of a cycle:
Once the compensation cycle setup makes it past the Data check page, a snapshot of the cycle data will be taken. This means that any changes to that data made after this point will not be reflected in the cycle
This data includes:
Admins will also not be able to add promotions after this point.
Changes to eligibility statuses will be allowed during the active cycle. Admins will be able to change ineligible participants to eligible and vice versa.
Admin users will have visibility into all submissions across the compensation cycle.
The following are steps to view compensation changes:
The compensation review includes a summary of statics for the team:
The compensation table includes a list of all employees, separated by team, that are eligible for a comp change along with the following contextual information:
The Compensation table allows users to group by Manager or None. Choosing to Group By “None” will show all participants within the cycle. This can be filtered further by Department, Job Function, Job Level, or Location.
Under Actions, admins can provide admin notes around any changes made to compensation for each employee. Only admins who have visibility to the compensation tool will have visibility into the notes left.
Admins have the ability to override all inputs for each employee by adjusting the new pay percentage or total pay. New pay will still be editable even after the cycle ends to allow a user to provide any final inputs or overrides.
Admins can end a compensation cycle to stop managers from submitting additional recommendations and approvals.
Cycles can be ended at any time, even if recommendations and approvals have not all been completed. Managers who have not submitted their recommendations will be unable to do so once the cycle is ended.
Admins can still edit comp changes after a cycle has ended within the All compensation changes tab. Once a comp cycle has ended, it cannot be reopened.
The following are steps to end a compensation cycle:
Final compensation changes can be shared with participating managers in the system after a cycle has ended. Managers will get view-only access to the compensation data of their direct reports.
Admins will be unable to share results until the compensation cycle ends.
Once the compensation changes are shared, users will be unable to revoke visibility access; however, users can continue to make edits to compensation changes that will automatically be reflected in the manager's view.
The following are steps to share compensation cycle results:
Once results are shared, all managers who participated in the comp cycle will receive two forms of notification: an email, Slack, and/or MS Teams message (depending on the organization's custom notification settings). A homepage task will be created to allow managers to easily access the view within the system.
Once compensation cycle results have been shared by an admin, users will be able to view the results for their team.
The following are steps to view the results for a team:
As described herein, machine learning techniques may be used to, for example, improve the alignment of employee goals with company objectives and/or enhance compensation decisions.
Aligning Employee Goals using Machine Learning
A machine learning model may be trained on historical goals data to generate predictions for aligning new employee goals.
Historical goals data may be collected from various sources, including, for example, employee records, performance systems, and HR platforms. The raw goals data may include unstructured text descriptions of past employee goals. Natural language processing techniques may be used to extract structured information from the goals text.
For example, named entity recognition and relation extraction algorithms may be applied to identify key entities (e.g. employee, department, objective, metric) and/or relationships describing the alignment of goals. Text embedding algorithms may be used to convert the raw text into numerical vector representations encoding semantic meaning.
The processed goals data may be divided into training and holdout test sets. The training set may be used to train the machine learning model. The test set may be used to evaluate model performance.
The machine learning model may comprise a neural network implementing an embedding layer, convolutional layers, pooling layers, and/or dense layers. A convolutional neural network architecture may be selected based on its proven effectiveness in text classification tasks.
The embedding layer converts input text vectors into dense vectors using a goals-specific word embedding matrix. The convolutional layers identify local patterns and motifs in the embedded vectors. The pooling layers reduce the dimensionality of the convolutional layers while preserving important information. The dense layers classify the extracted features into goal alignment predictions.
One skilled in the art will appreciate that various standard neural network architectures could be adapted for the goals alignment task.
The neural network may be trained on the prepared goals data using standard backpropagation techniques. The network parameters are updated to minimize a loss function comparing the predicted goal alignments against the true labels in the training set.
Regularization methods like dropout and early stopping may be used to prevent overfitting. Hyperparameters like learning rate, epochs, and/or batch size may be tuned using the holdout test set to optimize prediction accuracy.
The result is a trained neural network model for predicting, for example, the alignment of new employee goals based on text descriptions.
In operation, the trained model may be deployed to, for example, align new employee goals with company objectives, for other uses described herein. For example, when an employee submits a new goal, the text description is passed to the trained model. The model generates a predicted alignment for the new goal with existing company objectives.
The predicted alignment can be presented to the employee or administrator to assist in linking the goal. The model's probabilistic predictions can also be thresholded to generate automated goal alignment recommendations. By leveraging the trained model, the system technically improves the goal alignment process.
Machine learning techniques may also be used to improve compensation decisions.
Historical compensation data may be collected from company records. The raw data may include employee details like performance ratings, job function, experience level, past compensation, and/or demographic information.
Feature engineering may be used to extract relevant variables from the raw data. Categorical variables like job function are encoded into numeric representations. Text variables like performance feedback are embedded into vectors using natural language processing. The processed data is divided into training and test sets.
A regression neural network may be used to predict appropriate compensation changes. The network has an input layer accepting the engineered features, hidden layers for processing, and/or an output layer predicting the compensation change amount.
Those skilled in the art will appreciate the wide range of applicable regression models.
The network may be trained on the compensation data to minimize a loss may be comparing the predicted and actual compensation changes. Regularization methods are employed to prevent overfitting. The hyperparameters may be tuned on the holdout test to optimize prediction accuracy.
The result may be a trained regression model that can predict suitable compensation changes based on employee data.
In operation, the trained model may be deployed to, for example, enhance compensation decisions or for other applications described herein. For example, when reviewing an employee, their details may be passed to the model to generate a predicted compensation change.
The prediction can assist reviewers in making fair, data-driven decisions. The model outputs can also be used to highlight potential discrepancies across groups with similar qualifications but differing predictions. By leveraging the trained model, the system provides a technological improvement to compensation determination.
Here are some examples of how machine learning could potentially be applied to enhance the compensation and goals features:
Predictive modeling to forecast future compensation trends and budgets. This can assist planning compensation cycles.
Anomaly detection models to identify unusual compensation changes and potentially fraudulent activities. This can augment auditing.
Bias detection algorithms to analyze compensation actions and outcomes for demographic disparities. This can promote pay equity.
Recommender systems to suggest appropriate compensation packages for open roles. This can improve hiring workflows.
Natural language processing of compensation adjustment rationale to ensure explanations are substantive. This provides oversight.
Sentiment analysis on employees' reactions to compensation outcomes to monitor engagement and fairness perceptions. This enables gaining insights.
Recommendation systems to suggest goals aligned to organizational objectives and employee strengths. This assists goal setting.
Prediction models to forecast goal progression and completion probability. This enables monitoring goal health.
Anomaly detection on goal progression to flag unusual trends. This facilitates oversight.
Natural language models to generate goal descriptions and key results from high-level objectives. This can boost productivity.
Prioritization algorithms to dynamically reorder goals based on importance and urgency. This helps focus efforts.
Sentiment analysis to assess employee sentiment on goals to detect frustration. This allows refinement.
Clustering and association rules to reveal correlations and patterns in goals data. This provides insights.
Thus, the system may be configured to leverage ML to enhance workflows through recommendations, forecasting, anomaly detection, text generation, prioritization, sentiment analysis, and data discovery.
Here are some examples of insights that the machine learning described herein may be configured to reveal regarding compensation and goals:
Predictive Modeling for Budgeting: A regression model could forecast next year's payroll budget needs by analyzing historical trends in compensation changes, hiring forecasts, attrition predictions, and economic indicators. The predictions can help guide budget planning cycles.
Anomaly Detection for Auditing: An unsupervised anomaly detection model could identify highly unusual compensation actions by learning the expected patterns and magnitude of pay changes for each job type and level. Detected anomalies such as excessive bonuses or equity grants could trigger audits.
Bias Detection for Equity Analysis: A supervised classification model could predict compensation actions based on employee demographics and qualifications. Systematically lower pay predicted for certain demographic groups could indicate potential equity gaps needing intervention.
Recommendation Systems for Hiring: A content-based recommendation system could suggest appropriate pay packages for open roles by learning from historical compensation patterns and matching candidate credentials to similar past profiles. This can optimize hiring workflows.
Sentiment Analysis for Fairness: A natural language processing model could analyze employee feedback on compensation outcomes to gauge perceptions of fairness. Divergent sentiment across demographic groups could reveal areas needing improvement.
Recommendation Systems for Alignment: A collaborative filtering model could suggest goals for employees that align to organizational objectives and priorities by analyzing historical goal patterns and relationships. This helps focus efforts.
Prediction Models for Completion Forecasting: A time series forecasting model could predict the likelihood of on-time completion for goals based on historical progression trajectories. Managers can prioritize goals at risk of falling behind.
Anomaly Detection for Oversight: An unsupervised anomaly detection model could identify unusual goal progression trends like stalled advancement or abrupt surges. Anomalies could indicate potential issues needing intervention.
Natural Language Models for Productivity: A natural language generation model could draft low-level key results and milestones from high-level qualitative objectives. This accelerates goal planning and alignment.
Prioritization Algorithms for Focus: A reinforcement learning model could dynamically reprioritize goals based on changing organizational needs and employee workloads to focus efforts on the most critical areas.
Sentiment Analysis for Refinement: A text classification model could analyze employee feedback on goals to gauge frustration levels. Highly negative sentiment could indicate difficulties needing goal refinement.
Thus, application of machine learning may enhance compensation and goal analytics with actionable insights.
The operations described herein include unconventional elements that improve upon traditional enterprise goal tracking solutions. The novel aspects of the goals feature include, for example:
Configurable Goal Ontology. The system allows modeling goals with a flexible ontology to capture semantics and terminology specific to the organization. Goals are represented as a network of modular objective and key result entities with custom relationship types. Properties can be added to annotate goals for machine learning. This exceeds rigid predefined goal taxonomies.
Declarative Goal Hierarchies. Hierarchical goal alignments are defined using declarative mapping rules as opposed to rigid manual goal tree constructions. This allows dynamically materializing hierarchical goal views on demand based on the current state of the flexible goal ontology. Goal hierarchies can be efficiently rebuilt in response to changes.
Responsive Goal Visualizations. Interactive graphical interfaces empower users to explore and manage goals leveraging the flexible ontology and dynamic hierarchies. Visualizations like expanding objective trees and relationship graphs provide intuitive visibility into goal alignment and progress monitoring. This delivers a more responsive exploration experience compared to static goal reports.
Granular Access Policies. The system allows defining fine-grained access control policies specific to goal data and actions based on parameters like user attributes, goal properties, and hierarchy depth. For example, control of setting organizational goals can be restricted, while employees can manage individual goals. This provides greater access control precision than coarse-grained role-based access.
Change Data Architecture. The system maintains goal data currency by incrementally capturing changes from integrated systems and propagating updates bidirectionally using change data capture, events, and messaging. This facilitates real-time synchronization as compared to bulk data transfers.
Continuous Compliance. Lightweight policy decision points are embedded throughout the architecture for consistent localized enforcement, and anomaly detection identifies potential violations to trigger reviews. This drives greater compliance with goal management policies compared to periodic audits.
MLOps for Goals. Machine learning model development, deployment, monitoring, and governance are operationalized using robust MLOps practices. Predictive models generate goal recommendations while explainability provides model transparency. This brings advanced ML techniques like privacy preservation and bias detection to goal recommendations.
Simulation-based Evaluation. Predictive goal recommendation models are evaluated offline using simulations based on anonymized historical data before being applied in production interfaces. This allows minimizing risks and harms from goal model automation. Most systems directly test models on users.
Embedded Analytics. Goal dashboards are contextually embedded in the interactive interfaces using visualizations tuned to user personas and contexts. This provides intuitive visibility by meeting users in their workflow instead of requiring accessing separate analytics systems.
The operations disclosed herein also include non-standard characteristics distinguishing them from incumbent compensation solutions. The unconventional compensation aspects that provide advantages over conventional systems include, for example:
Flexible Compensation Modeling. Compensation is modeled using an extensible ontology allowing organizations to define custom compensation components, relationships, formulas, and semantics. For example, complex equity award types can be represented. This exceeds hardcoded compensation element definitions.
Declarative Compensation Hierarchies. Hierarchical compensation data views like bands and grades are generated on demand by evaluating declarative mapping rules against the flexible compensation model. This allows dynamically materializing tailored compensation hierarchies.
Auditability. Compensation actions are logged in an immutable audit trail with user context and explanatory notes. Audit reports provide transparency into compensation decisions, answering questions like why an employee's pay changed. This exceeds basic change logging.
Explainable Compensation Actions. Managers can provide contextual notes explaining the rationale behind compensation actions which are persisted for review and auditing. Rationale helps identify potential biases and ensures equitable pay. Most systems lack contextual explainability.
Granular Access Policies. The system enables defining fine-grained access policies for compensation data and actions based on parameters like user attributes, compensation properties, and organization hierarchies. For example, manager compensation visibility can be limited. This facilitates access control precision exceeding coarse role-based access.
Change Data Architecture. Incremental compensation data changes are captured from upstream systems and propagated bidirectionally using change data capture and messaging for real-time synchronization. This delivers timelier update propagation compared to bulk data transfers.
Anomaly Detection. Analyzing access patterns allows detecting compensation policy violations to trigger reviews. For example, managers accessing subordinate pay outside review cycles may be flagged. This enables real-time compliance monitoring rather than periodic audits.
MLOps for Compensation. Applying machine learning to compensation actions follows robust MLOps methodologies for model development, deployment, monitoring, and governance. Responsible AI practices instill trust and fairness when leveraging ML predictions for compensation actions. Most systems cannot support ML appropriately.
Simulation-based Evaluation. Compensation simulations using synthetic data evaluate ML models offline prior to production deployment to minimize risks from compensation model automation. This exceeds testing models directly on employee data.
Embedded Analytics. Compensation dashboards are embedded directly into the interactive interfaces providing intuitive visibility into pay trends and outliers. This brings insights to managers rather than requiring accessing separate analytics systems.
The compensation management and goals tracking systems described herein may leverage flexible ontologies to model organizational data. These extensible ontologies empower advanced user interface capabilities that would be difficult to achieve using conventional rigid data models.
The flexible ontology utilized to model goals and compensation employs an extensible entity-relationship schema capable of capturing specialized semantics.
A schema accommodates configurable entity types such as Goal, Objective, KeyResult, Salary, Bonus etc. Relationships like AlignsWith, Measures, and ApprovedBy model associations between entities. Properties contain metadata like Status, Value, ReviewDate, etc.
This schema can be extended without modifications to core entity classes. New entities, relationships, and properties are added by declaration. For example:
Declare Entity Milestone subClassOf Goal
Declare Relationship dependsOn domain Milestone range Goal
Declare Property completionDate domain Milestone
The ontology may be stored in a graph database optimized for efficient traversal of arbitrary entity-relationship graphs. This enables dynamically materializing views like hierarchical compensation bands by querying relationships.
The flexible schema powering the ontology is unconventional. Hardcoded rigid data models cannot accommodate specialized semantics or extensibility.
The compensation system models the organization's total rewards structure using an adaptable ontology. The ontology consists of entities representing compensation components, relationships between the components, and properties describing the components.
The ontology supports configurable compensation component entities like:
Relationships represent associations between compensation components. Sample relationships include:
Properties represent attributes of compensation components. Examples include:
The adaptable ontology provides the backbone for the dynamic user interfaces allowing compensation administrators to configure tailored compensation models and hierarchies on the fly.
In example embodiments, one or more user interfaces may be caused to be presented that include advanced visualizations, embedded analytics, mobile optimization, drag-and-drop manipulation, visual cues, animations, recommendations, or simulations, as described herein. For example, one or more user interfaces my include one or more of the following features:
An interactive sidebar providing contextual actions on goals including creating, aligning, updating, editing, ending, deleting, and reactivating goals;
Expandable goal trees and relationship graphs visually depicting alignments, hierarchies, and interdependencies between goals;
Embedded goal analytics using visualizations tailored to user personas and contexts;
Role-based dashboard views surfacing key progress indicators and insights;
A mobile-optimized interface allowing quick access and editing of goals using minimal navigation and screens;
Drag-and-drop interfaces enabling intuitive re-organization and re-structuring of goals;
Visual cues highlighting goals requiring attention or action;
Animated microinteractions providing feedback on goal actions;
Accessible and internationalized interfaces supporting assistive technologies and localization;
Contextual recommendations of potentially relevant goals, structures, and associations; and/or
Simulated previews allowing previewing goal changes without impacting live data;
Recommendations generated by a machine learning model may be seamlessly integrated into the user interface to enhance goal workflows in a low-risk manner.
The user interface(s) may include, for example, contextual recommendations of potentially relevant goals, structures, and/or associations generated using a trained machine learning model. The machine learning model may be trained on historical goal data to identify patterns and correlations between goals, structures, and associations. The recommendations may suggest goals entities, mappings, hierarchies and representations to users and administrators to enhance goal definition workflows. The recommendations are provided via interactive overlays and previews allowing non-disruptive, low-risk exploration of recommendations. For example, the recommendations may aim to increase efficiency, alignment, and structure of goal definitions based on learned patterns and relationships between goals from organizational data.
Similarly, the goals system may leverage a flexible ontology for modeling organizational goals and alignments. The key elements include:
Custom goal entities can be defined including:
Relationships represent goal associations and alignments:
The adaptable goals ontology powers dynamic interfaces for navigating complex goal hierarchies and visualizing goal alignments tailored to users' specific roles and contexts.
The flexible compensation and goals ontologies directly facilitate customized user experiences not easily achievable with rigid, hardcoded data models.
Personalized Views: Interfaces can dynamically assemble personalized views of relevant goals and compensation tailored to each user's role and context by querying the ontology. For example, a manager may see a filtered view of subordinate goals.
Configurable Terminology: The ontology accommodates customized industry and organizational terminology for goals and compensation surfacing the appropriate language in the interfaces.
Access Control Integration: The extensible ontology integrates with access control rules to restrict interface data to authorized users. For example, salary information may be hidden from unauthorized employees.
Hierarchy Visualization: Interfaces can render interactive visualizations of tailored goal and compensation hierarchies by traversing relationships in the ontology. For example, drilling down through division and department goals.
Change Propagation: Bidirectional change propagation maintains ontology consistency across systems, keeping goal status and compensation data current in the interfaces.
The flexible ontologies enrich the adaptive user experiences by enabling personalized views, custom terminology, access control, interactive visualizations, and/or real-time data updates. The ontologies shift the interfaces from rigid, predefined views constrained by hardcoded data models to dynamic experiences tailored to each user and context.
The goals and compensation systems described herein may leverage declarative mapping rules to dynamically construct tailored hierarchical views for specific user contexts. This exceeds rigid manual hierarchy definition by enabling responsive goal trees and compensation bands adapted to users' needs.
Declarative Goal Hierarchies: The goals system allows users to explore and manage goals through hierarchical visualizations like expanding goal trees. However, manually defining rigid goal hierarchies limits flexibility. Instead, declarative hierarchy definition rules dynamically assemble customizable goal trees on demand.
Hierarchy Rules: Goal hierarchy rules declare mappings between goals based on properties and relationships in the flexible goals ontology. For example:
Goals related to strategy X with priority over 50 map under the “Top Priorities” tree.
Key results linked to an objective via “supports” relationship map under that objective.
Milestones required for a key result based on “depends on” relationship map under that key result.
Hierarchy rules can be logically chained together to construct multi-layered hierarchies.
A plurality of goal entity types may comprise objectives, key results, milestones, strategies, or projects. The goal entity types may be customizable via configuration to accommodate specific goal semantics of an organization.
A plurality of customizable relationship types may comprise alignment relationships, supporting relationships, dependency relationships, ownership relationships, or causality relationships, The relationship types may represent associations and workflows between the plurality of goal entity types.
A plurality of properties representing attributes associated with each of the plurality of goal entity types may comprise titles, descriptions, statuses, due dates, progress metrics, priorities, tags, timestamps, owners, sources, confidence scores, sentiment scores, activity metrics, versions, lifecycle stages, health indicators, and so on.
A plurality of mapping rules may declaratively define how goal entities should be structured based on, for example, the relationship types and properties, the mapping rules evaluated at runtime to dynamically assemble customized goal representations personalized to each user and optimized for specific user interfaces and workflows.
Thus, the flexible goal ontology may support one or more of customizable goal entity types, configurable relationship types between entities, versatile properties or metadata attributes, and/or declarative mapping rules that evaluate the ontology to generate customizable goal visualizations.
Responsive Materialization. When a user requests a goal hierarchy view like their team's goals, the rules are evaluated against the current ontology state to materialize a tailored tree structure. The hierarchy is assembled on demand in real time by resolving the rule-defined mappings.
This allows dynamically constructing personalized goal hierarchies optimized for specific user needs as opposed to prebuilt static hierarchies.
Incremental Updates. When the underlying goals change, affected hierarchies are incrementally updated by re-evaluating related rules. For example, if a goal priority changes, it may map to a different parent based on rules for prioritizing high goals. This incremental update approach is highly scalable compared to reprocessing all hierarchies on every change.
Contextual Hierarchies. Different users may see different hierarchies for the same underlying goal set based on their context. For example, managers may see expanded subordinate goals while peers see summarized views. Rules parameterize mapping logic using user attributes like role to drive personalized hierarchy views. Contextual parameters also include goal properties, organization attributes, and/or other factors.
Access Control Integration. Generated hierarchies respect access control rules, filtering restricted goals from unauthorized users. This avoids inadvertently exposing sensitive goals through hierarchies.
Hierarchy Caching. Materializing hierarchies on demand can be resource intensive. Caching optimizes performance by reusing recent hierarchy outputs when possible to avoid unnecessary rule re-evaluation.
Such declarative goal hierarchies provide a highly responsive and customizable visualization experience through dynamically generated goal trees adapted to each user's context and access level.
Declarative Compensation Hierarchies
Similarly, the compensation system leverages declarative rules to construct tailored compensation hierarchies like bands and grades on demand.
Hierarchy Rules. Compensation hierarchy rules declare mappings between compensation data elements based on properties and relationships in the flexible compensation ontology. Examples include:
When a user accesses a compensation hierarchy view, the current ontology state is evaluated against the rules to materialize a tailored structure matching the context. For example, generating an employee's specific total rewards hierarchy.
This provides responsive, personalized hierarchy views instead of rigid predefined hierarchies.
In example embodiments, evaluating the declarative mapping rules may comprise one or more of the following operations:
Receiving a request from a user to view a goal representation, the request comprising a user identifier indicating the requesting user and/or a user context parameter indicating a context of the requesting user;
Identifying applicable mapping rules from the declarative mapping rule set based on the user identifier and the user context parameter;
Applying the applicable mapping rules to the flexible goal ontology by, for example, traversing goal entities and relationships to identify goals relevant to the user based on the applicable mapping rules, filtering out goal entities inaccessible to the user based on access control policies associated with the user identifier, organizing and/or structuring the relevant, accessible goal entities into a goal representation customized for the user using organizational, hierarchical, chronological, or categorized structures defined in the applicable mapping rules; and/or
Dynamically updating the customized goal representation based on changes to the goal entities, relationships, properties, access policies, and/or user context by re-evaluating the applicable mapping rules.
Mapping rules may, for example, customize and tailor goal representations and hierarchies based on properties like priority, status, ownership, relationships like supporting/supported-by, and user context like department and access level. Examples include:
Incremental Updates. Compensation changes trigger incremental hierarchy updates by re-evaluating related rules. For example, a salary change may map the employee to a new pay grade based on the updated salary amount. Incremental updates maintain performance as compensation data evolves.
Contextual Hierarchies. Compensation hierarchies are customized to specific user contexts via parameterized rules checking attributes like role. For example, managers may see subordinate compensation details while employees see summarized band-level data. Access controls are integrated to restrict any unauthorized sensitive pay data from generated views.
Caching Optimizations. Recently generated compensation hierarchies are cached and reused when applicable to optimize performance.
Declarative compensation hierarchies deliver tailored, responsive pay data visualizations matching each user's context and access privileges by dynamically materializing views on demand.
Benefits of Declarative Hierarchies: Declarative hierarchies provide several key advantages over manual rigid hierarchy definition:
By using declarative hierarchy logic, the goals and compensation systems provide more responsive, customizable, and secure hierarchy views tailored to each user's specific context and access level.
Here are some example declarative mapping rules that could be defined to dynamically generate personalized goal hierarchies tailored to specific users:
These examples demonstrate how declarative rules can be defined over properties like priority, status, and due date as well as relationships like supporting goals and aligned goals. The rules can filter, organize, and structure goals personalized to each user's context and access privileges.
When a user requests their goal hierarchy, these rules would be evaluated against the current state of goals and relationships to assemble a tailored tree structure optimized for that user. As goals change, incremental updates would re-evaluate related rules to maintain the hierarchy.
An advantage over rigid manually defined hierarchies is the ability to dynamically generate customizable goal trees personalized for each user that adapt as goals evolve.
Hierarchies may be defined using a declarative domain-specific language (DSL) that maps ontology elements based on property constraints and patterns. For example:
A DSL compiler may convert mappings into executable query plans. Plans are incrementally re-evaluated on data changes.
The declarative nature enables adapting hierarchies by modifying mappings instead of hand-coding new queries. This provides more maintainable, customizable hierarchies compared to predefined views.
In example embodiments, implementing the described robust goals management and compensation planning capabilities may require specialized data structures tailored to the complex information being modeled. Conventional generic data structures impose limitations. Examples of specialized data structures that may be used are described below.
Objective Hierarchy Tree. The Objective Hierarchy Tree optimizes retrieving and traversing tree structures of business objectives and their aligned lower-level goals.
Structure:
Operations:
Benefits:
Goal Priority Queue. The Goal Priority Queue provides ordered access to goals based on priority attributes.
Structure:
Operations:
Benefits:
Goal Timeline. The Goal Timeline maps goal progression events on a chronological timeline.
Structure:
Operations:
Benefits:
Goal Change Stream. The Goal Change Stream provides an append-only ordered log of changes to goals.
Structure:
Operations:
Benefits:
Compensation History Tree. The Compensation History Tree tracks an employee's historical compensation actions and awards.
Structure:
Operations:
Benefits:
Pay Equity Heat Map. The Pay Equity Heat Map visually summarizes compensation equity across demographic dimensions.
Structure:
Operations:
Benefits:
Compensation Change Stream. The Compensation Change Stream provides an append-only ordered log of pay changes.
Structure:
Operations:
Benefits:
Compensation Decision Tree. The Compensation Decision Tree traces the hierarchical decisions driving compensation actions.
Structure:
Operations:
Benefits:
Specialized data structures like these purpose-built for goals and compensation data may be used enable next-generation experiences exceeding conventional limitations. The structures open capabilities like hierarchical visualization, chronological auditability, temporal analysis, animated replay, and/or contextual explainability.
The mobile device 29900 can include a processor 29902. The processor 29902 can be any of a variety of different types of commercially available processors suitable for mobile devices 29900 (for example, an XScale architecture microprocessor, a Microprocessor without Interlocked Pipeline Stages (MIPS) architecture processor, or another type of processor). A memory 29904, such as a random access memory (RAM), a Flash memory, or other type of memory, is typically accessible to the processor 29902. The memory 29904 can be adapted to store an operating system (OS) 29906, as well as application programs 29908, such as a mobile location-enabled application that can provide location-based services (LBSs) to a user. The processor 29902 can be coupled, either directly or via appropriate intermediary hardware, to a display 29910 and to one or more input/output (I/O) devices 29912, such as a keypad, a touch panel sensor, a microphone, and the like. Similarly, in some embodiments, the processor 29902 can be coupled to a transceiver 29914 that interfaces with an antenna 29916. The transceiver 29914 can be configured to both transmit and receive cellular network signals, wireless data signals, or other types of signals via the antenna 29916, depending on the nature of the mobile device 29900. Further, in some configurations, a GPS receiver 29918 can also make use of the antenna 29916 to receive GPS signals.
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The example computer system 30000 includes a processor 30002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 30004 and a static memory 30006, which communicate with each other via a bus 30008. The computer system 30000 may further include a graphics display unit 30010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 30000 also includes an alphanumeric input device 30012 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 30014 (e.g., a mouse), a storage unit 30016, a signal generation device 30018 (e.g., a speaker) and a network interface device 30020.
The storage unit 30016 includes a machine-readable medium 30022 on which is stored one or more sets of instructions and data structures (e.g., software) 30024 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 30024 may also reside, completely or at least partially, within the main memory 30004 and/or within the processor 30002 during execution thereof by the computer system 30000, the main memory 30004 and the processor 30002 also constituting machine-readable media.
While the machine-readable medium 30022 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions 30024 or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions (e.g., instructions 30024) for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 30024 may further be transmitted or received over a communications network 30026 using a transmission medium. The instructions 30024 may be transmitted using the network interface device 30020 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone Service (POTS) networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the present disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
This application claims the benefit of U.S. Provisional Application No. 63/376,596, filed Sep. 21, 2022, which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
63376596 | Sep 2022 | US |