Printing As A Service

There is an emerging need to create more value for businesses owned by customers and enhance their business opportunities to adapt to the global market. Many companies are now moving from the traditional subscription-based businesses towards the Usage Based Monetization business model.

This stream showcases a simplified version of a DigitalRoute customer use case (Global Leader in Imaging), where instead of selling printers as products, the company sells printing as a service and charges its customers based on actual usage. You will learn in the stream first how to collect different usage events such as the number of printed pages, ink level, and printers' health status. After collecting the data the stream shows how to enrich and aggregate the collected data before sending it to its final destination, in this case, the Log Function.


Functions used in this stream and their purpose:

Part A - Input Data Simulation & Clean up: This step generates input data for the other parts of the stream and removes any generated duplicates
  • Count - Counter that triggers the stream to run for the defined number of times.
  • Simulate Usage (Script) - Fills the rows with printer data (printed pages, ink level, printers' health status, and so on). This step substitutes real data input.
  • Validate - Filters out erroneous records. 
  • Deduplicate 1 - Filters out duplicated records.
Part B - Paper Usage: These step summaries the number of printed paper sheets per customer and sends collected data to billing
  • Data Aggregator - Sums up the monthly amount of printed paper sheets per printer.

  • Enrich CRM 1 (Script) - Maps printer IDs to companies.
  • Column Filter 1 (Field Organizer) - Renames the input data as desired.
  • To Billing (Log) - Stores data in a log. This step substitutes data being sent to a billing system.
Part C - Ink Level: This step checks the daily ink level per customer and triggers an ink order if needed
  • Check Ink Level (Route) - Checks the ink level and if the threshold is reached. 
  • Deduplicate 2 - Filters out duplicated records to make sure low ink event is only processed once.
  • Enrich CRM 2 (Script) - Maps printer IDs to companies.
  • Column Filter 2 (Field Organizer ) - Renames the input data as desired.
  • To Order Ink (Log) - Stores data in a log. This step substitutes ink order service.
Part D - Health Status: This part checks the daily health status of printers and sends a request for maintenance if needed
  • Maintenance (Route) - Checks printer health status (normal or maintenance require).
  • Deduplicate 3 - Filters out duplicated records to make sure the health status check event is only processed once per printer.
  • Enrich CRM 3 (Script) - Maps printer IDs to companies.
  • Column Filter 3 (Field Organizer) - Renames the input data as desired.
  • To Service (Log) - Stores data in a log. This step substitutes the order of maintenance service.


Validate Function

All records that are filtered by the Validate Function can be further processed and corrected with help of Data Correction.