Michael Myaskovsky via Elementary: Fix monetary unit inconsistency causing ROAS anomaly #395
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The anomaly detection test on RETURN_ON_ADVERTISING_SPEND is failing because of a unit inconsistency between the
historical_orders
andreal_time_orders
models.real_time_orders
model properly converts monetary values from cents to dollars using thecents_to_dollars
macrohistorical_orders
model doesn't perform any conversion, keeping values in centsWhen these models are unioned in the
orders
model, this creates inconsistent units that flow through the pipeline, causing ROAS calculations to be significantly off.Solution
This PR:
historical_orders.sql
to convert monetary values from cents to dollars using thecents_to_dollars
macro, just likereal_time_orders
doesreal_time_orders.sql
to make it explicit that monetary amounts are in dollarsTesting
After this change, the unit consistency should be fixed and the anomaly detection test should pass once the models are rerun.
Created by:
[email protected]