Skip to content

Implemented dynamic holiday and event multipliers in sales generation… - #66

Open
Vijay Rajesh R (vijayrajeshr) wants to merge 4 commits into
microsoft:mainfrom
vijayrajeshr:main
Open

Implemented dynamic holiday and event multipliers in sales generation…#66
Vijay Rajesh R (vijayrajeshr) wants to merge 4 commits into
microsoft:mainfrom
vijayrajeshr:main

Conversation

@vijayrajeshr

Copy link
Copy Markdown

Purpose

  • Fixes an issue where the retail data generator produced flat, uniform sales patterns throughout the year despite documentation referencing seasonal retail events.
  • Replaces the hardcoded baseline market event logic with dynamic, calendar-aware retail event simulation.
  • Adds realistic sales and order-size multipliers for:
    • Memorial Day Sale (last Monday of May)
    • Black Friday / Cyber Monday shopping period
    • Christmas Holiday Rush (Dec 10–24)
    • Christmas Day (Dec 25)
  • Improves dataset realism for analytics, reporting, forecasting, and AI demonstration scenarios.

Does this introduce a breaking change?

  • Yes
  • No

Golden Path Validation

  • I have tested the primary workflows (the "golden path") to ensure they function correctly without errors.

Deployment Validation

  • I have validated the deployment process successfully and all services are running as expected with this change.

What to Check

Verify that the following are valid:

  • Sales volume and order sizes increase appropriately during configured retail events.
  • Memorial Day Sale dates are calculated correctly using the last Monday of May.
  • Black Friday / Cyber Monday dates are calculated correctly from Thanksgiving and handle month transitions safely.
  • Christmas Holiday Rush multipliers apply between December 10 and December 24.
  • Christmas Day logic applies on December 25.
  • Non-event dates continue to generate normal baseline activity.
  • Generated datasets display realistic seasonal peaks and troughs in Power BI, Fabric, or Synapse visualizations.

Other Information

  • Previously, get_market_event_multiplier() always returned a constant baseline:
def get_market_event_multiplier(current_date):
    return "Normal", 1.0, 1.0

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the retail data generator’s growth/event logic to produce more realistic seasonality by applying date-driven multipliers for major retail events, and refreshes included sample outputs to reflect the new generation behavior.

Changes:

  • Implemented calendar-aware market event detection in get_market_event_multiplier() (Memorial Day, Black Friday/Cyber Monday, Holiday Rush, Christmas Day).
  • Updated the generated sales summary to reflect new seasonal patterns/aggregates.
  • Regenerated a sample finance account CSV for the camping domain.

Reviewed changes

Copilot reviewed 2 out of 18 changed files in this pull request and generated 2 comments.

File Description
src/fabric/datagen/business_growth_logic.py Adds dynamic, date-based market event multipliers to influence order frequency/size.
src/fabric/datagen/output/sample_sales_data_summary.md Updates the included generation summary metrics to match new event behavior.
src/fabric/datagen/output/finance/camping/Account_Samples_Camping.csv Refreshes the sample camping finance accounts dataset.

Comment on lines +66 to +69
Includes:
- Memorial Day Weekend: 1.4x frequency, 1.2x size
- Black Friday / Cyber Monday: 1.8x frequency, 1.3x size
- Holiday Rush (Dec 10-24): 1.5x frequency, 1.25x size
Comment thread src/fabric/datagen/business_growth_logic.py Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@vijayrajeshr

Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 18 changed files in this pull request and generated 1 comment.

Comment on lines +2 to +4
53509791-8778-41a9-9bc3-4ff32a9d0159,ACC-Camping-1000,CID-001,Receivable,Active,2025-01-01,,0.0,USD,Customer receivable account (Camping),SampleGen
2876a632-b6a5-41d3-9ac8-0daca7db086c,ACC-Camping-1001,CID-002,Receivable,Active,2025-01-01,,0.0,USD,Customer receivable account (Camping),SampleGen
bdc07886-ef98-4807-9695-f706738ece24,ACC-Camping-1002,CID-003,Receivable,Active,2025-01-01,,0.0,USD,Customer receivable account (Camping),SampleGen

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants