Skip to content

12. Manage Feature Life Cycle

This tutorial guides you on how to adjust features when data changes occur. We’ll cover two types of changes:

If your catalog has an Approval Flow enabled, all such changes must be approved. This process ensures that:

  • New feature versions are created to adapt to the data changes.
  • Lists connected to the updated tables are refreshed.

Once approved, you can set up new deployments and deactivate outdated ones if necessary.

Step 0: Enable Approval Flow

Ensure the Approval Flow is enabled for your catalog.

  1. Check for a validation mark next to the catalog name. Approval Flow Enabled

  2. If absent, click the settings icon Settings Icon.

  3. Open catalog settings and enable the Approval Flow option.

Enable Approval Flow


Step 1: Approve Features in a Feature List

Follow the prior tutorial to approve features in the feature list 47 features: In-Store Customer Activity Prediction as production-ready.

  1. Click Check Button next to Calculator Button mark all features in the feature list as "Production-Ready". Name

  2. Select all features, then request, approve, and merge them in batches. Name

  3. Confirm the feature list readiness reaches 100%. Name


Step 2: Update Cleaning Operations

This step demonstrates updating cleaning operations for the TotalCost column in the INVOICEITEMS table:

  • Ignore disguised missing values: -99 and -98.
  • Cap amounts: Below 0 Euros or above 2000 Euros.

Instructions

  1. Access the Table Catalog: Navigate to the Explore section and select the Table Catalog and select the Table INVOICEITEMS. Name

  2. In the 'Columns' tab, click the Edit Button button for TotalCost next to "No cleaning steps applied". Name

  3. Apply Cleaning Steps: Add the specified cleaning operations. Click "Apply 3 Cleaning Steps". Name

Approving Changes

  1. Approval Request: Our prior change created an approval request. Click View Button to review it. Name

  2. Review Request: The request appears with other open requests under 'Change in Table Metadata'. Name

  3. Check Table Summary: Select the request and go to the 'Table' tab to see a summary of changes, including the impact on features using TotalCost. Name

  4. Affected Feature Lists: Visit 'Affected Feature Lists' tab to see which feature lists are impacted. Merging the request will create new versions to incorporate the newest default versions of the features in these feature lists. Name

  5. Adjust Feature Actions: Go to 'Actions For Affected Features' tab to modify actions for affected features. By default, after merging, old versions are deprecated (or deleted) in favor of new versions to align with the new cleaning operations of TotalCost column. Name

  6. Deviate from Default Operations: Change action for a specific feature, like CUSTOMER_Entropy_of_items_TotalCosts_by_product_ProductGroup_1w to deviate from default cleaning operations. Name

  7. Analysis for Deviation: If there's a failed check due to lack of impact analysis, go to 'Actions For Affected Features' tab and provide an observation table and run the analysis. Name

  8. For the analysis, provide an observation table. Click Edit Button Name Name

  9. Run the impact analysis for CUSTOMER_Entropy_of_items_TotalCosts_by_product_ProductGroup_1w by clicking Impact Analysis. Name

  10. Review Analysis for Deviation: The analysis reveals that altering the cleaning operations does not result in any significant change in the feature values. This suggests that the new cleaning operations might not be essential for this particular feature. Completing the analysis changes the status checks to green, regardless of the outcome. The key is to ensure that you are informed about the implications of both the original and the updated cleaning operations. Name

  11. Request Review: Once the request is ready for review, request by clicking Request Review Button. Name

  12. Approve the request by clicking Approve Request Button. Name

  13. Merge the request by clicking Merge Button. Name

  14. View Merged Requests: Merged requests can be viewed under the 'Merged' tab in the request catalog. Name

Post-Merge Actions

Following the merge, address any new requests that arose as a result of the merging process.

Within the 'Approve' section's overview, at least one new request has emerged for Deviation from Cleaning Defaults.

Name

You may have other requests "New Production-Ready Feature". We will see later how to deal with them.

Review Deviation from Default:

  1. Click on the request type.
  2. In the request, go to the 'Deviations From Default' tab to view more information. Provide an observation table as required and run the necessary impact analysis to assess the effects of the deviation by clicking Impact Analysis Button. Name
  3. Finalize Request: Once the analysis is complete, proceed to request review, approve, and merge the request. Name

Review Upgrade of Feature Version

  1. Click 'New Production-Ready Feature' in Overview Name

  2. Verify Request Source: In the request, go to the 'Request Source' tab to confirm that the request is associated with the recent changes in table metadata. Name

  3. Complete Request Process: Proceed to request review, then approve and finally merge the requests in batches. Name

Check Feature List Versions

In the Feature List Catalog, verify the creation of new default versions for affected feature lists.

Name

Check Impact on Deployments

In the Deployment Catalog, check if the current deployment uses deprecated feature versions and plan for new deployments with updated versions if needed. In our example, the deployed feature list was not affected.

Name


Step 3: Update Feature Job Settings

  1. Navigate to the Table Catalog. Name

  2. Run Data Availability Analysis: Select GROCERYINVOICE table, go to the 'About' tab, and scroll down to the bottom. Run new Analysis clicking Run New Analysis and set the Minimum Feature Job Period to 1 hour Name

  3. Review Recommendations: The recommendations for the feature job settings of features using this table remain unchanged. Name

  4. Download Report: You have the option to download the analysis report. Name

  5. Update Feature Job Setting: Despite the recommendations, opt for a more conservative approach by adjusting the default feature job setting to a 5-minute blind spot.

    Name

  6. Initiate Approval Request: This update triggers an approval request. Click View Button to examine the request.

  7. Resolve Check Failures: In the 'Checks' tab, identify why checks are failing. To pass the failed check, run a backtest to evaluate potential training-serving inconsistencies with the new setting by clickling Run Backtest Button. Name

  8. Backtest Success: After a successful backtest, the checks will turn green. Name

  9. Assess Affected Features: Examine the number of features impacted by this change. Name

  10. Option to Close Request: If the new conservative setting seems to impact too many features, you may choose to close the request by clicking Close Request Button. Name

  11. View Closed Requests: Closed requests can be viewed under the 'Closed' tab in the request catalog. Name


Step 4: Monitor Deployments

Access Scheduled Tasks: From the menu, under 'Manage', go to 'Tasks' and select the 'Scheduled' tab to view the completion status of tiles jobs.

Name

Review Feature Job Status: Regularly check feature job status reports to monitor the performance of your deployed features.

Use the provided Python code snippet in a notebook to generate a detailed report on recent activities of scheduled feature jobs for a deployment.

import featurebyte as fb
# Set your profile to the tutorial environment
fb.use_profile("tutorial")
# Activate catalog
catalog = fb.Catalog.activate("Grocery Dataset UI Tutorial")
# Get deployment object
deployment = catalog.get_deployment("Simple set for Customer Activity next Week @ store")
# Get feature job status
deployment.get_feature_jobs_status()

Step 5: Disable Deployments

Navigate to Deployment Catalog: Access the Deployment Catalog from the 'Manage' section in the menu.

Disable Deployment: If a deployment is no longer needed, click the three dots next to its 'ENABLED' status and select 'Disable'.

Name