So I'm testing the & feature(correlated tests):
- My test matrix is as follows:
{
"tests": {
"testaichorn": {
"description": "testing if the AI model is better than old model",
"version": 1,
"rule": null,
"constants": {
},
"salt": "testaichorn",
"buckets": [
{
"name": "inactive",
"value": -1,
"description": "the inactive case",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "control",
"value": 0,
"description": "the control case (stays old model)",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "AI model",
"value": 1,
"description": "AI model, trained by someone at date ddmmyy",
"payload": {
"stringValue": "some val 2"
}
},
{
"name": "some other model",
"value": 2,
"description": "neon green to really get the user's attention",
"payload": {
"stringValue": "some val 3"
}
}
],
"allocations": [
{
"rule": null,
"ranges": [
{
"length": 0.0,
"bucketValue": -1
},
{
"length": 0.3,
"bucketValue": 1
},
{
"length": 0.4,
"bucketValue": 0
},
{
"length": 0.3,
"bucketValue": 2
}
]
}
],
"testType": "USER"
},
"some test 1": {
"description": "this test is correlated with test 2",
"version": 1,
"rule": null,
"constants": {
},
"salt": "&correlatedtest",
"buckets": [
{
"name": "inactive",
"value": -1,
"description": "the inactive case",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "control",
"value": 0,
"description": "the control case (stays old model)",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "AI model",
"value": 1,
"description": "AI model, trained by someone at date ddmmyy",
"payload": {
"stringValue": "some val 2"
}
},
{
"name": "some other model",
"value": 2,
"description": "neon green to really get the user's attention",
"payload": {
"stringValue": "some val 3"
}
}
],
"allocations": [
{
"rule": null,
"ranges": [
{
"length": 0.0,
"bucketValue": -1
},
{
"length": 0.3,
"bucketValue": 1
},
{
"length": 0.4,
"bucketValue": 0
},
{
"length": 0.3,
"bucketValue": 2
}
]
}
],
"testType": "USER"
},
"some test 2": {
"description": "this test is correlated with test 1",
"version": 1,
"rule": null,
"constants": {
},
"salt": "&correlatedtest",
"buckets": [
{
"name": "inactive",
"value": -1,
"description": "the inactive case",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "control",
"value": 0,
"description": "the control case (stays old model)",
"payload": {
"stringValue": "some val 1"
}
},
{
"name": "AI model",
"value": 1,
"description": "AI model, trained by someone at date ddmmyy",
"payload": {
"stringValue": "some val 2"
}
},
{
"name": "some other model",
"value": 2,
"description": "neon green to really get the user's attention",
"payload": {
"stringValue": "some val 3"
}
}
],
"allocations": [
{
"rule": null,
"ranges": [
{
"length": 0.0,
"bucketValue": -1
},
{
"length": 0.3,
"bucketValue": 1
},
{
"length": 0.4,
"bucketValue": 0
},
{
"length": 0.3,
"bucketValue": 2
}
]
}
],
"testType": "USER"
}
},
"audit": {
"version": 4,
"updatedBy": "Amit Gelber",
"updated": 1
}
}
{
"data" : {
"groups" : {
"testaichorn" : {
"name" : "AI model",
"value" : 1,
"payload" : {
"stringValue" : "some val 2"
},
"version" : "1"
},
"some test 1" : {
"name" : "AI model",
"value" : 1,
"payload" : {
"stringValue" : "some val 2"
},
"version" : "1"
},
"some test 2" : {
"name" : "AI model",
"value" : 1,
"payload" : {
"stringValue" : "some val 2"
},
"version" : "1"
}
},
"context" : {
"country" : "US",
"loggedIn" : false,
"userAgent" : {
"os" : {
"version" : "",
"majorVersion" : -1,
"minorVersion" : -1,
"family" : "mac_os_x"
},
"version" : {
"version" : "87.0.4280.67",
"major" : 87,
"minor" : 0
},
"userAgentString" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36",
"android" : false,
"browser" : "CHROME8",
"browserVersion" : {
"version" : "87.0.4280.67",
"majorVersion" : "87",
"minorVersion" : "0"
},
"operatingSystem" : "MAC_OS_X",
"deviceType" : "COMPUTER",
"tablet" : false,
"ios" : false,
"chromeForIOS" : false,
"windowsPhone" : false,
"mobileDevice" : false,
"smartPhone" : false,
"phone" : false,
"dumbPhone" : false
}
},
"audit" : {
"version" : "4",
"updated" : 1,
"updatedDate" : "1969-12-31T18:00-0600",
"updatedBy" : "Amit Gelber"
}
},
"meta" : {
"status" : 200
}
}
- Some test 1 supposed to be correlated with some test 2.
- I used for both tests "&correlatedtest" at the salt field.
- Expected: in test 1, user id 2 gets treatment, in test 2, user id 2 gets control( or the other way around).
- What I got: in both cases user id 2 got treatment( AI model )