Getting Started

Welcome to Fennel

Fennel is a modern realtime feature engineering platform and has been architected from the ground up in service of three design goals.

Fennel's Three Design Goals

  1. Easy to install, learn & use - using familiar Python instead of special DSLs, simple but powerful abstractions, zero dependency installation, fully managed with zero ops, same code working for both realtime and non-realtime cases and more to make using Fennel as easy as possible
  2. Maintain correctness of data and features - versioned/immutable pipelines & features, native support for testing, strong typing, compile time validations, enforcement of code ownership, keeping online/offline features in sync, data expectations and lot more to ensure that your features are always correct and reliable. (See this for details)
  3. Flexible & powerful enough for everyone - everyone's ML use cases are different. Fennel tries to be opinionated in the right places (to offer ease and correctness) and yet stay flexible via its read/write separation. Fennel also supports the full spectrum of realtime needs - from pure batch all the way to to cutting edge streaming joins.

Fennel tries to meet these goals while also being lower on cloud costs compared to other alternatives by squeezing as much out of cloud hardware as possible. See this for how Fennel does this.

Benefits of Fennel

As a result of the architectural philosophy, Fennel ends up unlocking a higher business value in three ways:

  • Directly helping to improve ML models via more advanced/realtime features
  • Increasing iteration velocity, leading to more shots at the problem
  • Preventing regressions in ML systems via more reliable data and features

Use Cases

Fennel is a general purpose feature platform and is useful for a variety of use cases. Here are some of the most common ones:

  • Recommendation Systems, relevant for most marketplaces, e-commerce products, content feeds, notifications, email marketing campaigns etc.
  • Fraud Detection - relevant for fintech or anywhere money exchange is involved
  • Risk Engineering - identifying fake users, spam, bot rings and lot more
  • Credit Underwriting - relevant for insurance, loan underwriting etc.

Getting Started With Fennel

Start here if you want to directly dive deep into an end-to-end example.

Or if you are not in a hurry, read about the main concepts first followed by some more details about Fennel's architecture and the approach to maintaining a high data/feature quality.

We, the team behind Fennel, have thoroughly enjoyed building Fennel and hope learning and using Fennel brings as much delight to you as well!