stratascratch
  • Interview Questions
    • Interview Loops
    • Analytical
    • Algorithm
    • ML Coding
    • Stats Coding
    • Visualization
    • Concept
  • Data Labs
    • Discover
    • Your Notebooks
  • Mock Interview
  • Learn
  • Blog
  • Pricing
  • About
Log in
  • Interview Questions

    • Interview Loops
    • Analytical
    • Algorithm
    • ML Coding
    • Stats Coding
    • Visualization
    • Concept
  • Data Labs

    • Discover
    • Your Notebooks
  • Mock Interview
  • Learn
  • Blog
  • Pricing
  • About
Log inSign up
Back to Mini Analyses
  1. Assignment
  2. Your Solution
  3. Solution
  4. Solutions from Users
  5. Discussion

Currency Settlement Conversion

You must be logged in to download the datasets

Stripe: Convert settlement amounts between currencies using rates published against the US dollar.

Assignment

You're an analyst on the treasury operations team at Stripe. A batch of settlement requests needs to be converted between currencies before payouts go out. The rates team publishes each currency's rate against the US dollar, and those rates arrive as coded strings from an upstream system, so part of the job is getting them into a usable form.

Deliverables

  • Each settlement request converted from its source currency to its target currency using the provided rates.
  • A clear, reusable approach for finding the right conversion factor for any currency pair in the batch.
  • A note on any requests that can't be converted with the rates provided, and how you handled them.
  • A short closing report of your findings for the treasury operations team, including anything they should double-check before relying on the numbers.

Data Description

stripe_exchange_rates.csv:

  • rate_id
  • rate_code - coded string from the upstream system with the currency pair and the rate against the US dollar, e.g. USD:EUR:0.9132

stripe_settlement_requests.csv:

  • request_id
  • amount - the amount to convert
  • from_currency - source currency
  • to_currency - target currency

Practicalities

You can solve this in Python, SQL, or a mix of both — StrataScratch notebooks support both languages in the same notebook.

Assume this data comes directly from the rates feed and the settlement queue and hasn't been cleaned, so review it carefully before relying on the numbers. When something looks off, work out what it is and decide how to handle it; when a definition or a final decision is genuinely ambiguous, choose a reasonable option and explain why. There's often more than one valid way to compute a result, so explain the approach you take and the reasoning behind your choices.

What's assessed: your results, and how clearly you explain what you see in the data and justify the choices you make.

This question is part of an interview loop

See the full interview round by round, with questions for each stage.

Fintech & payments · Data Analyst