Infohub Core Certification Project Guide
Welcome to the Infohub Core Certification Guide!
Table of Contents
InfoHub Event and Measure Definitions
Template Build: Production Events and Measures
Introduction
Welcome to Flow Software's Infohub Core Certification! Congratulations on beginning your Core Certification journey. This program is designed to ensure that you can configure and implement Flow InfoHub to support real industrial operations. The skills you develop here reflect the expectations placed on professional engineers in the field.
Important: This is not a 20 minute exercise. This may take 8 or more hours to complete. The test can be completed in less time. Just be sure to check your answers and configuration before completing.
Prerequisite Knowledge
-
Completing the Infohub Core training or the online Infohub MasterClass.
-
Basic Understanding of SQL
- If you haven't already, Download Flow's Infohub
Highly Recommended: Completing the online Flow's Infohub Core Training and Infohub Advanced Training
You can utilize the online Knowledge Base. Or email us for help with the test.
Rules
- To pass, you must achieve a score of 100%.
- You will have a maximum of 3 months to submit your project from the time the certification was requested.
- If your submission fails, you will be given feedback and two opportunities to correct and re-submit. After the two allowed attempts, you may retake the certification after 30 days.
- You must pass to receive a Certification status.
- You must use tags to retrieve data from Data Sources.
- You must use templates.
- Likewise, you must use tags for your Event triggers and for your retrieved Event Attributes.
- You must utilize InfoHub Templates. All Measures in the model must be derived from a Template.
- You are not allowed to duplicate work from your team members. This is your work and yours only.
Use Case
Important: You will use The Juice Factory Dataset, The Infohub Event and Measure Definition Spreadsheet for required Measures and Events, and the SQL Model Import for this use case. Please be sure to download all before proceeding. These resources are imperative for your success.
Your client for this project is the American Corporation Manufacturing Everything (ACME). Specifically, one of their many beverage production facilities. You are now the engineer responsible for delivering this solution.
You will build a standardized information and context layer using Infohub for their Engineering, Operations, and Production teams.
They are looking for a scalable information platform that unifies the data from multiple areas. The final project will track product and production context over time, and provide meaningful KPIs to operators, supervisors, and managers across multiple departments. InfoHub will serve as the foundation for transforming raw equipment data into information that can guide decisions and improve performance.
For an overview of the ACME process and areas, reference The Juice Factory explainer article.
With all of the housekeeping out of the way, you are ready to proceed with your Core Certification, we wish you the best of luck and are confident you will be successful!

Platform Setup
For this specific project, we have provided data sources that you will use. This includes tables in a SQL database that will be populated by an InfoHub metric that you must deploy as well as the Flow Simulator.
We have already created all the necessary mechanisms to create the databases and backfill the data into it, and of course, we are using Flow InfoHub to accomplish this task. Don’t worry, you don’t have to build that part, we’ve provided an InfoHub model for you to import. You will just need to do some basic configuration. Let’s get started.
- Create a new Flow InfoHub instance using the latest public release.
- Configure the Flow Server to use port 8081 as required by the IT department of Core Printers.
- Import the InfoHub model named Flow Core Certification – Base Import Model.flowMdl into your InfoHub instance. This file should have been downloaded directly from the Flow Training Academy website.
- After the import is complete, configure the imported Data Source named Flow as follows:
- Change the Server property to be the same machine name as the Flow instance you created in Step 1
- Change the Database to the same as your Flow database name, as configured in Step 1
- Use the Test option to confirm connectivity, and save your configuration
- Deploy your platform
- Deploy your Data Engine
- Assign the Flow Data Source to your platform
- Deploy the Flow Data Source
- From your Model, navigate to Core Printers/System metric and deploy the Database metric along with its two contained measures.
- Confirm that a new SQL database named Integration is now present on the same SQL Server as your Flow platform and that it contains the tables HistoryValues and Product.
- Verify that the Product table contains six product entries and HistoryValues contains simulated time series data for the tag name 101-FT-001.PV. (You can use SSMS or another SQL management tool.)
- Deploy Flow Simulator for tag history
- Select Data Tab in right menu
- Right click Data Sources
- Hover over New in menu
- Hover over Additional Resources in dropdown
- Select Flow Simulator
- Deploy
Additional Resources:
Configuring the Flow Bootstrap Service
IMPORTANT: For this project to work, you will need to leave the System folder deployed at all times and of course, do not delete it or any of its metrics.
Maintenance Configuration
- Configure data retention to maintain platform performance while meeting certification requirements.
- Events: retain 90 days
- Minutely data: retain 60 days
- Hourly data: retain 90 days
- Daily data: retain 360 days
- All other intervals: retain indefinitely
- Schedule daily backups of the Flow database.
- Set system maintenance to be executed at 3:00AM.
- Verify that no maintenance schedules conflict with the typical production runtime of the simulated plant.
- Test the purge and maintenance configuration by monitoring the “Maintenance” logs to ensure it is running without errors. You can monitor using the View menu.
- Confirm that the purge configuration does not accidentally remove required certification data before submission.
- After validation, finalize deployment by confirming:
-
- Backup schedule active
- Maintenance trigger active
- Retention rules reflect the values listed above
Tips:
-
Automating backups reduces the risk of data loss and ensures recoverability during certification review.
- Keeping maintenance outside production hours prevents delays in data ingestion and notification processing.
Additional Resources:
For how long is data stored in Flow?
Calendar configuration
ACME desires to represent their calendar periods as follows:
-
A 24-hour day begins at 8:00AM. Three shifts in total.
- First Shift: Starts at 8:00AM (08:00) and ends 8 hours later.
-
- Second Shift: Starts at 4:00PM (16:00) and ends 8 hours later.
-
- Third Shift: Starts at 12:00AM (00:00) and ends 8 hours later.
- The week starts on Sunday.
- The year begins in April.
Additional Resources:
How do I configure my calendar in Flow
Template Mandate
Templates must be used in creating and instantiating all Tags, Measures, and Events for this project. Nothing in the Model can be created without being linked to a Template.
Begin by reviewing all required Measures and Events to identify repeated logic across Fillers 1 and 2. Templates are required to avoid duplicated configuration.
All tag retrieval must use Model Attributes for tag addressing, allowing the same logic to be reused for both fillers.
Additional Resources
Template Article: Find and Link
Hint: No model measures are allowed outside templates. All logic must originate from the template and be instantiated for each filler.
Infohub Event and Measure Definitions
We have provided an overview of all of the required Measures and Events as an Excel worksheet that you can download below. We will also provide more in depth detail for each of the Measures and Events, organized by template component as you progress through the article.
Advanced or experienced Infohub users will likely only need the Excel worksheet to progress through quickly.
Download the Event and Measure Definition File
template BUILD: Utilities
Total Water
Within a template, build and deploy a Total Water Measure within a Utilities folder. This KPI helps ACME measure and ultimately reduce water loss by reporting how much water is consumed over time.
What you must do
ACME needs to aggregate their water usage into an hourly time weighted average. They then want to roll that average up into Day-to-Date (DTD), Shiftly, and Daily averages as well.
Requirements
You will retrieve the raw Flow transmitter data for the main water supply meter from the Integration database. The value you need is stored in the HistoryValues table and is represented by the tag 010-FT-001.PV.
Once your Tag is retrieving data correctly, you will build an Hourly Raw Water Measure using the Time Weighted Average aggregation.
Your SQL query must include the boundary value. Time-weighted averaging depends on it. You will add the boundary by using a UNION with SELECT TOP 1 to return the last value before the PeriodStart.
Additional Resources:
Data Source - Microsoft SQL Database
Completion check
You should verify the following before moving to the next objective:
- Raw Water is shown in kiloliters (kl)
- Measures are tag-based and are Hourly, Day to Date (DTD), Shiftly, and Daily measures
- The SQL query includes the boundary value
- Results align to calendar boundaries with no gaps at the start of each period
If something looks incorrect in your results, revisit your Tag. Two common issues are the boundary value or the SQL query at this stage.
template BUILD: TAED
Target, Actual, Efficiency, and Downtime (TAED), is a core performance framework used in manufacturing analytics to standardize how production results are measured and compared. By structuring data around planned targets, actual output, calculated efficiency, and categorized downtime, TAED provides a consistent foundation for Statistical In Control (SIC) monitoring, variance detection, and root-cause analysis. This structure ensures performance metrics are repeatable, comparable, and actionable across lines, assets, and time periods.
Daily Production Target Measure
You are responsible for building the Daily Production Target template within a folder labeled TAED. This target allows ACME to track whether the filling lines (Filler 1 & 2) are meeting their daily production goals. This forms the basis for short-interval control and supports rapid adjustments during the production day.
What you must do
The Operations department wants to track targets for the fillers. You will create a Manual Measure that stores a universal daily Production Target for both fillers. The initial value is 840,000 bottles per day, and the value must be editable in an InfoHub Form so that Operations can update future targets without changing the model. The desire is to adjust this target in a single location and have it applied to both fillers.
The customer needs to set these targets at least 30 days in advance so a future visualization can implement a target line across upcoming production days rather than only past performance.
Requirements
-
The Production Target is a Daily Measure and UOM is bottles
-
It must be implemented as a Manual Measure, not a Retrieved Measure, and not a direct calculation
-
The Manual Measure must expose an Infohub Form that allows editing of the target value
-
Supports at least 30 days of projected future targets
-
Executed using a template
Additional Resources:
Why would I use Manual Measures?
Completion check
Verify the following before moving to the next task:
- The value is editable through a Form rather than the Config Model editor
- The Manual Measure contains at least 30 days of future target values
Hourly Production Target Measure
You are responsible for building the templatized Measure Hourly Production Target within the TAED folder. This KPI provides short-interval visibility so ACME can assess target attainment during the day rather than waiting for end-of-day results.
What you must do
Operations wants to compare hourly production performance against a rolling target. You need to transform the Daily Production Target into an hourly value so that the hourly target updates automatically when the daily value is scaled up or down. ACME wants this hourly target to project at least 24 hours into the future so they can verify target attainment.
Requirements
- You have built a Daily KPI and UOM is bottles
- Must be a Calculated Measure, not Manual and not Retrieved
-
Uses the existing Daily Production Target value and transforms it into an evenly distributed hourly goal
- Must project 24 hours of future projected values
Additional Resources:
Completion check
Verify the following before moving to the next task:
- The value is calculated using the Daily Production Target and is evenly distributed across the entire day
- Use the Data Source Preview to ensure both the trend and table display hourly values without gaps
Actual Production Measure
Within the TAED folder, create an additional Measure template that can be used to compare actual production of both fillers to hourly targets and monitor daily target attainment.
What You Must Do
Retrieve raw data from the Simulator to create an hourly Measure. Use the tag FL###.BottleCount for both fillers. As this is a totalizer, apply the Counter aggregate, and then roll up the results into Day-to-Date (DTD), Shiftly, and Daily Measures. Use the Measure Hourly Production Target to set a Limit Target for this Measure.
Requirements
-
Use the Counter aggregate
-
Each rollup is progressively aggregated from the previous time interval
- Ensure the target is applied to all Measures
Additional Resources:
Measure as a Target - https://support.flow-software.com/hc/en-us/articles/6896845503762-Tutorial-18-Create-a-Measure-Limit
Completion check
Verify the following before moving to the next task:
-
'Pop Out' the Data Source Preview and add all measures
-
Visually inspect the data and patterns for validity
- Ensure you have a target that is linked to the Measure 'Hourly Production Target'
Total Runtime Measure
It is imperative to understand the time each filler spends running per hour, shift, and day. Build a Measure within the TAED template that accomplishes this.
What You Must Do
Using templates, retrieve the FL###.State tags to perform a Time In State aggregation that isolates and sums the total runtime (integer value of 20) for the hour for both fillers displaying the total in hours. Then sum the results and roll up into Day-to-Date (DTD), Shiftly, and Daily Measures. Use hours as your UOM.
Requirements
-
You must use a Daily Measure and the Time In State aggregate
-
Convert the default time scale of milliseconds to hours using the field Scaling Factor
- Sum the Hourly Measure into Day-to-Date (DTD), Shiftly, and Daily totals.
Additional Resources
Scaling Factor - https://support.flow-software.com/hc/en-us/articles/360011628159-Aggregated-Measures
Completion check
Verify the following before moving to the next task:
- Time in State uses milliseconds. Be sure to convert properly in hours for all Measures.
- Hourly value should never be greater than 1
Equipment Efficiency Measure
Measures are needed to assess efficiency compared to the time available for the Operations department in the goal of SIC. Time available can change based on operations, so we must stay flexible in how we calculate hourly, shiftly, and daily availability.
What You Must Do
Build an hourly Measure by calculating the Runtime and the Available time with % for the UOM for both fillers. The Target and Lower Limits need to be set to 85% and must be editable via a Limit Form.
You have to re-do the calculation for the Shiftly and Daily intervals. You cannot use measure aggregations in these period rollups. Available time will be the interval duration, but you may have scenarios where a production calendar specifies how much of the hour/day/interval is available. Therefore, the denominator will need to be adjusted accordingly using a Tiime-Based Form.
Requirements
- Build a Calculated Measure that has the ability to have user adjusted available time fields
- Add Lower and Target limits that also must be user editable from a Limit Form
Additional Resources
Completion check
Verify the following before moving to the next task:
-
Calculated expression is % of Runtime / Available time
- For each period rollup, did you recalculate your percentage using raw data?
Total Idle Time Measure
ACME Operations needs to ensure they are minimizing the time their equipment sits idle and wants to track total idle time for each filler.
What You Must Do
Use an hourly interval of time for your templates and retrieve the FL###.State tags. When the equipment is idle, the state is equal to 0. The aggregation must be configured to use the aggregation Time in State. Once this is accomplished, roll up the measures to create Shiftly, Day-to-Date (DTD), and Daily measures. Remember, Time in State returns milliseconds. Be sure to convert to the required UOM.
Requirements
- Measure idle time in hourly, shiftly, DTD, and daily intervals
- Use the Time in State configuration, monitoring state 0
Completion check
Verify the following before moving to the next task:
- Time in State uses milliseconds. Be sure to convert properly to hours for all Measures.
TEMPLATE BUILD: Production Per Product
Production Run Event
Events like a production run provide key context. It is important for ACME to understand each production run more thoroughly, including which product was being produced and have a mechanism to add event context to additional KPIs.
What You Must Do
Add to your template an Event that will use the FL###.State tag for both the Start and Stop trigger. The start of the event will be when state is equal to 10. The end of the event will be triggered when state is equal to 30. You will need to associate the FL###.Product tag so that the Event looks up the retrieved attribute whenever the start of an event is triggered.
Requirements
-
Use the FL###.State tag for both the Start and Stop trigger
-
Start the event when state is equal to 10 and stop the event when state is equal to 30
- Create a Retrieved Attribute and associate the FL###.Product tag for lookup when the event starts
Additional Resources:
Completion check
Verify the following before moving to the next task:
-
Confirm that the Events trigger correctly when the filler transitions to production and closes correctly when production stops by overlaying the state tag with your event records in a Data Source Preview pop out
- All attributes populate during the runtime of the Event.
Total Good Production Measure
The ACME Production department wants to track production and contextualize that production by the product they were making. Ideally, they should have access to this data for the daily and weekly reporting.
What You Must Do
Create a Daily Measure that retrieves the FL###.BottleCount and rolls this into a Week-to-Date (WTD) and a Weekly measure. Be sure to use the Event and Attribute context for this KPI.
Requirements
- Aggregate using Counter and ensure UOM is bottles
- Add Event and Event Attribute context to the Daily Measure
-
Roll the Daily into Week-to-Date and Weekly totals
Additional Resources:
Adding Event Context to a Measure
Completion check
Verify the following before moving to the next task:
- Use the Data Source Preview data table to ensure your Event Context is functioning
Total Bad Production Measure
ACME also wants the ability to evaluate the count of bottles that has been rejected for daily and weekly reporting, capturing not just the totals across the equipment but also segmenting it by product type.
What You Must Do
Use the FL###.BottleCount.Rejects to create a Daily measure that is retrieved from the Simulator data source using the Counter aggregation. This will count the bad production per product for the Production department. Use your Event and Attribute context to count the rejects per product.
Requirements
- Aggregate using Counter and ensure UOM is bottles
- Add Event and Event Attribute context to the Daily Measure
-
Roll the Daily into Week-to-Date and Weekly totals
Line Target Measure
In order to set clear targets and then use that target for production tracking, the team requires an adjustable daily target be created.
What You Must Do
You will create a Manual Measure that stores a daily target. The initial value is 840,000 bottles per day. Include the Event and Attribute context and ensure that you configure the target to be split across multiple production runs. This configuration can be tricky and requires close attention to the Retrieval section of your Measure. Once successful, roll up into Week-to-Date (WTD) and Weekly sums.
Requirements
- Manual Measure set to 840,000 with UOM in bottles
- Includes the Event and Attribute context, properly splitting the target across multiple runs
-
Execute WTD and Weekly roll ups
Total Throughput Measure
The Production department for ACME wants to track total throughput, regardless of whether the product is categorized as good production or scrap and wishes to report on this data by product category for daily and weekly reporting.
What You Must Do
You will need to create a Daily Calculated Measure that sums the stored Daily Measures for both Good and Bad product. This is the sum of the rejects and good bottles. Add both a Low Limit and a Target that uses the Line Target Measure. Once created, you can roll up the Measure to a Week-to-Date and Weekly Measure.
Requirements
-
Calculated Measure with an expression of Good Production + Bad Production using the bottles UOM
-
Use Low and Target Limits based on the Line Target Measure
- Include Event context
- Execute WTD and Weekly roll ups
Production Run Count Event Aggregation
It is important that Production reporting have access to a total count of production events, including context based on the products ran.
What You Must Do
Use your existing Production Run Event to create a Daily Measure derived from an Event Aggregation that uses the Count aggregate. Add Event context to this Measure to help ACME get a better understanding of the batch count per product. Once complete, roll it up to Week-to-Date and Weekly measurements.
Requirements
-
Create an Event Aggregation that carries with it the context of product
-
Roll the Daily Measure into WTD and Weekly roll ups
Total Duration Per Product Measure
The ACME Production department wants to see a total for the run duration of each filler as well as that time sliced per product, displayed in hours.
What You Must Do
Create a Daily Measure using the FL###.State tags and applying a Time In State for a value of 20. Ensure that you add Event and Product context as well as properly scale the unit of measure to hours. Then roll this measure into a Week-to-Date and a Weekly measure.
Requirements
-
Total time (in hours) is provided for the runtime state of 20 for Daily, WTD, and Weekly Measures.
-
Event and Product context is included
Water Consumption Measure
ACME desires to reduce the cost per unit and measure how many liters of water are being consumed per bottle.
What You Must Do
Help ACME understand the intensity of water consumption during production by creating a Calculated Daily Measure that uses the Total Water Measure divided by the Total Throughput Measure. Scale your calculation to convert from kiloliters to liters which is more appropriate for a per bottle measurement. Once complete, roll your Daily Measure into a Week-to-Date and Weekly roll ups providing the average water intensity, not the total.
Requirements
- Calculated expression of Total Water Supply / Throughput
- Convert the calculation to provide liters
- WTD and Weekly roll ups display the average water intensity per day
Dashboard Build
Visualizing data provides an opportunity to demonstrate your skill in design. In total, we require you to create dashboards with elements that help the communicate the story the data is telling quickly and efficiently.
- Create three dashboards to visualize the Utilities, TAED, and Production Measures and Events. The purpose of each dashboard must be clear and distinct with good labels and time descriptions.
- TAED dashboards must use the model attributes and templates to automatically reflect both Filler 1 and Filler 2 without manual rework.
- Production dashboards must show Production vs Target and provide visibility into Rejects and Efficiency.
- Select visuals (charts, forms, etc.) that communicate the KPI story quickly. The viewer should understand the intent of the visualization in 30 seconds or less.
- Plot targets as a line across production values to allow immediate comparison between expected and actual performance.
- Add titles and descriptions to every visualization to explain what is being shown and why it matters.
- Use Limits on Efficiency and other KPIs where thresholds are defined. Limit colors must match the status conveyed by the KPI.
- Use color sparingly. Colors should add clarity, not distraction, try to limit yourself to 6-8 colors per dashboard, never using more than 10.
Additional Resources:
Completion check
Verify the following before moving to the next task:
- Dashboards load without errors or missing values.
- KPIs update correctly when switching between Filler 1 and Filler 2.
- Target lines, limits, and units of measure are clearly visible.
- Viewers can interpret the dashboard’s purpose within 30 seconds.
- No duplicated measures or manual wiring that violates the template logic.
Submit your Test
Great! You've double checked your work, you've carefully reviewed the customer's objectives, and you've designed an Infohub system that you deem worthy of a Infohub Certified Status.
Go back to the Test Submission tab in the Infohub Certification portal for the final project submission instructions and details.
If you need help with submitting your project you can email training@flow-software.com for guidance.