Many industries have complex workflows and user journeys that span multiple transactions and event types, such as logs and End User Monitoring (EUM) data. These workflows typically manifest over long periods and cannot be measured using transactions alone. Business Journeys are a way to monitor and correlate the linear data flow across multiple event sources and track the total time for defined business workflows.
Typical multi-step workflows from different industries include:
- Payment transfers, credit card approval, and loan approval in financial services industries
- Cellphone activation and data recharge (pre-paid) in the Telco sector
- Insurance application through policy approval and insurance claims approval for insurance companies
An AppDynamics Business Journey is a composite event type based on defined workflows. A Business Journey can include events from multiple analytics event types, such as logs, business transactions, custom events, and EUM data.
This image depicts an example Business Journey definition.
You create a Business Journey, as shown above, by defining:
- Milestones and the events comprising the milestones. Milestones are the steps in your business workflow.
- Fields to be captured from each milestone event. A field indicates a category of information pertaining to the event.
- The primary key field that uniquely ties the events together. A primary key correlates the milestones for your Business Journey. The primary key value must be present in each milestone event.
- Additional fields that allow you to segment on different dimensions of the business workflow, such as loan types or payment amounts.
- Health thresholds for monitoring the Business Journey performance.
Analytics starts collecting the Business Journey events after you have defined and enabled a Business Journey. Analytics does not go back in time to collect Business Journey composite events. To define specific Business Journeys, you may need to configure the collection of additional fields from your source analytics events. See Data Prerequisites for Defining Business Journeys.
Once the Business Journey events are being collected, you can view them from the Analytics Search UI in the same manner as other Analytics events. Because Business Journey events are, by their nature, potentially long-running processes, useful data might take some time to appear in the Analytics events list. Business Journey events are reported even when only one milestone is completed and the event is updated over time as subsequent events complete.
Business Journeys Milestones
A milestone is an event marking a significant stage in a business workflow. For example, in a loan application, the first milestone might be a user submitting a loan application. The second milestone might be document verification, followed by credit approval, insurance underwriting, and finally, loan approval. All milestones are mandatory; do not duplicate milestones.
The events in milestones are sequential. You need to create each milestone in the order that the event occurs. For example, in a loan Business Journey, a credit approval milestone cannot precede the loan application milestone.
In each Business Journey milestone, you can add filters to specify the events that constitute a milestone and add fields to capture additional information about the workflow. You can use these events and fields to run ADQL queries and narrow down your searches.
As you create milestones, a flow map detailing the business workflow is automatically displayed in the Business Journey page. See Enable Flow Map.
Business Journeys Health Thresholds
A threshold is a boundary of acceptable or normal performance. Business Journey authoring provides default health thresholds against which it compares the performance of the business workflow. The health thresholds are based on the total time to complete all the milestones in your Business Journey. The threshold values are calculated by determining the standard deviation from the simple moving average over an interval of time. The default time interval is two hours. This means that if the average end-to-end time for the last two hours is N milliseconds, and if the Business Journey takes time equal to the standard deviation over N milliseconds (ms), it violates threshold.
Consider a simple moving average that is 1500 ms with a standard deviation of 100 ms. If you set the threshold to three, it means that the threshold is three times the standard deviation. In other words, a transaction that takes more than 1500 + (3*100) or 1800 ms violates the health threshold.
Before configuring the health threshold for a Business Journey definition, consider the following:
- A user experience (normal, slow, very slow, stall) is assigned for the Business Journey event when a value for
totalTimeis present and is greater than zero. Total time for the event could end up less than zero if the milestones are defined in an incorrect order. This can also happen even after the order is correctly defined, but the milestones are not in time order such that an early milestone has a future date compared to a later milestone.
- The total time for the Business Journey is calculated when both the first and the last milestones events have been reached. Therefore, the user experience cannot be determined and displayed until total time for the Business Journey is available.
- When a milestone encounters an error, for example, a transaction event where the
requestExperienceis Error, the user experience for the entire Business Journey event is marked as an Error. In this case, the total time is not available.
- Typically when a milestone has an error, the entire Business Journey workflow does not complete. However, if for some reason, all the milestones complete even when milestone errors exist, the total time for the Business Journey is available. However, in this case, we will retain overall user experience as an error and not change to Normal, Slow, and so on.
- After a Business Journey is initially enabled, Business Journey events are generated. The standard deviation is calculated every five minutes, so the first few Business Journey events will not have a user experience assigned to them.
- The minimum duration over which standard deviation is calculated is 30 minutes.
Filters and Fields
Filters allow you to extract event data for a select milestone based on selected criteria. For example, loan applications submitted in California. Filters define the scope of a milestone by limiting associated events. Fields extract additional relevant information from each milestone.
The mandatory filters are populated with the last 15 days of data. If no analytics data has been collected during the last 15 days, the drop-down menus for the mandatory fields will be empty. Besides the mandatory filters for each event type, Analytics allows you to optionally select additional filters by using the Filter By option. All the fields that are part of the filters and the additional filters that you optionally choose are automatically collected. You can use them to run ADQL queries later on.
A field indicates a category of information pertaining to the event. The Extract Fields section collects additional relevant information from each milestone. You can use data to query desired events and visualize matrices. The fields are categorized into mandatory and optional fields. The only mandatory field you must enter is the primary key. It is the unique identifier that ties milestones together.
In addition to the primary key, you can optionally add additional fields. These fields provide a context for your Business Journey definition. For example, loan amount, loan type, and customer name, customer id, and so on provide further details about a loan application. You can use these field values to slice and dice business transaction data later on. You must provide unique fields for each milestone. Validation fails if you create more than one milestone with the same set of fields or with the same set of mandatory and optional filters.
For each milestone, a field called
milestoneReached is added to the associated event. The value is true if the milestone has been reached, otherwise it is null. You can use this field to query all events for which a milestone has been reached. You can also use
milestoneReached to build a funnel widget that shows drop-offs for each milestone. The milestone name is appended to the field name as follows:
Likewise, the default fields and filters are also appended with and namespaced by milestone name.
At the Business Journey level, a field named
completed tracks the status of the workflow using the boolean values. True represents a completed Business Journey, whereas False indicates that the journey is in progress or is incomplete. Use the Analytics Search UI or an ADQL query for the desired Business Journey with the query string
completed to view the status of the associated events.
timeTaken fields represent the time it takes to reach a milestone. Timestamp fields are empty when the Business Journey is partially complete. As each milestone completes and the event data is captured in the Business Journey event, the total time is updated. The total time is calculated by subtracting the timestamp for the first event from the timestamp for the final event.
Timestamps are not exact fields. AppDynamics cannot calculate the exact time of events in a milestone because the event may occur at any point in method. For example, in the loan Business Journey above, the Credit Approval milestone may come from a log event. Your system may trigger a log at any point in the credit approval process. However, the start time of the Business Journey milestone can only be detected when the log event reaches AppDynamics. You may notice a slight difference in actual time due to this behavior.
Business Journey and Milestone Metrics
The table below lists the metrics that are calculated out of the box for Business Journeys and milestones, which are the only metrics supported by Business Journeys. You cannot use metric queries created from an ADQL search for Business Journeys.
Average of time taken to reach the current milestone from the previous milestone. Not applicable for the first milestone.
Total number of Business Journeys that reached the milestone in the last one minute and started in the last 24 hours.
|Business Journeys||Average of time to reach to completion for all Business Journeys that started in last one day and completed in the last one minute. Calculated taking the average value of |
Total number of Business Journeys that started in the last one minute. A Business Journey starts when AppDynamics detects the first milestone.
Mandatory filters, mandatory fields, and fields extracted by default depend on the event type as shown in this table:
|Event Type||Mandatory Filters||Mandatory Fields||Fields Extracted by Default|
Business Transaction Name
Network Request Name
|Custom Events||N/A||Primary Key|
For custom events, you must include a date in the
eventTimestamp field for the Business Journey to register the event. See Analytics Events API.