Challenges/calculate-customer-loyalty-tiers-from-transaction-history
DataWeaveADVANCED

Calculate Customer Loyalty Tiers from Transaction History

This challenge involves processing a flat list of customer transactions to calculate total spending per customer and assign them to a loyalty tier. You will practice a powerful combination of aggregation and transformation functions to restructure data from a flat array into an aggregated JSON array. This pattern is essential for building summary reports, analytics payloads, and preparing data for CRM systems.

#rest-api#dwl::core#pluck
// READY TO BEGIN

Make it
count.

  • 2 attempts on every challenge
  • XP points & leaderboard scored
  • Public profile & shared trail
  • Newsletter weekly with API replay
// Built by practitioners

The fastest way
to learn integration.

Every challenge ships with a real-world payload, a graded test suite, and a walkthrough by a practitioner. No surface-level theory — just problems, solved.

Challenges
Modules
// You're reading in preview mode

You can read everything.
Coding requires an account.

🔒 IDE locked · sign in to enable
%dw 2.0
output application/json
---
payload
// Sign up to run, submit, and earn XP on this challenge
// Be first to rate this challenge!SCROLL TO READ ↓

The fastest way
to learn integration.

01.
Production payloads
Real CSV/JSON/XML you'll meet on day one — null fields, mixed casing, partial records.
02.
Design problems
What practitioners actually solve — null-safety, idempotency, retries, batch boundaries.
03.
Edge cases that break
Empty arrays, type coercion, deeply nested transforms, locale-specific dates.
CHALLENGES
MODULES
// Free forever · No credit card

Sign up.
Then code.

Free accounts get 3 attempts per challenge, full XP, and your trail progress synced across devices.

▶ Sign up freeHave an account? Sign in →
// WHAT YOU'LL BUILDHOW IT WORKS ↓
01.
Live DataWeave editor
Real DWL 2.0 IDE with helpers, modules, syntax highlighting.
02.
Test cases run on real runner
Same Go runner used in prod. Diffs show exactly which fields fail.
03.
3 graded attempts
Submit when you're ready. Score persists. Solution unlocks after pass or last attempt.
04.
Helpers & multi-module DWL
Bring in reusable %dw modules. Import, export, compose.
05.
XP & leaderboard
Points + XP awarded per challenge. Trail progress synced.
06.
Production-style payloads
Real CSV/JSON/XML — null fields, mixed casing, partial records.