FastPrepTop Customers by Six-Month Transaction Amount

Top Customers by Six-Month Transaction Amount

Mastercard logoMastercard● MediumFULLTIMEPHONE SCREEN

Problem statement

Find the ten customers with the highest total transaction amount during the six calendar months before the supplied as-of date.

The window starts six calendar months before as_of_date, inclusive, and ends at as_of_date, exclusive. Return customer_id and total_transaction_amount.

Table schema

MySQLPostgreSQLPandas

Use the same input data with any supported language. Open the Schema tab in the editor to see the generated SQL setup or Pandas DataFrames.

transactions

ColumnTypeNullableDescription
transaction_idPKIntegerNo—
customer_idIntegerNo—
transaction_dateDateNo—
transaction_amountDecimalNo—

analysis_params

Contains exactly one row with param_id 1.

ColumnTypeNullableDescription
param_idPKIntegerNo—
as_of_dateDateNo—

Expected result

Your query or function must return these columns.

ColumnTypeNullableDescription
customer_idIntegerNo—
total_transaction_amountDecimalNo—

Row order: must match exactly. Numeric tolerance: 0.

Constraints

  • analysis_params contains exactly one row with param_id = 1.
  • Customers without an in-window transaction are omitted.
  • Sort totals descending and break ties by customer ID ascending.

More Mastercard problems

See Mastercard hiring insights