Actions Editor Screenshot

NOTE: FeedLogic licenses are no longer commercially available. Click here if you wish to be contacted should this change in the future.


What is FeedLogic?

FeedLogic is a technology used to process disparate data feeds into a common, unified format.

FeedLogic is ideally suited for use in price comparison projects. By unifying data feed content provided by multiple retailers into a single unified feed, comparison of complex product or service sectors becomes trivial.

Standalone use, or integrate into custom projects

FeedLogic is a data feed processing framework, written in the Microsoft™ .NET language.

The framework can easily be integrated into custom projects by consuming the FeedLogic code.

For generic projects, a standalone Windows application is used to manage the processing of feeds.

Multi-format feed processing

The FeedLogic framework uses objects known as "data processors" to read each feed to be unified. The framework includes data processors for the most common data feed formats:

  • XML
  • CSV (Comma Separated Values). The most common separator characters are supported - comma, tab, or pipe.
  • Microsoft Excel™ Worksheets

FeedLogic reads both locally and remotely stored data feeds. If a data feed is stored remotely at a web or ftp server, then FeedLogic downloads the feed prior to processing it. Downloaded data feeds can be cached for a period of time if necessary to prevent repeated downloads. This is especially useful during development.

FeedLogic supports feeds that are archived using ZIP or GZIP compression, and are decompressed automatically.

FeedLogic also includes two additional data processors that offer a unique feed reading capability:

  • Amazon ECS Data Processor - interact with the Amazon product catalogue to perform custom searches of products.
  • Robot Data Processor - interact with the Kapow Robosuite™ webscraping platform (available separately). Now you can treat any website as a data feed. Even if a retailer does not offer a data feed, you can construct your own based upon the data on their website!

The modular nature of the framework means new data processors can easily be developed.

Intuitive processing of data feeds

FeedLogic features a unique logical approach to processing data feeds.

First, the unified feed format is defined. This is a list of field names, data-types, and other related information that describe the unified format.

A data processor is then created for each feed that is to be processed. Each data processor has a number of actions defined. During processing, FeedLogic applies these actions to every data element within the feed. The defined actions are used to transform the raw data in the feed to the unified format.

FeedLogic supports a wide range of actions:

  • Basic value extraction.
  • RegEx extraction, allowing a regular expression to be applied to feed data to isolate specific data. Full support for named RegEx groups.
  • Transformation of feed values - Trim, Replace, RegEx Replace, Strip Bad Characters, Pre/postpend additional text, and more!
  • Manually setting values in the unified output.
  • Validation of feed data.
  • Conditional IF/ELSE logic (if the feed contains this data, then perform this set of actions, otherwise perform another set of actions).
  • Looping (loop through repeating blocks of XML).
  • Comparison of feed data with other data extracted from the same feed block.
  • Skipping the current feed element.

When using the FeedLogic application, the definition of these actions is performed using a simple graphical interface. Actions can be cut/pasted, imported/exported, and even moved around the action tree.

This unique approach means that, should the format of a feed change, modifying the actions of the data processor becomes trivial.

Multi-threaded for Performance

FeedLogic allows multiple data processors to run concurrently on a single computer. This maximises the number of feed elements per hour that can be processed. On a relatively modern PC (2GHZ Core2Duo), typically around 5,000,000 to 7,000,000 feed elements can be processed per hour*.

* The architecture of the application integrating FeedLogic, and the complexity of the actions being applied to the feed may affect these benchmarks.

'Clustering' Supports Unlimited Capacity

FeedLogic includes clustering functionality that allows the processing of feeds to be performed on multiple remote computers. By installing a simple Windows Service, any PC instantly becomes capable of processing feeds, while being controlled and monitored remotely from the main FeedLogic application.

By spreading the workload across multiple computers, an unlimited number of feed elements can be processed. A cluster of 4 relatively inexpensive computers can typically process around 20,000,000 to 28,000,000 feed elements per hour*.

Need for more capacity? Simply add more computers to the cluster!

Efficient Processing

FeedLogic automatically detects elements of the data feed that have not changed, so that unnecessary procesing can be skipped for these items.

If a feed only has a handful of new elements added per day, then it is possible for the new feed elements to be fully processed, but the old elements to be skipped.

Integrated Feed Analysis

The FeedLogic framework includes a set of feed analysis tools. These tools make it easy to analyse data feeds in order to quickly create processing actions.

  • Identify all unique values for each field in a data feed. It is quite common in a feed with thousands of feed elements for each field to have only a small number of unique values.
  • RegEx testing suite.